Xml 在XSD中创建不同的元素
我修改了一个XSD来添加新项,而不必创建新的XSD。目前,我有一个单一的元素在这种情况下是“轮胎” 我创建了一个类型为“tire”的元素 XMLXml 在XSD中创建不同的元素,xml,xsd,xsd-validation,Xml,Xsd,Xsd Validation,我修改了一个XSD来添加新项,而不必创建新的XSD。目前,我有一个单一的元素在这种情况下是“轮胎” 我创建了一个类型为“tire”的元素 XML <?xml version="1.0" encoding="UTF-8"?> <tire trademark="runway" id="369954" product-type="tire"> <url>http://www.tire.es/product/369954.html</url> &l
<?xml version="1.0" encoding="UTF-8"?>
<tire trademark="runway" id="369954" product-type="tire">
<url>http://www.tire.es/product/369954.html</url>
<price>28.95</price>
<specs>
<spec name="b_homologation">0</spec>
<spec name="b_xl">0</spec>
<spec name="b_runflat">0</spec>
<spec name="s_drawing_type">simétrico</spec>
<spec name="s_consumption">f</spec>
<spec name="i_noise">69</spec>
<spec name="s_grip">c</spec>
</specs>
</tire>
http://www.tire.es/product/369954.html
28.95
0
0
0
西梅特里科
F
69
C
XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:x="http://www.w3.org/2001/XMLSchema">
<xs:element name="tire" type="x:tire" />
<xs:complexType name="product">
<xs:sequence>
<xs:element type="xs:anyURI" name="url" />
<xs:element type="xs:double" name="price" />
<xs:element name="specs" maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="spec" maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="name"
use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="features" maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="feature" maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="name"
use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="id" />
<xs:attribute type="xs:string" name="product-type" />
</xs:complexType>
<xs:complexType name="tire">
<xs:complexContent>
<xs:extension base="product">
<xs:attribute type="xs:string" name="model" />
<xs:attribute type="xs:string" name="trademark" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="products">
<xs:complexType>
<xs:sequence>
<xs:element name="tire" maxOccurs="unbounded"
minOccurs="0" type="x:tire" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
新产品将它们添加为元素
<xs:element name="glass" maxOccurs="unbounded" minOccurs="0" type="x:glass" />
谢谢。类型“tire”不在XSD名称空间中,它在模式文档的目标名称空间中,在本例中是“no namespace”。所以它应该是type=“tire”而不是type=“x:tire”
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:x="http://www.w3.org/2001/XMLSchema">
<xs:element name="tire" type="x:tire" />
<xs:complexType name="product">
<xs:sequence>
<xs:element type="xs:anyURI" name="url" />
<xs:element type="xs:double" name="price" />
<xs:element name="specs" maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="spec" maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="name"
use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="features" maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="feature" maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="name"
use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="id" />
<xs:attribute type="xs:string" name="product-type" />
</xs:complexType>
<xs:complexType name="tire">
<xs:complexContent>
<xs:extension base="product">
<xs:attribute type="xs:string" name="model" />
<xs:attribute type="xs:string" name="trademark" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="products">
<xs:complexType>
<xs:sequence>
<xs:element name="tire" maxOccurs="unbounded"
minOccurs="0" type="x:tire" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<xs:element name="glass" maxOccurs="unbounded" minOccurs="0" type="x:glass" />