对于以下的XML片段:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
xmlns
、xmlns:xsi
和xsi:schemaLocation
属性的确切含义是什么?它们之间有什么关系?:
是什么意思?在
xsi:schemaLocation=
中有2个URL:
- http://maven.apache.org/POM/4.0.0(与
xmlns
相同,但访问时会出现404错误) - http://maven.apache.org/xsd/maven-4.0.0.xsd(这是一个实际的XSD文档)
xmlns
用于定义文档的默认命名空间。文档中没有显式命名空间前缀的任何元素都将位于默认命名空间中。xmlns:xxx
将定义非默认命名空间,必须在使用时将其显式地添加到元素前缀中。对吗? - smwikipediahttp://maven.apache.org/POM/4.0.0
,然后明确使用它。 - kjhughesxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
),但没有为xml处理器指定其模式位置。xsi命名空间是否可以完全省略?如果未声明xsi命名空间并且使用schemaLocation
属性而没有xsi前缀,会发生什么? - jmrah