给出如下文件:
<patch xmlns="http://example.com/ns/lxfs"
xml:base="http:/example.com/publ/lxfs"
id="http://example.com/lxfs/patches/3">
<!-- ... -->
</patch>
如何编写XML Schema以在{{1}上要求(甚至允许)xml:base
属性的固定值为“http://example.com/publ/lxfs” }?
这是我认为的“明显”解决方案,但<patch>
应该是xs:attribute[@name]
:
NCName
答案 0 :(得分:4)
将<xs:attribute name="xml:base">
更改为<xs:attribute ref="xml:base">
,并为可在http://www.w3.org/2001/03/xml.xsd
找到的XML命名空间的架构添加xs:import。 (使用本地副本而不是对W3C上的副本的引用
答案 1 :(得分:3)
为了澄清迈克尔已经发布的内容,为了解决这个问题,我首先将这一行添加到我的架构顶部:
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/03/xml.xsd" />
然后将其附加到元素,只需添加属性:
<xs:attribute ref="xml:base" />
哇,这给我带来了很多麻烦。