0

我的 dtd 文件有问题。我正在为订购单写这个。订购单上有外壳颜色、电池数量、充电器、武器、相机和语音。我想做的是合并手臂的长度。我的手臂代表客户选择的手臂数量,手臂长度是每条手臂的长度。但我不确定如何将其写入 dtd 文件。到目前为止,这是我的 dtd 文件。

<?xml version="1.0"?>
<!DOCTYPE orders [
<! ELEMENT orders (order)>
<! ELEMENT order (case, batteries, recharger, arm, camera, speech)>
<! ELEMENT case (#PCDATA)>
<! ELEMENT batteries (#PCDATA)>
<! ELEMENT recharger (#PCDATA)>
<! ELEMENT arm (#PCDATA)>
<! ELEMENT camera (#PCDATA)>
<! ELEMENT speech (#PCDATA)>
]>

这就是我想在显示 xml 文件时设置长度的方式

<arm> 2 
 <length> 50 </length>
 <length> 75 </length>
</arm>
4

1 回答 1

1

您是否尝试将手臂长度作为属性添加到手臂元素?如果是这样,这应该工作:

<!DOCTYPE orders [
<!ELEMENT orders (order)>
<!ELEMENT order (case, batteries, recharger, arm, camera, speech)>
<!ELEMENT case (#PCDATA)>
<!ELEMENT batteries (#PCDATA)>
<!ELEMENT recharger (#PCDATA)>
<!ELEMENT arm (#PCDATA)>
<!ATTLIST arm
          length CDATA #REQUIRED>
<!ELEMENT camera (#PCDATA)>
<!ELEMENT speech (#PCDATA)>
]>

如果您不希望该length属性是必需的,请更改#REQUIRED#IMPLIED.

此外,由于您的orders元素只允许一个order元素orders,因此并不真正需要。也许你想允许不止一个order?( <!ELEMENT orders (order+)>)

于 2012-04-06T18:33:06.287 回答