编写允许来自其他命名空间的限定属性的XML模式

时间:2009-08-22 22:50:40

标签: xml xsd namespaces

有没有办法创建一个允许来自不同命名空间的属性的XSD,但前提是它是否合格?根据模式有效的XML文件示例是

<d:document dx:size="a5"
    xmlns:d="http://example.com/documents"
    xmlns:dx="http://example.com/document-extensions"/>

架构应该强制size属性是合格的,这是我无法工作的部分。

1 个答案:

答案 0 :(得分:0)

在架构的开始架构标记中,而不是实例文档中,使用attirbuteFormDefault =“qualified”来确保所有属性都符合命名空间。在您的模式中,您必须导入(而不是包含)定义了相关属性的位置,然后将名称空间前缀分配给要导入的文档位置。

现在,您将为您的架构已知的另一个定义定义了名称空间前缀。现在,您可以在实例文档中使用该另一个定义的元素,前缀为您在模式中定义的名称空间前缀。如果其他定义文档也是模式,则效果最佳。