2015-05-08 58 views
1

試圖達到這樣的在XML DTD中,屬性如何具有兩個值?

ATTLIST employee role (leader|analyst|leader,analyst) 

,我不能把它變成一個元素;它需要是一個屬性。

看來DTD在其表達式中不喜歡逗號。

+0

使用空格而不是逗號。這就是html類屬性的工作原理。雖然技術上它只是定義爲一個字符串,而不是在xhtml DTD中具有任何結構 – slebetman

回答

1

XML中的屬性不能包含元素。

你真的會反對穀物試圖以任何方式添加結構的屬性。如果您必須這樣做,請保持簡單:您可以通過空格或逗號分隔值來表示列表。進一步運行需要一個獨立於XML解析器的獨立微分析器來解析屬性值。這不是一個好主意,不要指望從DTD超出了支持,這是由NMTOKENS提供,IDREFSENTITIES

參見:XML Element vs XML Attribute

+1

如果您使用XML Schema來描述文檔,那麼您可以使用「list」類型。 –

0

你可以這樣做:

<!ATTLIST employee role (leader|analyst|leader) "analyst"> 
相關問題