2012-04-06 75 views
0

我遇到了我的dtd文件的問題。我正在寫這個訂單。訂單有一個錶殼顏色,電池數量,充電器,手臂,相機和語音。我想要做的是加入武器的長度。我有武器代表顧客選擇的武器數量,而武器長度是每個武器的長度。但我不知道如何寫在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> 

回答

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+)>