我可以在XML中使用带有枚举值列表的#Required关键字吗?
喜欢,
<!ATTLIST item type CDATA (offer|request) "offer" #REQUIRED>
谢谢..
答案 0 :(得分:2)
没有这样的组合,如:
<!ATTLIST item type (offer|request) #REQUIRED>
但我不确定CDATA定义是否有选择,并且默认值和所需的组合也不行。试试http://www.validome.org/grammar/validate/
此致
JK。
答案 1 :(得分:2)
没有。
根据XML Specification Attribute List Declarations,您可以将属性声明为
<!ATTLIST' element-name attribute-definitions* >
其中attribute-definitions
的格式为
attribute-name attribute-type default-declaration
属性类型可以是
CDATA
ID
IDREF
IDREFS
ENTITY
ENTITIES
NMTOKEN
NMTOKENS
或 |
分隔
例如:( token1 | token2 | token3 )
。 没有其他选择。
此外,default-declaration
允许一个值:
#REQUIRED
#IMPLIED
#FIXED "fixed value"
"default value"
也没有其他选择。因此,如果您拥有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>
答案 2 :(得分:-1)
我发现了:) 这是不可能的 :) 我们不能将#required关键字与XML中的枚举值列表一起使用,如
<!ATTLIST item type CDATA (offer|request) "offer" #REQUIRED>
我用验证器检查了它,并且#REQUIRED ...
给出了错误