XML模式-如何添加;type=xs:string";变成一个复杂的元素?

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

我得到了以下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'> 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
元素级别执行此操作。