현재 외부 시스템에서 XML 데이터를 사용하기 위해 여러 인터페이스를 구현하고 있습니다. 받은 데이터는 모두 잘 구성된 XML 문서입니다. 그러나 문제는 아래 예제와 같이 네임 스페이스가없는 것입니다. 내가 지금까지 배운 것을, 나는 XSD 스키마에 targetNamespace
을 사용할 수 없습니다에서targetNamespace가없는 XML 스키마에서 복합 유형을 참조하는 방법
<ReturnOfFileApplicationDetails>
<ApplicationNo>APP-2015-1214-000847</ApplicationNo>
<CourtOrderRefNo></CourtOrderRefNo>
<SourceRequestNo></SourceRequestNo>
<Status>A</Status>
<RejectionReason></RejectionReason>
<CourtEventDetails>
<NextCourtNo>26</NextCourtNo>
<NextCourtDateTime>201601111500</NextCourtDateTime>
<NextCourtJOName></NextCourtJOName>
</CourtEventDetails>
<IODetails>
<Name>CPIB IO</Name>
<Designation>Special Investigation Officer</Designation>
<DivisionAgency>CPIB</DivisionAgency>
<ReportNo></ReportNo>
<IPNo></IPNo>
</IODetails>
</ReturnOfFileApplicationDetails>
따라서, 나는 그 데이터를 설명하기 위해 만들었습니다. 예를 들어 위의 페이로드에 대해 만든 XSD는 다음과 같습니다.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://oscar.pactera.com/icms/schema">
<xsd:include schemaLocation="CourtEvent.xsd"/>
<xsd:include schemaLocation="InvestigationOfficer.xsd"/>
<xsd:complexType name="FileApplication">
<xsd:sequence>
<xsd:element name="ApplicationNo" type="xsd:string" minOccurs="0" nillable="true"/>
<xsd:element name="ApplicationType" type="xsd:string" minOccurs="0" nillable="true"/>
<xsd:element name="CourtOrderRefNo" type="xsd:string" minOccurs="0" nillable="true"/>
<xsd:element name="SourceRequestNo" type="xsd:string" minOccurs="0" nillable="true"/>
<xsd:element name="CaseNo" type="xsd:string" minOccurs="0" nillable="true"/>
<xsd:element name="Status" type="xsd:string" minOccurs="0" nillable="true"/>
<xsd:element name="RejectionCode" type="xsd:string" minOccurs="0" nillable="true"/>
<xsd:element name="RejectionReason" type="xsd:string" minOccurs="0" nillable="true"/>
<xsd:element name="CourtEventDetails" type="CourtEvent" minOccurs="0" maxOccurs="1"/>
<xsd:element name="IODetails" type="InvestigationOfficer" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ReturnOfFileApplicationDetails" type="FileApplication"/>
</xsd:schema>
지금이 문제는 내 IDE가 나는 그들이 같은 XSD에 그대로있는 경우에도 ReturnOfFileApplicationDetails
요소에 넣어 복합 형 FileApplication
을 찾을 수 없다는 불평이다. CourtEvent.xsd
과 InvestigationOfficer.xsd
도 targetNamespace
이 없으므로 IDE에서 CourtEvent
과 InvestigationOfficer
복잡한 유형을 찾을 수 없습니다.
targetNamespace
없이 제 XSD를 올바르게 만들 수 있음을 알려 주시면 매우 감사드립니다.
건배,
제임스 트란