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>