namespace 的 XML 属性排序

标签 xml namespaces xsd

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

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

我发现确实如此 - 至少在使用 XML 记事本 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 非常复杂,我没有注意到我在所有子节点中插入了一个 xmlns=""。一旦我删除问题就消失了,命名空间属性的顺序也没有区别——这正是我所期望的……

关于 namespace 的 XML 属性排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/337575/

相关文章:

php - 分组类 in use 语句

java - 在不过分冗长的情况下消除类歧义

c# - 如何形成有助于序列化到 c# 类中的有效 XSD

wsdl - 如何从 wsdl 生成 xsd

html - 添加背景并居中,不重复

javascript - Chrome 表示无法读取未定义的属性 'nodeName',IE6 没问题,使用 Google Map API

java - 如何解析 xml 元素节点 susing pig 脚本?

c# - 在 C# 中,希望命名空间是内部的有任何意义吗?

java - 无法读取架构文档 'http ://www. springframework.org/schema/beans/spring-beans.xsd

java - 如何从 Android 的 xml 字符串资源中检索二维数组?