2017-12-23 26 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には何もありません。

次のステップは何ですか?

答えて

2

PackageTypeを収容同じ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で最初に検索してくださいse。
  2. included/importedのXSDファイル、およびそれらの 組み込み/インポートされたXSDを再帰的に検索します。 (すべてのファイルをgrepを、共通のディレクトリに ある場合、通常、ディレクトリツリーを再帰的に 足りる。う)

コンポーネントが同じ名前空間にある場合は、必要なだけのオリジナルXSDと推移閉包に見えます含まれているXSDのコンポーネントが異なる名前空間にある場合、通常、参照される名前空間に基づいてXSDを見つけることができます。

+0

「コード」が単なる文字列である場合、どのようにしてこの値を推測できますか? (例えば、 "OZS"が可能なコードであるかどうかを知る方法は?) –

+0

Codeがxs:stringとして宣言されている場合、スキーマはその値に制約を課しません。他のメカニズム(フォームのユーザー入力フィールドに適用される検証など)によって制約が課せられることもありますが、スキーマで制約が定義されていない場合、スキーマ内でそれらを探す必要はありません。 –

関連する問題