来自XML元素的XSD Schema,包含属性和子元素

时间:2013-06-10 09:49:30

标签: xml xsd

我有一个包含一些元素的xml文件:

<item name="some_name1" type="text">some_text1</param>
<item name="some_name2" type="text">some_text2</param>
<item name="some_name3" type="text">
    <line>some_line1</line>
    <line>some_line2</line>
    <line>some_line3</line>
</item>

这些元素的架构:

<xs:element name="item" minOccurs="0" maxOccurs="100">
    <xs:complexType>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="name" type="xs:string" use="required"/>
                <xs:attribute name="type" type="xs:string" use="required"/>
            </xs:extension>
        </xs:simpleContent>                                               
    </xs:complexType>
</xs:element>

不幸的是,这不支持line子元素。我尝试以不同的方式添加新元素,但不幸的是,仍然做错了。

1 个答案:

答案 0 :(得分:0)

尝试:

<xs:element name="item" minOccurs="0" maxOccurs="100">
  <xs:complexType mixed="true" >
    <xs:sequence>
      <xs:element name="line" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="name" type="xs:string" use="required"/>
    <xs:attribute name="type" type="xs:string" use="required"/>
  </xs:complexType>
</xs:element>

item定义为具有line子元素和混合内容的元素 - 即也可以包含文本。