如何在XSD中指定元素的内容?

时间:2009-09-09 21:14:47

标签: xml xsd

我的XML看起来像这样:

<Parameter Name="parameter name" Value="parameter value" />
我在XSD中定义的

是这样的:

<xs:complexType name="Parameter">
   <xs:attribute name="Name" type="xs:string" use="required" />
   <xs:attribute name="Value" type="xs:string" use="required" />
</xs:complexType>

但我真正想要的是XML看起来像这样:

<Parameter Name="parameter name">parameter value<Parameter/>

我无法弄清楚我是如何在XSD中这样做的。 XSD怎么样?

2 个答案:

答案 0 :(得分:4)

你想要一个只能包含文本的复杂元素 - 换句话说,就是文本和属性。

这是使用“simpleContent”说明符完成的,如下所示:

<xs:element name="Parameter">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Name" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

答案 1 :(得分:0)

从XML Schema开始,primer应该为您提供一些起点。