Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在XML模式文件中定义complexType?_Xml_Xsd - Fatal编程技术网

如何在XML模式文件中定义complexType?

如何在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

我想定义我自己的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: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。

在您的问题中添加验证错误