XML模式中的targetNamespace导致组不可见

时间:2011-07-08 11:38:57

标签: xml xsd

当我在XML Schema中指定targetNamespace时,我收到错误(MS Visual Studio Editor和XSD Tool)“未声明的模型组'组名'”。我甚至试过W3Schools的小组示例,但都是一样的。

当我删除targetNamespace属性时 - 一切正常。
有什么想法吗?

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="ns">

<xs:group name="persongroup">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
    <xs:element name="birthday" type="xs:date"/>
  </xs:sequence>
</xs:group>

<xs:element name="person" type="personinfo"/>

<xs:complexType name="personinfo">
  <xs:sequence>
    <xs:group ref="persongroup"/>
    <xs:element name="country" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

</xs:schema>

1 个答案:

答案 0 :(得分:1)

如果使用targetNamespace,则对组/类型的引用必须是名称空间限定的。 reference