2012-04-24 72 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> 

现在我只想要两个字段。

  1. 地址
  2. 密码

可以请你完善这一结构好地方,这些领域也是如此。我将非常感谢你的时间和帮助。在这种情况下

<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的第一个元素 - 你可以将它当然下来:

+2

请在这里发表您的模式 - 或者只是definining了'COCustomerDetail'复杂类型的片段 - 我不想在4shared注册下载您的架构。 – MiMo 2012-04-24 14:43:36

+0

你能否指定地址和密码应该是联系人还是客户的元素?然而,在XML纯文本中存储密码是我能想到的最糟糕的事情之一:) – Aslan986 2012-04-24 14:46:25

+0

@MiMo我更新了下载链接。现在它快速分享。我想现在你需要注册下载。你可以现在检查一下吗? – sulmanpucit 2012-04-24 14:55:27

回答

2

更改之前,您可以考虑检查您的消息中已有的内容。我这样说只是因为你可能在你的“发现”中忽略了一些内容。这是检查的文件,从而使意义相匹配的好主意......

密码:

Password

地址信息似乎开始与addressLine1去的一对夫妇更多的领域。

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,您可以搜索诸如addrpassw的模式。

Finding XSD content in QTAssistant XSR

然后“放大”的使用COAddress的可产生各种部件的使用,以及它们是如何相关的全球内容(根元素,类型等);这是你可以看到它回溯到你的根元素的地方。

XSD Dependencies diagram

+0

哇,你能告诉我你使用过哪种工具吗? – sulmanpucit 2012-04-25 11:39:04

+1

我是怎么忘记的:)... [QTAssistant](http://paschidev.com),这是我开发的一个工具,所以我偏向这里... – 2012-04-25 15:14:52

1

要作为一个字符串表示为元素的最大lenght 80添加的密码。

同样的东西地址添加到COContact。 。 。