0

请帮助我,我知道这是一个非常简单的问题,仍然需要帮助。请参考以下架构..

<?xml version="1.0" encoding="UTF-8"?>
<schema attributeFormDefault="unqualified" elementFormDefault="qualified"
        targetNamespace="http://xmlns.oracle.com/RegistrationUpload_jws/RegistrationUpload/Taskprocess"
        xmlns="http://www.w3.org/2001/XMLSchema">
     <complexType name="officer" id="officer"  xmlns:xs="http://www.w3.org/2001/XMLSchema">
          <sequence>
               <element name="mainOfficer" type="string"/>
               <element name="mainOfficerId" type="string"/>
               <element name="coveringOfficer" type="string"/>
               <element name="coveringOfficerId" type="string"/>
               <element name="defaultOfficer" type="string"/>
               <element name="defaultOfficerId" type="string"/>
               <element name="matrixId" type="string"/>
          </sequence>
     </complexType>
     <element name="process">
          <complexType>
               <sequence>
                    <element name="input" id="officer" type="officer" nillable="false"
                             maxOccurs="1" minOccurs="0"/>
               </sequence>
          </complexType>
     </element>
     <element name="processResponse">
          <complexType>
               <sequence>
                    <element name="result" type="string"/>
               </sequence>
          </complexType>
     </element>
</schema>

我找不到问题参考办公室(使用 Jdeveloper)

4

1 回答 1

1

我认为问题与命名空间有关。文档的默认命名空间http://www.w3.org/2001/XMLSchema意味着您可以引用不带前缀的 XML 内置类型,如type="string". 但是,该类型officer存在于目标名称空间中,因此当您引用该类型时,您必须使用名称空间绑定对其进行限定。将此添加到schema元素中:

xmlns:tns="http://xmlns.oracle.com/RegistrationUpload_jws/RegistrationUpload/Taskprocess"

并在提及官员类型时使用 tns 前缀:

<element name="input" type="tns:officer" nillable="false" ... />

(此外,id 属性的使用很奇怪,尤其是因为您有重复的内容。)

于 2011-04-11T15:08:18.770 回答