Xml 元素只能有两个文本值中的一个?

Xml 元素只能有两个文本值中的一个?,xml,dtd,Xml,Dtd,我正在构建一个DTD,它有一个燃料系统元素 我想将文本限制在标记之间。只能对其进行渗碳或燃油喷射。我该怎么做 我没有提到像这样的=>属性类型(化油器,燃油喷射),因为我想在标记中强制执行此规则,而不是燃油系统的属性在DTD中定义元素时,无法限制元素内部的文本。您只能知道它可能包含哪些其他元素(子元素)及其顺序,或者可以知道该元素包含文本,或者是2的混合 因此,基本上您有两个选项来限制:要么将其声明为属性(),要么声明子元素和。这两个选项之间的选择取决于您试图描述的内容以及燃油系统类型的变化 (定

我正在构建一个DTD,它有一个
燃料系统
元素

我想将文本限制在
标记之间。只能对其进行
渗碳
燃油喷射
。我该怎么做


我没有提到像这样的=>属性类型(化油器,燃油喷射),因为我想在
标记中强制执行此规则,而不是
燃油系统的属性

在DTD中定义元素时,无法限制元素内部的文本。您只能知道它可能包含哪些其他元素(子元素)及其顺序,或者可以知道该元素包含文本,或者是2的混合

因此,基本上您有两个选项来限制
:要么将其声明为属性(
),要么声明子元素
。这两个选项之间的选择取决于您试图描述的内容以及燃油系统类型的变化

(定义了元素声明的语法)

示例:第一个选项,属性

<!ELEMENT fuel-system EMPTY>
<!ATTLIST fuel-system (fuel-injected|carburated) #REQUIRED>

第二种选择,子元素

<!ELEMENT fuel-system (fuel-injected|carburated)>
<!ELEMENT fuel-injected ...>
<!ELEMENT carburated ...>

它是否具有成为DTD的功能?XML模式是一种选择吗

:



我说服我的老师,这在DTD中是不可能的,我将按照您的回答构建我的DTD。谢谢您的回答:)您的回答是我职责的另一个答案。非常感谢:)
<xs:element name="fuel-system">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="fuel-injected"/>
      <xs:enumeration value="carbourated"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>