【问题标题】:dtd elements and attributesdtd 元素和属性
【发布时间】:2012-04-07 17:11:01
【问题描述】:

我的 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>

【问题讨论】:

    标签: xml dtd


    【解决方案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? (&lt;!ELEMENT orders (order+)&gt;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多