Xml 如何使用IDREF
我正在编写一个XML文档,并试图说明它的规范 我认为我可以指定一个标记的属性可以限制为另一个标记的属性,我认为这可以使用Xml 如何使用IDREF,xml,dtd,Xml,Dtd,我正在编写一个XML文档,并试图说明它的规范 我认为我可以指定一个标记的属性可以限制为另一个标记的属性,我认为这可以使用来完成!ATTLIST的IDREF,但我不太确定。例如: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE CUSTOM_RIBBON [ <!ELEMENT CUSTOM_RIBBON (VERSION, ICONS, SCRIPT+, CMD_ID+, CATEGORY)> <
来完成!ATTLIST的IDREF,但我不太确定。例如:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE CUSTOM_RIBBON
[
<!ELEMENT CUSTOM_RIBBON (VERSION, ICONS, SCRIPT+, CMD_ID+, CATEGORY)>
<!ELEMENT ICONS (#CDATA)>
<!ELEMENT SCRIPT (#CDATA)>
<!ELEMENT CMD_ID (SPEC)>
<!ELEMENT CATEGORY (PANEL)>
<!ELEMENT PANEL (BUTTON, GROUP, SEPARATOR)+>
<!ELEMENT GROUP (BUTTON, SEPARATOR)+>
<!ELEMENT BUTTON EMPTY>
<!ATTLIST BUTTON name IDREF #REQUIRED>
<!ELEMENT SEPARATOR EMPTY>
<!ELEMENT VERSION EMPTY>
<!ATTLIST VERSION value CDATA #REQUIRED>
]>
<CUSTOM_RIBBON>
<SCRIPT name="button1-script">
// some script here
messagebox("AHHH!");
</SCRIPT>
<CMD_ID name="button1">
<SPEC pressed="both" script="button1-script" text="boo!" />
</CMD>
<CATEGORY name="Foo">
<PANEL name="Bar">
<BUTTON name="button1" />
</PANEL>
</CATEGORY>
<CUSTOM_RIBBON>
]>
//这里有一些脚本
消息框(“啊哈!”);
我想具体说明:
按钮
标记必须具有一个属性名称
,该属性在CMD\u ID
标记的名称
属性中必须具有相同的文本
CMD-ID
标记有一个script
属性,该属性在script
标记的name
属性中必须具有相同的文本
- 如果
CMD\u ID
的SPEC
具有按下的属性和,则不能有兄弟姐妹
- 如果
CMD_ID
的SPEC
具有按下的属性true
或false
,则必须具有false
或true
的同级
我怎样才能做到这一点呢?看起来DTD是做不到的。我将不得不和你一起去