xsi:schemaLocation和pom.xml

时间:2012-09-12 02:47:11

标签: xml maven xsd xml-namespaces

我是通过以...开头的maven pom.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/maven-v4_0_0.xsd">
  1. 为什么我需要在这里使用xsi:schemaLocation?我理解它是一种发现具有目标命名空间的XSD的方法。但是当我使用 xmlns =“http://www.w3.org/2001/XMLSchema”时,我不需要提及的schemaLocation?

  2. 当我尝试用其他东西(比如xsitest)覆盖前缀xsi时,编辑器显示它无效。是应该使用的标准前缀关键字吗?我认为前缀可以是任何东西。

1 个答案:

答案 0 :(得分:1)

你问“为什么我需要使用xsi:schemaLocation ......?”

你呢?是否需要使用xsi:schemaLocation取决于您使用的验证器和其他模式感知处理器:xsi:schemaLocation是将名称空间绑定到特定模式的一种方式,但不是唯一的方法。

如果您更改XSI名称空间绑定的前缀,您的文档应保持有效是正确的。如果您的软件显示错误,那么软件中可能存在错误,或者您没有正确重新绑定前缀。