【发布时间】:2014-12-23 20:58:52
【问题描述】:
这是我要解决的问题。我希望一个节点能够引用多个其他节点。像这样:
<ranges>
<range localid="0001">2013-05-06</range>
<range localid="0010">2014-01-02</range>
<range localid="0100">2014-03-09</range>
<range localid="1000">2014-11-12</range>
</ranges>
<speakers>
<speaker crossrefs="0011">Sagan</speaker>
<speaker crossrefs="1010">Krauss</speaker>
</speakers>
使用一种位域将允许我的“扬声器”节点引用多个日期范围。但“演讲者”并不是我想以这种方式交叉引用的唯一节点。我有很多其他节点和子节点,并且我想避免向我在模式中创建的每个节点添加“交叉引用”属性,无论如何,随着我添加新的元素类型,这现在非常不稳定。 xml 中是否有任何内容允许我将“crossrefs”声明为文档中每个节点的可选属性?
在我看来,这就像 xml 允许在每个节点上的“id”属性一样。我查看了 xml 架构的架构,以了解“id”属性是如何定义的,但我在那里看不到任何看起来像我正在寻找的东西的东西。有没有办法做到这一点?
我已经研究过 xml 交叉引用。至少就我对交叉引用的理解而言,问题在于我必须向每个节点添加一个子节点,才能让另一个节点充当交叉引用。丑陋。有没有更丑陋的方法来做这种事情?
编辑:
似乎this 可能与我提出的问题相同,但我无法判断它是否真的相同。
【问题讨论】:
-
XSLT 你的 XSD? 鬼脸
-
哦,伙计,XSLT?我必须先获得 xml 架构的博士学位,然后才能做任何事情,哈哈。
-
这是一个简短的评论 - 我自己对 XSD 只非常基本的熟悉 .. 和 SPD 中 XLST 1 的噩梦 ..
标签: xml xsd cross-reference