2017-12-23 31 views
1

는 내가 UPS 배송 API에 대한 XML을 검토하고있어, 그리고 XSD는이 블록이 포함되어XSD에서 유형 선언을 찾는 방법은 무엇입니까?

<xsd:complexType name="PackageType"> 
    <xsd:sequence> 
     <xsd:element name="Description" type="xsd:string" minOccurs="0"/> 
     <xsd:element name="PackagingType" type="PackagingTypeType" minOccurs="0"/> 
     <xsd:element name="Dimensions" type="DimensionsType" minOccurs="0"/> 
     <xsd:element name="DimWeight" type="PackageWeightType" minOccurs="0"/> 
     <xsd:element name="PackageWeight" type="PackageWeightType" minOccurs="0"/> 
     <xsd:element name="LargePackageIndicator" type="xsd:string" minOccurs="0"/> 

을 ...

내가 PackageWeightType에 사용할 수있는 값이 무엇인지보고 싶어요

, 그러나 나는 되돌릴 방법을 알아낼 수 없다. XSD를의 상단

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<xsd:schema xmlns:ups="http://www.ups.com/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="201707"> 
    <xsd:include schemaLocation="IF.xsd"/> 

하지만 난 그 나의 탐구에서 저를 도움이 될 볼 수 있습니다 IF.xsd 아무것도가 없습니다.

내 다음 단계는 무엇입니까? PackageType 주택

답변

2

같은 XSD (ShipConfirmRequest.xsd을 버전 201707)도 PackageWeightType 포함

<xsd:complexType name="PackageWeightType"> 
    <xsd:sequence> 
     <xsd:element name="UnitOfMeasurement" type="UnitOfMeasurementType"/> 
     <xsd:element name="Weight" type="xsd:string"/> 
    </xsd:sequence> 
</xsd:complexType> 

UnitOfMeasurementType을뿐만 아니라 :

<xsd:complexType name="UnitOfMeasurementType"> 
    <xsd:sequence> 
     <xsd:element name="Code" type="xsd:string"/> 
     <xsd:element name="Description" type="xsd:string" minOccurs="0"/> 
    </xsd:sequence> 
</xsd:complexType> 

을 일반적으로 선언 찾기 :

  1. XSD에서 처음 검색하면 해당 U를 볼 수 있습니다. se.
  2. included/imported의 XSD 파일과 포함/가져온 XSD의 을 재귀 적으로 검색합니다. (모든 파일을 grepping, 공통의 디렉토리에 경우 일반적으로 디렉토리 트리 재귀 충분할. 것)

구성 요소가 같은 공간에있는 경우, 당신은 필요한 경우에만 원래 XSD와 전이 폐쇄 보면 포함 된 XSD. 구성 요소가 다른 네임 스페이스에 있으면 일반적으로 참조 된 네임 스페이스를 기반으로 XSD를 찾을 수 있습니다.

+0

어떻게하면 '코드'가 문자열 일 때 가능한 값을 추론 할 수 있습니까? ("OZS"가 가능한 코드인지 어떻게 알 수 있습니까?) –

+0

Code가 xs : string으로 선언 된 경우 스키마는 해당 값에 제약을 부과하지 않습니다. 다른 메커니즘 (예 : 양식의 사용자 입력 필드에 적용된 유효성 검사)에 의해 제약이 가해질 수 있지만 스키마가 제약 조건을 정의하지 않으면 스키마에서 스키마를 찾는 요점이 없습니다. –