2012-04-06 15 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

あなたは属性としてアーム要素に腕の長さを追加しようとしていることを?もしそうなら、これは動作するはずです:あなたはlength属性が必要になることがしたくない場合は

<!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)> 
]> 

を、#IMPLIED#REQUIREDを変更します。

また、orders要素は1つしか許可しないため、order要素ordersは実際には必要ありません。おそらく複数のものを許可したいのですがorder? (<!ELEMENT orders (order+)>

関連する問題