从 DTDs 转换到 XML Schemas 时元素和属性的变化
从 DTDs 转换到 XML Schemas 时元素和属性的变化 从 DTDs 转换到 XML Schemas 时元素和属性的变化DTDXML Schema<!ELEMENT ROOT (A,B) >
<element name="ROOT"> <complexType content="elementOnly"> <element ref="t:A"> <element ref="t:B"> </complexType><element>
<!ELEMENT ROOT (A|B) >
<element name="ROOT"> <complexType content="elementOnly"> <choice> <element ref="t:A"> <element ref="t:B"> </choice> </complexType><element>
<!ELEMENT ROOT (A|(B,C)) >
<element name="ROOT"> <complexType content="elementOnly"> <choice> <element ref="t:A"> <sequence> <element ref="t:B"> <element ref="t:C"> </sequence> </choice> </complexType><element>
<!ELEMENT ROOT (A?,B+,C*) >
<element name="ROOT"> <complexType content="elementOnly"> <element ref="t:A" minOccurs="0"> <element ref="t:B" maxOccurs="unbounded"> <element ref="t:C" minOccurs="0" maxOccurs="unbounded"> </complexType><element>
DTDXML Schema<!ATTLIST ROOT a CDATA #REQUIRED>
<element name="ROOT"> <complexType content="elementOnly"> <attribute name="a" type="string" use="required"/> </complexType><element>
<!ATTLIST ROOT a CDATA #IMPLIED>
<element name="ROOT"> <complexType content="elementOnly"> <attribute name="a" type="string" use="optional"/> </complexType><element>
<!ATTLIST ROOT a (x|y|z) #REQUIRED;>
<element name="ROOT"> <complexType content="elementOnly"> <attribute name="a"> <simpleType base="string"> <enumeration value="x"/> <enumeration value="y"/> <enumeration value="z"/> </simpleType> </attribute> </complexType><element>
<!ATTLIST ROOT a CDATA #FIXED "x">
<element name="ROOT"> <complexType content="elementOnly"> <attribute name="a" type="string" use="fixed" value="x"/> </complexType><element>