2014-03-12 33 views

回答

-1

我發現它:) 它不可能:) 我們不能使用在XML枚舉值列表#REQUIRED關鍵字像

<!ATTLIST item type CDATA (offer|request) "offer" #REQUIRED> 

我用驗證器檢查過它,並給#REQUIRED給出錯誤..

+2

請添加您的解決方案作爲您的答案的一部分。 – CSchulz

+1

這不提供問題的答案。要批評或要求作者澄清,請在其帖子下方留言。 – aksu

+1

請不要添加「謝謝」作爲答案。相反,投票答案,你覺得有幫助。 –

2

它的罰款,有像這樣的組合:

<!ATTLIST item type (offer|request) #REQUIRED> 

但我不知道CDATA定義選擇的情況下,也默認值的組合和要求的也不行。嘗試http://www.validome.org/grammar/validate/

問候

JK。

2

按照XML Specification Attribute List Declarations可以聲明atributes作爲

<!ATTLIST' element-name attribute-definitions* > 

其中attribute-definitions具有格式

attribute-name attribute-type default-declaration 

的屬性類型可以是

一個
  • CDATA
  • ID
  • IDREF
  • IDREFS
  • ENTITY
  • ENTITIES
  • NMTOKEN
  • NMTOKENS
  • 枚舉括號內由|分隔的不同NMTOKENS。
    例如:(token1 | token2 | token3)

沒有其他選擇。

此外,default-declaration允許值的一個

  • #REQUIRED
  • #IMPLIED
  • #FIXED "fixed value"
  • "default value"

有也是n o其他選項。所以如果你有CDATA,你不能有(offer|request),並且如果你有#REQUIRED你不能像你寫的那樣有#REQUIRED "offer""offer" #REQUIRED。一些有效的選項取決於你想要的是:

<!ATTLIST item type (offer|request) "request"> 
<!ATTLIST item type (offer|request) #REQUIRED> 
<!ATTLIST item type CDATA "offer"> 
<!ATTLIST item type CDATA #REQUIRED> 
+1

綜合答案。 :) –