我有5个XSD文件,一个是“主要的”(我说主要的一个,因为这里我想添加其余的模式文件),名为catalogo.xsd,其余的是辅助文件(数据集。 XSD,imagenes.xsd,propietario.xsd,identificacion.xsd)。在catalogo.xsd中,我想导入其中一个文件的命名空间,例如propietario.xsd。所以我在编写这行代码的catalogo.xsd中导入它:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/catalogo" xmlns:tns="http://www.example.org/catalogo" elementFormDefault="qualified">
<xsd:import namespace = "http://www.example.org/propietario" schemaLocation = "propietario.xsd"/>
文件propietario.xsd是这样的:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/propietario" xmlns:prop="http://www.example.org/propietario" elementFormDefault="qualified">
<xsd:element name="tPropietario">
<xsd:complexType>
whatever code here
</xsd:complexType>
但是在catalogo中,当我想添加一个type = prop:tPropietario
的元素时,eclipse会给我一个错误,说明prop:
前缀未定义。我不明白如何正确添加它,schemaLocation
它的罚款路径,以及命名空间uri。我不知道我是否解释清楚,但那是我的问题。谢谢你。
答案 0 :(得分:0)
此命名空间声明
xmlns:prop="http://www.example.org/propietario"
将prop
设置为http://www.example.org/propietario
命名空间的命名空间前缀。将其添加到任何XML文件中使用或高于其使用的元素,包括XSD,您希望在其中将此命名空间称为prop
。对于XSD,名称空间声明通常在xsd:schema
根元素上组合在一起。