在我的研究中,一旦我们有XML Schema Instance命名空间可用,我们就可以使用schemaLocation属性。
就它们在XML标记中的位置而言,命名空间是否始终位于模式位置之前?
这是我的样式表代码。
CarriageDelivery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:SchemaLocation="Carriage_Delivery.xsd"
我尝试切换xmlns:xsi
属性和xsi:SchemaLocation
这样的位置..
CarriageDelivery xsi:SchemaLocation="Carriage_Delivery.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
但在我生成的输出中,没有任何反应。
CarriageDelivery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:SchemaLocation="Carriage_Delivery.xsd"
我希望我能得到一个解释,为什么它总是最后出现。
答案 0 :(得分:5)
XML spec表示给定元素的属性顺序不重要。所以
对于任何下游应用程序而言,xmlns:xsi
之前是xsi:SchemaLocation
是否出现无关紧要,反之亦然。出于这个原因,大多数输出XML的程序(通常包括XSLT处理器)都不会给你任何控制或保证它们输出属性的顺序。
您能解释一下为什么要指定订单吗?除了人类美学外,它不应该重要......