了解 XSD 中的 xmlns 、 xmlns:somePreFix 、 targetNamespace

Understand xmlns , xmlns:somePreFix , targetNamespace in the XSD

我只是想了解 XSD 定义中的这 3 个属性。但不确定是否正确。请帮助纠正我。如果它是错误的。谢谢

Java Class 定义相比 XSD 定义。

targetNamespace就像JavaClass的包定义一样。表示所有的成员包括 fields , properties 和 Class 都属于 targetNamespace.

我们需要从其他 class 导入一些 class 成员来使用它们。这就是 xmlnsxmlns:somePreFix 的作用。 xmlns 只是默认值。

是的,targetNamespace 告诉你 xsd 的所有元素所在的范围。它类似于包,但与包内的标签不完全相同xml 文件也驻留在该目标命名空间中。另一方面,在 Java 中,实例 variables/methods 不直接属于包,它们属于 class.

xmlns:somePrefix 为导入的 xml 模式的命名空间提供了一个方便的 "somePrefix" 别名。 xmlns 实际上并没有导入 targetNamepace 的成员,我们有一个单独的 xsd:import 标签。相反,它只是指名称空间。您当然可以将它与 xsd:import 结合使用以获得 "java import like" 效果。