Mega Code Archive

 
Categories / XML / XML Schema
 

Define xml schema for a styled letter

File: Data.xml <?xml version="1.0"?> <letter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:noNamespaceSchemaLocation="Schema.xsd">   <greeting><hello/> Bob!</greeting>   <body>     text     <item/>      text     <price/>     text     text     <arrivalDate/>.   </body>   <closing>Just closing.<lax/></closing> </letter> File: Schema.xsd <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">   <xsd:element name="letter">     <xsd:complexType mixed="true">       <xsd:sequence>         <xsd:element name="greeting">           <xsd:complexType mixed="true">             <xsd:choice>               <xsd:element name="hello"/>               <xsd:element name="hi"/>               <xsd:element name="dear"/>             </xsd:choice>           </xsd:complexType>         </xsd:element>         <xsd:element name="body">           <xsd:complexType mixed="true">             <xsd:all>               <xsd:element name="item"/>               <xsd:element name="price"/>               <xsd:element name="arrivalDate"/>             </xsd:all>           </xsd:complexType>         </xsd:element>         <xsd:element name="closing">           <xsd:complexType mixed="true">             <xsd:complexContent>               <xsd:restriction base="xsd:anyType">                 <xsd:sequence>                   <xsd:any processContents="lax"/>                 </xsd:sequence>               </xsd:restriction>             </xsd:complexContent>           </xsd:complexType>         </xsd:element>       </xsd:sequence>     </xsd:complexType>   </xsd:element> </xsd:schema>