相关疑难解决方法(0)

创建使用<all>和<any>元素打开的有效XSD

我需要指定一个XSD来验证XML文档.XSD将用于JAXB生成的Java绑定. 我的问题是指定可选元素,我不知道它的名称和我一般对解析不感兴趣.

XML文档的结构如下:

<TRADE>
  <TIME>12:12</TIME>
  <MJELLO>12345</MJELLO>
  <OPTIONAL>12:12</OPTIONAL>
  <DATE>25-10-2011</DATE>
  <HELLO>hello should be ignored</HELLO>
</TRADE>
Run Code Online (Sandbox Code Playgroud)

重要的是,那:

  • 我不能假设任何顺序,并且下一个XML文档实例migtht具有不同顺序的标记
  • 我只对解析一些标签感兴趣,一些是强制性的,一些是可选的
  • XML文档可以使用我不感兴趣解析的新元素进行扩展

我的XSD的结构就像(不是有效的xsd):

<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <!-- *********************************************** -->
  <!-- Trade element definitions for the XML Documents -->
  <!-- *********************************************** -->

  <xs:complexType name="Trade">
    <!-- Using the all construction ensures that the order does not matter -->
    <xs:all>
      <xs:element name="DATE" type="xs:string" minOccurs="1" maxOccurs="1" />
      <xs:element name="TIME" type="xs:string" minOccurs="1" maxOccurs="1" />
      <xs:element name="OPTIONAL" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:any minOccurs="0"/>
    </xs:all>
  </xs:complexType>

  <!-- TRADE …
Run Code Online (Sandbox Code Playgroud)

xsd jaxb

7
推荐指数
1
解决办法
2483
查看次数

标签 统计

jaxb ×1

xsd ×1