需要XSD小帮助

时间:2012-04-24 14:39:28

标签: xml xsd

我需要小。我很难将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>

现在我只想要两个字段。

  1. 地址
  2. 密码
  3. 你能否为这些领域改善这个结构。我会非常感谢你的时间和帮助。

2 个答案:

答案 0 :(得分: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,您可以搜索 addr passw 等模式。

Finding XSD content in QTAssistant XSR

然后“放大”使用COAddress可能会在各种组件中使用它们,以及它们如何与全局内容(根元素,类型等)相关联;在这里你可以看到它追溯到你的根元素。

XSD Dependencies diagram

答案 1 :(得分: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添加地址也是如此。 。