0
我有一个架构,其中有3个元素,这3个元素仍然有更多的子元素。让第一个元素作为标题,第二个作为记录,第二个作为页脚。Xml架构中的多个元素
有一个标题出现,记录多次出现以及页脚重新出现一次。
所以输入模式看起来像
header
record..
record..
...
..
footer
现在我的问题是。我的模式是这样定义的
<xs:element minOccurs="1" maxOccurs="1" name="HEADER">
<xs:element minOccurs="1" maxOccurs="unbounded" name="Record">
<xs:element minOccurs="1" maxOccurs="1" name="FOOTER">
当一个文件(带有头2记录和页脚)通过这个模式解析。解析器可以识别标题和两个记录,并在识别出第二条记录并给出页脚后发出异常。我们如何界定max和当有2组或更多的元素和最大出现
编辑中间元素具有无界发生分钟:
感谢您的答复。这是我的xsd文件。
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:NS="sample.xsd" xmlns="sample.xsd" elementFormDefault="qualified" targetNamespace="sample.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="PTRO">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="HEADER">
<xs:complexType>
<xs:sequence>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="header_sub_element">
<xs:simpleType>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="1" maxOccurs="unbounded" name="Record">
<xs:complexType>
<xs:sequence>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="Record_sub_element">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="11" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" name="FOOTER">
<xs:complexType>
<xs:sequence>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="footer_sub_element">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="9" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
@ marc_s的问题是,当它包含一个头,2个记录的输入文件(.txt文件),页脚使用该架构的解析,解析器识别头和记录...并在此之后它给一个例外,因为它不承认页脚。 Record的最大发生是无界的。这是否与异常有关?
你能告诉我们你的真实模式,以及导致此问题的示例XML吗?我不清楚你的问题是什么问题...... – 2010-08-13 07:34:16