在XML中,如何/为什么要在定义命名空间之前使用它?

时间:2019-02-01 22:36:17

标签: xml xsd xml-namespaces xsd-validation

我看到了类似下面的示例,其中在使用xs声明{如果这是正确的单词“之前使用xmlns。这怎么可能?

这是我所指的那种代码。您可以找到它here

<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
...
</xs:schema>

为什么后来xs:schema出现xlmns:xs是允许的?如何解决?

1 个答案:

答案 0 :(得分:2)

即使xs:中的xs:schema名称空间前缀在其声明之前出现在 词汇上 ,但 作用域 实际上是声明所包含的元素(及其所有后代),所以

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
...
</xs:schema>

完全正确(而且很常见)。