首页 > 解决方案 > 在 XML 中,如何/为什么在定义名称空间之前使用它?

问题描述

我见过像下面这样的例子,在xs使用xmlns. 这怎么可能?

这是我所指的那种代码。你可以在这里找到它:

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

为什么后来才xs:schema允许xlmns:xs呢?这是如何解决的?

标签: xmlxsdxml-namespacesxsd-validation

解决方案


尽管xs:命名空间前缀 in在其声明之前xs:schema出现在词法上,但声明的范围实际上包括声明出现的元素(及其所有后代),所以

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

是完全正确的(并且很常见)。


推荐阅读