我有一個名為 item_category 的屬性,我想用作列舉值 (h/w | s/w)。那可能嗎?如果是怎么回事?基本上我試過:
<!ATTLIST item
item_category (h/w | s/w) #REQUIRED>
但是我得到了像這樣的錯誤Expecting "|".,所以它實際上Missing attribute presence #IMPLIED, #Required...并Expecting ")".沒有將斜杠作為一個值。
uj5u.com熱心網友回復:
我不認為你可以直接。
an 中的列舉值ATTLIST必須是NOTATION或NMTOKEN。
https://www.w3.org/TR/REC-xml/#NT-AttlistDecl
[定義:列舉屬性在其宣告中有一個允許值串列]。他們必須采用這些值之一。列舉屬性型別有兩種:
列舉屬性型別 [57] EnumeratedType ::= NotationType | 列舉
[58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' [VC: Notation Attributes] [VC: One Notation Per Element Type] [VC :空元素上沒有符號] [VC:沒有重復的標記]
[59] 列舉 ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')' [VC: Enumeration] [VC: No Duplicate Tokens]
a/的值中不允許有NMTOKENA。
它被允許作為 a 的值NOTATION。
<!NOTATION hw PUBLIC "h/w">
<!NOTATION sw PUBLIC "s/w">
<!ATTLIST item
item_category NOTATION (hw|sw) #REQUIRED>
]>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/484396.html
下一篇:如何將動態XML資料解組為結構?
