我正在构建一个具有fuel_system元素的DTD.
我想限制< fuel_system>之间的文本.标签.它必须只是化油或燃油喷射.我怎样才能做到这一点?
我没有提到像这样的东西=>属性类型(化油器,燃油喷射),因为我想在< fuel_system>中强制执行此规则标签,而不是fuel_system的属性.
在DTD中定义元素时,无法限制元素内的文本.你只能告诉它可能包含的其他元素(子元素)及其顺序,或者你可以告诉该元素包含文本或2的混合.
所以,基本上你有两个限制< fuel-system>的选项:要么将它声明为属性(< fuel-system type =“fuel-inject”/>),要么声明子元素< fuel-inject> ;和< carburated>.这两个选项之间的选择取决于您要描述的内容以及根据燃油系统的类型将会发生什么变化.
(元素声明的语法定义为here)
示例:第一个选项,属性
<!ELEMENT fuel-system EMPTY> <!ATTLIST fuel-system (fuel-injected|carburated) #required>
第二个选项,子元素
<!ELEMENT fuel-system (fuel-injected|carburated)> <!ELEMENT fuel-injected ...> <!ELEMENT carburated ...>