gpt4 book ai didi

xml - XSD 重用 complexType 元素

转载 作者:数据小太阳 更新时间:2023-10-29 02:56:23 27 4
gpt4 key购买 nike

我正在使用 Jdeveloper 12c。我正在尝试使用 complexType 作为在另一个 complexType 中键入另一个元素的引用。 Jdev 告诉我它找不到 AddressInfo 引用。这是相关的代码片段,请帮助:

<?xml version="1.0" encoding="UTF-8"?>
<schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="http://xmlns.oracle.com/SquareEdge/SEPPO/ProcessPO"
xmlns="http://www.w3.org/2001/XMLSchema">
<complexType name="AddressInfo">
<sequence>
<element type="string" name="FirstName"/>
<element type="string" name="LastName"/>
<element type="string" name="Street"/>
<element type="string" name="City"/>
<element type="string" name="State"/>
<element type="short" name="ZipCode"/>
<element type="unsignedLong" name="PhoneNumber"/>
</sequence>
</complexType>
<complexType name="Billing">
<sequence>
<element name="PaymentCardName" type="string" maxOccurs="1"/>
<element name="PaymentCardNumber" type="unsignedLong"maxOccurs="1"/>
<element name="ExpirationDate" type="unsignedShort" maxOccurs="1"/>
<element name="BillingAddress" maxOccurs="1" type="AddressInfo"/>
</sequence>
</complexType>

最佳答案

targetNamespace定义一个命名空间前缀:

  xmlns:po="http://xmlns.oracle.com/SquareEdge/SEPPO/ProcessPO"

然后用它来引用AddressInfo:

  <element name="BillingAddress" maxOccurs="1" type="po:AddressInfo"/> 

你的错误就会消失。

总的来说(加上一些其他的小修复):

<?xml version="1.0" encoding="UTF-8"?>
<schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
xmlns:po="http://xmlns.oracle.com/SquareEdge/SEPPO/ProcessPO"
targetNamespace="http://xmlns.oracle.com/SquareEdge/SEPPO/ProcessPO"
xmlns="http://www.w3.org/2001/XMLSchema">
<complexType name="AddressInfo">
<sequence>
<element type="string" name="FirstName"/>
<element type="string" name="LastName"/>
<element type="string" name="Street"/>
<element type="string" name="City"/>
<element type="string" name="State"/>
<element type="short" name="ZipCode"/>
<element type="unsignedLong" name="PhoneNumber"/>
</sequence>
</complexType>
<complexType name="Billing">
<sequence>
<element name="PaymentCardName" type="string" maxOccurs="1"/>
<element name="PaymentCardNumber" type="unsignedLong" maxOccurs="1"/>
<element name="ExpirationDate" type="unsignedShort" maxOccurs="1"/>
<element name="BillingAddress" maxOccurs="1" type="po:AddressInfo"/>
</sequence>
</complexType>
</schema>

关于xml - XSD 重用 complexType 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33469455/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com