2012-04-24 12 views
0

私は小さくする必要があります。私は手動でxmlスキーマを簡単なxml構造にマッピングするのに苦労しています。 xmlの専門家なら誰でも2分以内に問題を解決でき、私の人生を救うことができます。XSD小さな助けが必要

ここには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であまり良くないですので、どのような私はこれまでにfollowong 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. パスワード

あなたにも、これらのフィールドのための良い場所で、この構造を改良してくださいすることができます。私は本当にあなたのために時間と助けに感謝します。要素として表現最大な長さ80の文字列としてパスワードを追加するには

+2

ここにあなたのスキーマを投稿してください - または 'COCustomerDetail'複合型をdefininingだけの断片 - 私はあなたのスキーマをダウンロードするには4sharedに登録する必要はありません。 – MiMo

+0

住所とパスワードを連絡先または顧客の要素にする必要があるかどうかを指定できますか?しかし、XMLのプレーンテキストにパスワードを格納することは、私が考えることができる最悪の事の一つです:) – Aslan986

+0

@MiMo私はダウンロードリンクを更新しました。今すぐ急速に分かれています。私は今あなたがダウンロードのために登録する必要がある必要があると思う。今すぐ確認していただけますか? – sulmanpucit

答えて

2

変更する前に、あなたのメッセージに既に含まれているものを確認することを検討することがあります。私はこれを単に言っています。なぜなら、あなたの "発見"では、コンテンツのいくつかを見落としている可能性があるからです。

Password

アドレス情報は住所1で開始し、カップルの複数のフィールドのために行くようだ:

パスワード...意味が一致するように、ドキュメントをチェックすることをお勧めします。

Address

あなたは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を調べると、アドレまたはpasswのようなパターンを検索できます。

Finding XSD content in QTAssistant XSR

そしてさまざまなコンポーネントでの使用をもたらすことができるCOAddressの使用「のズーム」、それらはグローバルコンテンツ(ルート要素、種類、等)に関連する方法。これはあなたのルート要素へのトレースを見ることができる場所です。

XSD Dependencies diagram

+0

うわー、あなたはあなたが使ったツールを教えてくれますか? – sulmanpucit

+1

どのように私は忘れましたか)... [QTAssistant](http://paschidev.com)、私が開発したツールなので、私はここに偏っています... –

1

:それはcustomer内の最初の要素になります。この場合、

<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> 
    . . . . 

- あなたはもちろんの下にそれを移動することができます。

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

関連する問題