+ -
当前位置:首页 → 问答吧 → 高手请进:用XMLSchema规范XML文档

高手请进:用XMLSchema规范XML文档

时间:2010-09-19

来源:互联网

本人根据一个XML文档,写了一个XMLSchema文档,本意是用此XMLSchema文档去规范XML文档,可是在定义根元素下的子元素时,用type="xsd:string"来声明该元素的类型时,总是被告之,"type"不能与"simpleType"或"complexType"同时存在。请教高手,该问题该如何解决。附.XML文档如下:


<?xml version="1.0" encoding="GB2312"?>
<!-- File Name:exch03_8_xsd.xml 引用Schema文档,根元素不属于任何名称空间-->
<影片目录
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="exch03_8.xsd">
  <影片 类别=" 武侠">英雄
  <主演>李连杰,梁朝伟,张曼玉</主演>
  <导演>张艺谋</导演>
  <出品>新画面影业</出品>
  <剧情>战国末期.....</剧情>
  </影片>
</影片目录>

.xsd文档如下:

<?xml version="1.0" encoding="GB2312"?>
<!-- File name:exch03_8.xsd 文档的根元素不属于任何名称空间 -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="影片目录">
  <xsd:complexTyp e>
  <xsd:sequence>
<xsd:element name="影片" maxOccurs="unbounded" type="xsd:string">
  <xsd:complexType>
<xsd:sequence>
<xsd:element name="主演" type="xsd:string"/>
<xsd:element name="导演" type="xsd:string"/>
<xsd:element name="片长" type="xsd:string" minOccurs="0"/>
<xsd:element name="出品" type="xsd:string" minOccurs="0"/>
<xsd:element name="剧情" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="类别" type="xsd:string" use="optional"/>
</xsd:complexType>
  </xsd:element>
  </xsd:sequence>
  </xsd:complexType>
</xsd:element>
</xsd:schema>

作者: chenfex   发布时间: 2010-09-19

文中相同处,改为以下语句:
<xsd:element name="影片" maxOccurs="unbounded">
  <xsd:complexType mixed="true">

作者: cds27   发布时间: 2010-09-27