0
我有以下以下XSD模板:XSD选择可选元素
<xsd:choice>
<xsd:element name="NilReport" type="ftc:CorrectableNilReport_Type">
<xsd:annotation>
<xsd:documentation xml:lang="en">Nil Report indicates that financial institution does not have accounts to report</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:sequence >
<xsd:element name="AccountReport" type="ftc:CorrectableAccountReport_Type" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Detailed information for account report, such as account number and account balance</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="PoolReport" type="ftc:CorrectablePoolReport_Type" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Information about the pool of account holders with similar characteristics</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
但结果至今没有去,因为它假设是。 Unexpected result
这是我想要的结果: Expected result
我怎么能存档预期的结果?请指教我。
请注意,在这种情况下,两者都是可选的。
嗨@ophychius,我会很感激你的答案。如果不创建包含元素,我们是否真的没有其他方法来存档? –
这取决于你想要达到什么目标,如果你想要一个可以包含NilReport或者PoolReport和/或AccountReport元素组合的元素,而不是你当前的xsd是可以的。它不允许组合NilReport和其他2个组合,同时允许0-n AccountReports和0-n PoolReports 如果您希望Account-和PoolReport在上述元素中组合在一起,您需要一个在NilReport和包含Account-和PoolReport元素的'NotNilReport'之间进行选择。 也许试着解释你想要达到的目标? – ophychius
你上面的例子是完美的,但它不遵循其默认模式。所以它正确的xml应该是: FATCA1 ftc:DocTypeIndic> XXXX ftc:DocRefId> \t XXXX ftc:CorrMessageRefId> \t \t \t XXX ftc:CorrDocRefId> ftc:DocSpec> 3 ftc:AccountCount> ftc:AccountPoolReportType> FATCA201 ftc:AccountPoolReportType > 33 ftc:PoolBalance> ftc:PoolReport> ftc:NotNilReport> **没有标记** –