与我之前提出的一个相关问题...
只是检查一下: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 属性是否总是必须在属性列表中排在第一位?