具有属性和内容的XML标记的XSD定义

时间:2012-06-12 12:06:23

标签: xml xsd

我编写了一个XSD和一个XML。在我的XML中,我想要一个像这样的标签

<main name="">My text</main>

在我的xsd中,我尝试了这个

<xs:element name="main" type="xs:string">
    <xs:complexType>
        <xs:attribute name="name" use="required" />
    </xs:complexType>
</xs:element>

这不起作用。任何人都可以告诉我在XSD中定义它的正确方法是什么。

1 个答案:

答案 0 :(得分:2)

您需要使用simpleContent并将其扩展(将内容定义为类型字符串),以便添加属性:

  <xs:element name="main">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="name" type="xs:string" use="required"/> 
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>