创建没有正文的xml类型

时间:2010-06-11 16:56:43

标签: xml xsd

希望这是一个简单的问题。如何定义XML类型,使类型没有正文。

作为一个例子,我可以定义Foo类型如下......

<xs:complexType name="Foo">
    <xs:simpleContent>
        <xs:extension base="xs:string">
            <xs:attribute name="id" type="xs:integer" use="required"/>
        </xs:extension>
    </xs:simpleContent>
</xs:complexType>

但这样可以实现以下目标......

<Foo id="7">STUFF I DON'T WANT</Foo>

有没有办法可以更改xsd,以便不允许任何身体使用Foo元素?

2 个答案:

答案 0 :(得分:3)

我相信这就是你想要的:

<xs:complexType name="Foo">
    <xs:attribute name="id" type="xs:integer" use="required"/>
</xs:complexType>

答案 1 :(得分:0)

像这样:

<xsd:element name="foo">
  <xsd:complexType>
    <xsd:complexContent>
      <xsd:restriction base="xsd:anyType">
        <xs:attribute name="id" type="xs:integer" use="required"/>
      </xsd:restriction>
    </xsd:complexContent>
  </xsd:complexType>
</xsd:element>