3

我正在通过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 时,编辑器显示它无效。它是一个应该使用的标准前缀关键字吗?我认为前缀可以是任何东西。

4

1 回答 1

1

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

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

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

于 2012-09-12T23:13:11.217 回答