Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编写允许来自其他名称空间的限定属性的XML模式_Xml_Xsd_Namespaces - Fatal编程技术网

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

编写允许来自其他名称空间的限定属性的XML模式,xml,xsd,namespaces,Xml,Xsd,Namespaces,有没有一种方法可以创建一个XSD,允许来自不同名称空间的属性,但前提是它是限定的?根据模式有效的XML文件示例如下 <d:document dx:size="a5" xmlns:d="http://example.com/documents" xmlns:dx="http://example.com/document-extensions"/> 架构应该强制执行要限定的size属性,这是我无法使用的部分。在架构的打开架构标记(而不是实例文档)中,使用attirb

有没有一种方法可以创建一个XSD,允许来自不同名称空间的属性,但前提是它是限定的?根据模式有效的XML文件示例如下

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


架构应该强制执行要限定的
size
属性,这是我无法使用的部分。

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


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

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


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

WAG--在定义其命名空间后尝试将dx:size移动到?WAG--在定义其命名空间后尝试将dx:size移动到?谢谢,我通过从文档架构导入document extensions架构,然后引用一个属性组来解决此问题。我没有使用attributeFormDefault=“qualified”,因为我希望能够将非限定属性与限定属性混合使用。您真的必须导入.XSD文件吗?我没有。但我仍然需要XML中的前缀属性。你能分享你的进口代码吗?谢谢,通过从文档模式导入文档扩展模式,然后引用属性组,我成功地解决了这个问题。我没有使用attributeFormDefault=“qualified”,因为我希望能够将非限定属性与限定属性混合使用。您真的必须导入.XSD文件吗?我没有。但我仍然需要XML中的前缀属性。你能分享你的进口代码吗?