gpt4 book ai didi

xml - 如何使用 IDREF

转载 作者:数据小太阳 更新时间:2023-10-29 02:44:54 25 4
gpt4 key购买 nike

我正在编写一个 XML 文档并试图说明它的规范。

我认为我可以指定一个标签的属性可以限制为另一个标签的属性,我认为可以使用 !ATTLISTIDREF,但我不太确定。示例:

<?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>

我想说明:

  • BUTTON 标签必须具有 name 属性,该属性必须 中具有相同的文本CMD_ID 标签的 name 属性。
  • CMD-ID 标签有一个 script 属性,必须 中有相同的文本>SCRIPT 标签的 name 属性。
  • 如果 CMD_IDSPEC 有一个 pressed 属性为 both,那么它 strong>不能有 sibling 。
  • 如果 CMD_IDSPECpressed 属性为 truefalse,那么它必须有一个兄弟是falsetrue

我怎样才能做到这一点?

最佳答案

看起来这不能用 DTD 来完成。我将不得不选择XSD相反。

关于xml - 如何使用 IDREF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28284711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com