【问题标题】:XML attribute ordering of namespaces命名空间的 XML 属性排序
【发布时间】:2008-12-03 15:44:35
【问题描述】:

与one I asked earlier相关的问题...

只是检查一些东西:XML 文件中 xmlns、xmlns:xsi 和 xsi:schemaLocation 属性的顺序是否重要?

我发现确实如此——至少在使用 XML Notepad 2007 查看 XML 文件时是这样。例如(假设我的 XML 文件根据我的架构是合法的)这没有错误(示例 1):

<myroot 
    xmlns="http://www.someurl.com/ns/myroot" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.someurl.com/ns/myroot http://www.someurl.com/xml/schemas/myschema.xsd">

   <sometag>somecontent</sometag>

</myroot>

但是这个可以(示例 2):

<myroot 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.someurl.com/ns/myroot http://www.someurl.com/xml/schemas/myschema.xsd"
    xmlns="http://www.someurl.com/ns/myroot"> 

   <sometag>somecontent</sometag>

</myroot>

(错误是'sometag'根据架构是非法条目)。

我的问题是,如果我使用其他问题中的代码来生成命名空间和架构属性,那么我会按照示例 2 的顺序获得 XML 属性输出...

xmlns 属性是否总是必须在属性列表中排在第一位?

【问题讨论】:

    标签: xml namespaces xsd


    【解决方案1】:

    啊 - 我发现了我的问题....

    我实际处理的 XML 非常复杂,我没有注意到我在所有子节点中都插入了 xmlns=""。一旦我消除了这个问题,命名空间属性的顺序就没有区别了——这就是我所期望的......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-06
      • 2019-01-26
      • 1970-01-01
      • 1970-01-01
      • 2012-05-27
      • 2013-09-21
      • 1970-01-01
      相关资源
      最近更新 更多