必须在xml!DOCTYPE!ELEMENT中需要(a,b)中的一个

时间:2011-02-11 21:41:03

标签: xml dtd

嘿所有,   如何指定两个元素标签,以便只需要一个标签?

谢谢!

1 个答案:

答案 0 :(得分:4)

您是指XML DTD中的元素声明吗?

以下声明表示元素“name”必须只有一个“a”或“b”元素。

<!ELEMENT name (a | b) >

这是一个示例实例(使用内部子集而不是外部DTD):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE name [
<!ELEMENT name (a | b) >
<!ELEMENT a (#PCDATA)>
<!ELEMENT b (#PCDATA)>
]>
<name>
  <a/>
</name>

注意:这个问题的标题中的“(a,b)”恰好意味着一个“a”元素,后面跟着一个“b”元素。

以下是一个模式示例,以防万一:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="name">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="a"/>
        <xs:element ref="b"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="a" type="xs:string"/>
  <xs:element name="b" type="xs:string"/>
</xs:schema>
相关问题