0

私は小さくする必要があります。XMLスキーマを単純なxml構造に手動でマッピングするのに苦労しています。xml の専門家なら誰でも、2 分以内に問題を解決できます。私の命を救ってくれると信じてください。

xsd のスキーマは次のとおりです。

https://rapidshare.com/files/688147446/schema.zip

import_customers_request.xsdファイルには、この要素があります

<xs:element name="customer" type="COCustomerDetail" minOccurs="0" maxOccurs="unbounded"/>

ファイルcoTypes.xsdに詳細があります

私はxmlがあまり得意ではないので、これまでに発見したのは次のxml構造です。

<import_customers_request schemaVersion="5.5">

    <customers>

    <customer>
    <useBillingCodeIdentifier>false</useBillingCodeIdentifier>
    <useShippingCodeIdentifier>false</useShippingCodeIdentifier>
    <companyName>Tech Max</companyName>
    <contact>

    <firstName>Sohaib</firstName>
    <lastName>Rajpoot</lastName>
    <email>suhaibpucit\@yahoo.com</email>

    </contact>
    </customer>
    </customers>
    </import_customers_request>

あと2つのフィールドが必要です。

  1. 住所
  2. パスワード

これらの分野にも適した場所でこの構造を改良してください。お時間とご協力をいただき、誠にありがとうございました。

4

2 に答える 2

2

変更する前に、メッセージの内容を確認することを検討してください。私がこれを言っているのは、あなたが「発見」の中でいくつかの内容を見落としているかもしれないからです. 意味が一致するように、ドキュメントを確認することをお勧めします...

パスワード:

パスワード

Address Information は、addressLine1 から始まり、さらにいくつかのフィールドに進むようです。

住所

とにかく、XSD を変更したい場合は、一貫性を保つことをお勧めします。たとえば、これはパスワードの XSD のモデルとして持っているものです。

<xs:element name="password" minOccurs="0">
    <xs:annotation>
        <xs:documentation> password is of course mandatory on any request message it may not be echoed on responses </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:minLength value="3"/>
            <xs:maxLength value="20"/>
        </xs:restriction>
    </xs:simpleType>
</xs:element>

XSD の分析と視覚化には常にツールを使用することをお勧めします。たとえば、すべての XSD を調べて、addrpasswなどのパターンを検索できます。

QTAssistant XSR での XSD コンテンツの検索

次に、COAddress の使用を "ズームイン" すると、さまざまなコンポーネントでの使用と、それらがグローバル コンテンツ (ルート要素、型など) にどのように関連しているかがわかります。これは、ルート要素へのトレースを確認できる場所です。

XSD 依存関係図

于 2012-04-24T18:33:22.033 に答える
1

要素として表される最大長 80 の文字列としてパスワードを追加するには、次のようにします。

<xs:complexType name="COCustomer">
  <xs:complexContent>
     <xs:extension base="COAddress">
        <xs:sequence>
           <xs:element name="password">
             <xs:simpleType>
                <xs:restriction base="xs:string">
                   <xs:maxLenght value="80"/>
                </xs:restriction>
              <xs:simpleType/>
           </xs:element>
     . . . .

この場合、それは内部の最初の要素になりますcustomer- もちろん下に移動できます。

にアドレスを追加するのと同じことCOContact。. .

于 2012-04-24T18:00:02.340 に答える