xsi:schemaLocation和pom.xml

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

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

回答(1)

2 years ago

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

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

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