0

我有一些 xml 文档,这个 xml 有一些属性值是唯一的元素(例如:名称)。我想使用 xs:ID 在 XSD 中识别它。我的问题是:有没有办法扩展 xs:ID 以使其支持字符:冒号、斜杠、空格?因为属性“名称”可能有这些字符。

我知道有一些替代方案,例如:在 XSD 中使用 xsd:key 或使用 XSLT 通过 xsl:key 进行验证。但我仍然想问是否有办法扩展 xs:ID (例如:覆盖一些事实)。

主要原因是我的xml编辑器(Oxygen XML Editor)的自动完成功能只支持xs:ID和xs:IDREF。(也许我们可以写一些Editor插件来支持它,但它非常难看。因为它会导致编辑器依赖,我们将编写java代码而不是xml。)

4

2 回答 2

1

也许作为您想要的解决方法,Oxygen XML 编辑器确实可以通过调用 XSLT 脚本来控制属性的值,该脚本可用于从文档中的各个位置收集这些值: http://blog.oxygenxml .com/2015/07/control-attribute-values-part-2.html

于 2018-01-04T13:50:23.853 回答
1

不,ID 和 IDREF 值被限制(出于与 SGML 相关的神秘原因)具有 XML 名称的语法。

于 2018-01-03T18:59:35.120 回答