如何在XML模式文件中定义complexType?
我想定义我自己的personinfo类型,以便其他元素可以引用这个复杂类型,但我遇到了一些验证错误。你能教我如何定义personinfo吗?这是由名称空间问题引起的吗如何在XML模式文件中定义complexType?,xml,xsd,Xml,Xsd,我想定义我自己的personinfo类型,以便其他元素可以引用这个复杂类型,但我遇到了一些验证错误。你能教我如何定义personinfo吗?这是由名称空间问题引起的吗 <?xml version="1.0" encoding="iso-8859-1" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="xyz"> <xs:complexTy
<?xml version="1.0" encoding="iso-8859-1" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="xyz">
<xs:complexType>
<xs:all>
<xs:element name="enable" type="xs:boolean" minOccurs="0" />
<xs:element name="employee" type="personinfo" />
<xs:complexType name="personinfo">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>
您应该将personInfo类型的定义移动到xs:schema元素下,即与xyz的定义处于同一级别。其他结构应该可以
如果您的模式没有定义目标名称空间,即定义的元素和类型所属的名称空间,那么您就没有在type属性中引用带有前缀的复杂类型。但我认为最好定义目标名称空间和相应的前缀,然后您必须以限定的形式编写它,比如type=myNs:personInfo。在您的问题中添加验证错误