以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  [求助]能实现这样的xml么?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=39971)


--  作者:bigfatcat
--  发布时间:11/13/2006 4:40:00 PM

--  [求助]能实现这样的xml么?
利用jaxb做了个小的xml生成和解析程序,结果朋友给了个xml问是否可以实现,失败了,请各位大牛帮忙看看,能不能实现。
xml  
<?xml version="1.0" encoding="utf-8"?>
<channel>
<title>title1</title>
<actionlink>
<name>newmsg_link</name>
<description>act1</description>
</actionlink>
<actionlink>
<name>newmsg_link2</name>
<description>act2</description>
</actionlink>
<item>
<name>n1</name>
</item>
<actionlink>
<name>newmsg_link3</name>
<description>act3</description>
</actionlink>
</channel>

用来生成java类包的xsd如下:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="channel">
 <xsd:complexType>
 <xsd:sequence>
  <xsd:element ref="title" minOccurs="0"/>
  <xsd:element ref="actionlink" minOccurs="0" maxOccurs="unbounded"/>
  <xsd:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
 </xsd:sequence>
 </xsd:complexType>
 </xsd:element>
 <xsd:element name="title" type="xsd:string"/>
 <xsd:element name="actionlink">
  <xsd:complexType>
  <xsd:all>
   <xsd:element ref="name"/>
   <xsd:element ref="title" minOccurs="0"/>
  </xsd:all>
  </xsd:complexType>
 </xsd:element>
 <xsd:element name="name" type="xsd:string"/>
                <xsd:element name="description" type="xsd:string"/>
 <xsd:element name="item">
 <xsd:complexType>
  <xsd:all>
  <xsd:element ref="title" minOccurs="0"/>
  </xsd:all>
 </xsd:complexType>
 </xsd:element>
</xsd:schema>

因为xsd:sequence所属xsd:element  是要求按书写顺序排列的,而xml中item后面又出现了actionlink,所以jabx报错。能只改变xsd而让xml能正确解析么???


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms