在XML Schema中要求(允许)“xml:base” – 属性

给出如下文件

<patch xmlns="http://example.com/ns/lxfs"
       xml:base="http:/example.com/publ/lxfs"
       id="http://example.com/lxfs/patches/3">

   <!-- ... -->
</patch>

如何编写XML Schema以要求(甚至允许)xml:base属性的存在,并在< patch>上使用固定值“http://example.com/publ/lxfs”?

这就是我认为的“显而易见”的解决方案,但xs:attribute [@name]应该是NCName:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:lxfs="http://example.com/ns/lxfs"
           xmlns:xml="http://www.w3.org/XML/1998/namespace"
           targetNamespace="http://example.com/ns/lxfs">

  <xs:element name="patch" type="lxfs:Patch" />

  <xs:complexType name="Patch">    
    <xs:attribute name="id" type="xs:anyURI" use="required" />
    <xs:attribute name="xml:base" form="qualified" fixed="http://example.com/publ/lxfs" use="required" />
  </xs:complexType>
</xs:schema>

解决方法

更改< xs:attribute name =“xml:base”>到< xs:attribute ref =“xml:base”>,并为XML命名空间的模式添加xs:import,可以在http://www.w3.org/2001/03/xml找到. XSD. (使用本地副本而不是对W3C上的副本的引用

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念