XML模式-如何添加;type=xs:string";变成一个复杂的元素?
我得到了以下XML字符串:XML模式-如何添加;type=xs:string";变成一个复杂的元素?,xml,xsd,schema,Xml,Xsd,Schema,我得到了以下XML字符串: <dyn_banner> <pattern>header.jpg</pattern> <param id='1'>attributes[123]</param> <param id='2'>attributes[456]</param> <param id='X'> etc. <param id='X'> countin
<dyn_banner>
<pattern>header.jpg</pattern>
<param id='1'>attributes[123]</param>
<param id='2'>attributes[456]</param>
<param id='X'> etc.
<param id='X'> counting ...
.
.
.
</dyn_banner>
header.jpg
属性[123]
属性[456]
等
计数。。。
.
.
.
到目前为止,我在XSD中成功地实现了这一点:
<xs:element name="dyn_banner">
<xs:complexType>
<xs:sequence>
<xs:element name="pattern" type="xs:string"/>
<xs:element name="param" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="id" type="xs:integer"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
我现在的问题是,我不清楚如何告诉XML模式元素“param”确实包含字符串(此处:attributes[123等]。我设法解决了主要问题。 -标记之间的字符串由simpleContent和extension标记定义:
<xs:element name="dyn_banner">
<xs:complexType>
<xs:sequence>
<xs:element name="pattern" type="xs:string"/>
<xs:element name="param" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:int" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
ID仍然可以是相同的数字,这是我需要在下一步中解决的问题。保持ID的不同-您可以使用
xs:unique
在dyn_banner
元素级别执行此操作。