- From: Tom Elrod <telrod@e2technologies.net>
- Date: Wed, 6 Jun 2001 15:10:02 -0400 (EDT)
- To: xmlschema-dev@w3.org
I am pretty new to XML Schemas, so sorry if this is a dumb question, but
couldn't find doc on it anywhere.
I am building an XML Schema and I would like one of the elements to
allow any sub-elements of any type (I won't know what they are) and
require that there is one particular sub-element. The schema and sample
XML is included below. The element 'Recipient' is the one that I want
to allow any number of sub elements (such as 'FirstName'), but require
the 'email' element be there.
<?xml version="1.0" encoding="UTF-8"?>
<MailingDefinition
xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="C:\Projects\xml\msgdef.xsd">
<Header>
<Subject>this is a mailing example</Subject>
<MailingName>this is the name of the mailing</MailingName>
<FromName>Tom Elrod</FromName>
<FromAddress>telrod@yahoo.com</FromAddress>
<ReplyTo>telrod@yahoo.com</ReplyTo>
<SendDate>2001-12-31</SendDate>
<!-- Can sufix with a time zone indicator. For example, to indicate
1:20 pm for Eastern Standard Time which is 5 hours behind Coordinated
Universal Time (UTC), one would write: 13:20:00-05:00 -->
<SendTime>13:20:00</SendTime>
<!-- Mailing ID is optional. If not present, then will be generated.
Otherwise, use one specified -->
<MailingID>1001</MailingID>
<!-- Should either have a Recipient element or ListID element -->
<!-- <ListID>3221</ListID>-->
<Recipients>
<Recipient>
<!-- email element is required -->
<email>telrod@e2technologies.net</email>
<FirstName>Tom</FirstName>
<LastName>Elrod</LastName>
<Salutation>Hello</Salutation>
</Recipient>
<Recipient>
<email>telrod@yahoo.com</email>
<FirstName>Thomas</FirstName>
<LastName>Elrod</LastName>
<Salutation>Whatzup</Salutation>
</Recipient>
</Recipients>
</Header>
</MailingDefinition>
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
elementFormDefault="qualified">
<xsd:element name="MailingDefinition">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Header">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Subject" type="xsd:string"/>
<xsd:element name="MailingName" type="xsd:string"/>
<xsd:element name="FromName" type="xsd:string"/>
<xsd:element name="FromAddress" type="xsd:string"/>
<xsd:element name="ReplyTo" type="xsd:string"/>
<xsd:element name="SendDate" type="xsd:date">
<xsd:annotation>
<xsd:documentation>Can sufix with a time zone indicator. For
example, to indicate 1:20 pm for Eastern Standard Time which is 5 hours
behind Coordinated Universal Time (UTC), one would write:
13:20:00-05:00</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="SendTime" type="xsd:time"/>
<xsd:element name="MailingID" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>If not provided, will be generated by Mail
Manager when creating new mailing</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
<xsd:element name="ListID" type="xsd:string"/>
<xsd:element name="Recipients">
<xsd:complexType>
<xsd:all>
<xsd:element name="Recipient" maxOccurs="unbounded">
<xsd:complexType>
<xsd:all>
<xsd:element name="email" type="xsd:string"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Thanks.
-Tom
Received on Monday, 11 June 2001 05:37:20 UTC