电脑综合技术区
400万+工程师在用
华为|鸿蒙开发者日
直播报名
400万+工程师在用
华为|鸿蒙开发者日
直播报名

电子发烧友网工程师

17年用户 16436经验值
擅长:可编程逻辑 MEMS/传感技术 测量仪表 模拟技术 控制/MCU RF/无线
私信 关注

xml schema教程

2008-10-7 13:22

<p><font face="Verdana"><strong>Schema</strong></font></p>
<p><font face="Verdana"><strong>Schema简介<br/></strong>本章我们将用XML Schema文件对学生信息的XML文档进行约束,并加入老师的信息。实现了如下的功能:<br/>&nbsp;&nbsp;对每个“学生”元素都用一个编号属性唯一标识。且编号的值要类似“B001”,即第一个字符为大写字母,后面跟三个数字。约束“电子邮箱”为“ewsd@163.com”的形式。“老师”元素用一个编号属性唯一标识。且编号的值要类似“GB001”。<br/>&nbsp;Schema文件的部分内容如下:</font></p>
<p><font face="Verdana"><img style="WIDTH: 534px; HEIGHT: 188px" height="187" src="https://www.elecfans.com/article/UploadPic/2008-10/20081071382428378.jpg" width="572" border="0"/><br/>&nbsp;</font></p>
<p><font face="Verdana">对“年龄”元素和“身高”元素的值进行限制。即年龄必须是在26到18岁之间。身高必须在140.0cm到190.0cm之间。 代码如下:<br/>&lt;xs:simpleType name="age"&gt;<br/>&nbsp;&lt;xs:restriction base="xs:int"&gt;<br/>&nbsp;&nbsp;&lt;xs:maxExclusive value="26"&gt;&lt;/xs:maxExclusive&gt;<br/>&nbsp;&nbsp;&lt;xs:minExclusive value="18"&gt;&lt;/xs:minExclusive&gt;<br/>&nbsp;&lt;/xs:restriction&gt;<br/>&lt;/xs:simpleType&gt;<br/>&lt;xs:simpleType name="length"&gt;<br/>&nbsp;&lt;xs:restriction base="xs:float"&gt;<br/>&nbsp;&nbsp;&lt;xs:maxExclusive value="190.0"&gt;&lt;/xs:maxExclusive&gt;<br/>&nbsp;&nbsp;&lt;xs:minExclusive value="140.0"&gt;&lt;/xs:minExclusive&gt;<br/>&nbsp;&lt;/xs:restriction&gt;<br/>&lt;/xs:simpleType&gt;</font></p><font face="Verdana">
<p><font face="Verdana"><strong>Schema的诞生</strong> </font><font face="Verdana"><br/>XML在某些特殊的应用场合,对数据本身、数据的类型以及数据之间的联系都有一定的限制。这种限制不是由XML语法来规定的,而是在特殊的环境中所必须的一种限制。我们需要把这种限制用另外的方式表达出来,然后告诉用户和计算机。</font></p>
<p><font face="Verdana">Schema作为一种新的思想诞生了,Schema通常是一组为了描述某一类XML文档而定义好的一套规则。XML Schema与DTD一样,也是对某一类XML文档进行约束并确定其结构,包括对元素、属性、及数据类型的完整定义,及某个XML文档中所使用的元素、实体、元素的属性、元素与实体之间的关系的特殊约束。XML Schema最初是由微软提出并使用,后来在W3C的专家们充分讨论和论证的基础上,于1999年2月15日,W3C发布了一个需求定义,说明了新定义的Schema必须符合的要求。1999年5月6日,W3C完成并发布了Schema的定义。最终被确定成为一个标准。</font></p>
<p><font face="Verdana"><strong>Schema的优势 <br/></strong>XML Schema文件使用XML语法,在其设计目的方面与DTD类似,但是在功能方面,XML Schema比DTD更完善,并且更容易扩展。相比DTD主要优势有以下几点:</font></p>
<p><font face="Verdana">&nbsp;(1)一个XML Schema文件同时也是一个XML文档,</font></p>
<p><font face="Verdana">&nbsp;(2)Schema定义了多种数据类型。在XML Schema文件中可以像在其他编程语言那样来定义数据类型,如整型、字符型、浮点型、布尔型、日期型等。<br/></font></p>
<p><font face="Verdana"><strong>Schema的建立和使用</strong></font></p>
<p><font face="Verdana"><font face="Verdana">建立有效的Schema文件 </font></p>
<p><font face="Verdana">&nbsp;一个有效的Schema文件的结构如下: <br/>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br/>&nbsp;&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" <br/>&nbsp;elementFormDefault="qualified" attributeFormDefault="unqualified"&gt;<br/>&nbsp;&nbsp;&lt;!-- 这里编写内容 --&gt;<br/>&nbsp;&lt;/xs:schema&gt;</font></p>
<p><img src="https://www.elecfans.com/article/UploadPic/2008-10/200810713111968611.jpg" border="0"/></p>
<p><font face="Verdana">使用Xmlspy工具书写Schema <br/>首先启动Xmlspy 2006企业版,然后点击菜单栏中的“文件”?“新建”菜单项,打开“创建新文档”对话框,选择“xsd XML Schema file”文档类型,如下图: </font></p>
<p><font face="Verdana"><img src="https://www.elecfans.com/article/UploadPic/2008-10/200810713115864761.jpg" border="0"/></font></p>
<p><font face="Verdana">点击“确定”按钮,进入文档编辑区,如下图: </font></p>
<p><img src="https://www.elecfans.com/article/UploadPic/2008-10/200810713122575950.jpg" border="0"/></p>
<p><font face="Verdana">内容编辑完成后,点击如图所示的工具栏中带黄色对勾(?)的按钮验证文件格式,如果格式良好,将显示带黄色对勾(?)的标记;反之,将显示带红色叉(X)的标记。点击图3-2所示的工具栏中带绿色对勾(?)的按钮验证文件有效性,如果文件有效,将显示带绿色对勾(?)的标记;反之,将显示带红色叉(X)的标记。<br/></font></font><br/><strong>Schema简单类型元素</strong></p>
<p><font face="Verdana">Schema类型的元素是Schema文件的根元素,每个Schema文件必须包含Schema类型的元素。Schema类型元素的属性有以下几种: </font></p>
<p><font face="Verdana"><img style="WIDTH: 532px; HEIGHT: 292px" height="291" src="https://www.elecfans.com/article/UploadPic/2008-10/200810713131696451.jpg" width="576" border="0"/></font></p>
<p><font face="Verdana"><font face="Verdana">简单类型元素主要有: simpleType类型元素&nbsp; element类型元素 attribute类型元素 enumeration类型元素 pattern类型元素 union类型元素 list类型元素 </font></font></p>
<p><font face="Verdana"><strong>&nbsp;simpleType类型元素</strong> <br/>&nbsp;simpleType类型用于定义一个简单类型的元素。</font></p>
<p><font face="Verdana">&nbsp;simpleType类型的属性有“final”、“id”和“name”。“final”属性指出派生的类型,防止该simpleType元素的指定派生类型,该值可以包含一个列表,该列表是list、union或restriction元素的子集。如下: <br/>&lt;xs:simpleType&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xs:restriction base="xs:positiveInteger"&gt;<br/>&nbsp;&nbsp;&lt;!--&nbsp; 限制取值范围 --&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xs:maxExclusive value="100"/&gt;<br/>&nbsp;&lt;/xs:restriction&gt;<br/>&lt;/xs:simpleType&gt;<br/>xs:restriction :限制基类型元素</font></p>
<p><font face="Verdana"><strong>element类型元素 <br/></strong>element用于定义一个普通的元素。一般格式如下: <br/>&lt;element name="name" type="string"&gt;&lt;/element&gt;<br/>&lt;element name="age" type="int"&gt;&lt;/element&gt;<br/>&lt;element name="address" type="string"&gt;&lt;/element&gt;<br/>element元素的属性有name、abstract、block、default、final、fixed、id、nillable、maxOccurs、minOccurs、substitutionGroup和type </font></p>
<p><font face="Verdana">name属性的值是该element元素的元素名。<br/>type属性的值是该element元素的数据类型 <br/>ref属性的值必须指向一个全局元素。<br/>maxOccurs属性的值是元素在其父元素中出现的最大次数,它的取值为大于0或等于0的数,在默认状态下为unbounded <br/>minOccurs属性的值是元素在其父元素中出现的最小次数,它的取值为大于0或等于0的数,在默认状态下为1 </font></p>
<p><font face="Verdana"><strong>attribute类型元素</strong><br/>attribute用于声明一个属性元素。如:<br/>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br/>&nbsp;&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" <br/>&nbsp;elementFormDefault="qualified" <br/>&nbsp;attributeFormDefault="unqualified"&gt; <br/>&nbsp;&nbsp;&lt;xs:attribute name="a"&gt;&lt;/xs:attribute&gt;<br/>&nbsp;&lt;/xs:schema&gt;<br/>attribute主要有name、default、fixed、id、 ref、type、use几种属性<br/>(1)Default:指该attribute类型元素的名称具有默认值;<br/>(2)fixed:指该attribute类型元素的名称具有固定的值 ;<br/>(3)use:指示如何使用该attribute类型元素。use属性的值必须是“optional”、“prohibited”、“required”中的一种。“optional”表示该属性可以是任何值,并且该属性是可选的;“prohibited”表示不能使用该属性;“required”表示该属性必须出现一次。在默认状态下use的值是“optional”。 </font></p>
<p><font face="Verdana"><strong>enumeration类型元素</strong> <br/>enumeration类型用于显示某个元素或属性的枚举。enumeration类型元素的属性有“id”和“value”,id属性标识该值在枚举列表中的位置,value表示该enumeration类型元素的值。如下: <br/>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br/>&nbsp;&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" <br/>&nbsp;elementFormDefault="qualified" attributeFormDefault="unqualified"&gt;<br/>&nbsp;&nbsp;&nbsp; &lt;xs:attribute name="address"&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp; &lt;xs:simpleType&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xs:restriction base="xs:string"&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xs:enumeration value="北京"/&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xs:enumeration value="上海"/&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xs:restriction&gt;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xs:simpleType&gt;<br/>&nbsp;&nbsp;&nbsp; &lt;/xs:attribute&gt; <br/>&nbsp;&lt;/xs:schema&gt;</font></p>
<p><font face="Verdana"><strong>pattern类型元素</strong> <br/>pattern类型主要用于对某个属性或元素的值进行约束,pattern类型的属性有“id”和“value”。“value”属性的值是被约束元素或属性的值的形式。如下: <br/>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br/>&nbsp;&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" <br/>&nbsp;elementFormDefault="qualified" attributeFormDefault="unqualified"&gt;<br/>&nbsp;&nbsp;&lt;xs:element name="id" type="mytype"&gt;<br/>&nbsp;&nbsp;&lt;/xs:element&gt;<br/>&nbsp;&nbsp;&lt;xs:simpleType name="mytype"&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;xs:restriction base="xs:string"&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xs:pattern value="\d{3}-[A-Z]{2}"/&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;/xs:restriction&gt;<br/>&nbsp;&nbsp;&lt;/xs:simpleType&gt;<br/>&nbsp;&lt;/xs:schema&gt;</font></p>
<p><font face="Verdana"><strong>union和list类型元素</strong> <br/>list类型定义单个simpleType类型元素,而union类型定义多个simpleType类型元素。 <br/>list类型有“id”和“itemType”属性。</font></p>
<p><font face="Verdana">“itemType”属性是指在该元素中定义的内置数据类型或 simpleType元素的名称。包含list元素的simpleType元素是从“itemType”值指定的简单类型派生的。list值必须是限定名。对simpleType元素子级和“itemType”属性的使用是互相排斥的。</font></p>
<p><font face="Verdana">union类型有“id”和“memberTypes”属性。</font></p>
<p><font face="Verdana">“memberTypes”属性是指在该元素中定义的内置数据类型或simpleType元素的名称列表。包含union元素的simpleType元素是从“memberTypes”值指定的简单类型派生的。 </font></p>
<p><font face="Verdana">&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br/>&nbsp;&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" <br/>&nbsp;elementFormDefault="qualified" attributeFormDefault="unqualified"&gt;<br/>&nbsp;&nbsp;&lt;xs:attribute name="id"&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;xs:simpleType&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xs:union memberTypes="first second" /&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;/xs:simpleType&gt;<br/>&nbsp;&nbsp;&lt;/xs:attribute&gt;&nbsp;<br/>&nbsp;&nbsp;&lt;!--&nbsp; 第一个simpleType&nbsp; --&gt;&nbsp;<br/>&nbsp;&nbsp;&lt;xs:simpleType name="first"&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;xs:list itemType="second"&gt;&lt;/xs:list&gt;<br/>&nbsp;&nbsp;&lt;/xs:simpleType&gt;<br/>&nbsp;&nbsp;&lt;!--&nbsp; 第二个simpleType&nbsp; --&gt;<br/>&nbsp;&nbsp;&lt;xs:simpleType name="second"&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;xs:restriction base="xs:string"&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xs:enumeration value="b001"/&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xs:enumeration value="b002"/&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;/xs:restriction&gt;<br/>&nbsp;&nbsp;&lt;/xs:simpleType&gt;<br/>&nbsp;&lt;/xs:schema&gt;</font></p>
<p><br/><strong>Schema复杂类型元素</strong></p>
<p><strong></strong><font face="Verdana">复杂类型是可以包含其他元素、属性和组的元素定义。 主要有以下几种:<br/>sequence类型元素 <br/>complexType类型元素 <br/>choice类型元素 <br/>simpleContent类型元素 <br/>extension和restriction类型元素 <br/>group类型元素 <br/>attributeGroup类型元素 </font></p>
<p><br/><strong>Schema的数据类型</strong> </p>
<p><font face="Verdana"><strong>简单数据类型</strong> <br/>Schema定义了多种内置数据类型。我们在编写Schema文件时可以直接使用他们。内置数据类型又分为基本数据类型和派生数据类型。如下表所示:<br/><font face="Verdana">简单数据类型 <br/>Schema定义了多种内置数据类型。我们在编写Schema文件时可以直接使用他们。内置数据类型又分为基本数据类型和派生数据类型。如下表所示:<br/>string&nbsp;表示字符串<br/>boolean&nbsp;表示布尔值<br/>decimal&nbsp;表示任意精度数字<br/>float&nbsp;表示单精度32位浮点数字<br/>double&nbsp;表示双精度64位浮点数字<br/>duration&nbsp;表示持续时间。duration的模式为PnYnMnDTnHnMnS<br/>dateTime&nbsp;表示时间的特定实例。模式是CCYY-MM-DDThh:mm:ss<br/>time&nbsp;表示每天重复的时间的实例,模式为hh:mm:ss.sss<br/>date&nbsp;表示日历日期。模式为CCYY-MM-DD<br/>gYearMonth&nbsp;表示特定公历年中的特定公历月<br/>gYear&nbsp;表示公历年<br/>gDay&nbsp;表示重复的公历日<br/>gM onth&nbsp;表示每年重复的公历月<br/>hexBinary&nbsp;表示任意十六进制编码的二进制数据<br/>base64Binary&nbsp;表示Base64编码的任意二进制数据<br/>anyURI&nbsp;表示按RFC 2396定义的URI<br/>QName&nbsp;表示限定名<br/>NOTATION&nbsp;表示NOTATION属性类型,QNames的集合</font></font></p>
<p><font face="Verdana"><strong>派生数据类型 <br/></strong>由基本数据类型派生出来的数据类型有如下几种: <br/>? ID:用于唯一标识元素<br/>? IDREF:IDREF类型的含义和使用与DTD中的类似。<br/>? IDREFS:IDREFS类型的含义和使用与DTD中的类似。<br/>? ENTITY:实体类型,与DTD中的类似。<br/>? ENTITIES:ENTITIES类型的含义和使用与DTD中的类似。<br/>? NMTOKEN:NMTOKEN类型,与DTD中的类似。<br/>? NMTOKENS:NMTOKENS类型集,与DTD中的类似。<br/>? long:表示长整型数大小在-9223372036854775808和9223372036854775807之间<br/>? int:表示整型数,大小在-2147483648和2147483647之间。<br/>? short:表示短整型数,大小在-32768和32767之间。<br/>? byte:表示整型数,大小在-128和127之间。<br/>数据类型的属性 <br/>每种数据类型都有不同的属性,数据类型的属性主要包括以下几种: <br/>? enumeration:在指定的数据项中选择,限定用户的选值。<br/>? fractionDigits:限定最大的小数位,用于控制精度。<br/>? length:指定数据的长度。<br/>? maxExclusive:指定数据的最大值,不包含该最大值。<br/>? maxInclusive:指定数据的最大值,包含该最大值。<br/>? maxLength:指定长度的最大值,长度单位取决于数据类型。<br/>? minExclusive:指定最小值,不包含该最小值。该值的数据类型必须与继承的数据类型相同。<br/>? minInclusive:指定最小值,包含该最小值。<br/>? minLength:指定最小长度。<br/>? pattern:指定数据的显示规范。<br/><strong>用户自定义数据类型</strong> <br/>用户在对数据类型进行自定义时,主要是通过simpleType定义,并通过simpleType元素的name属性值作为该自定义数据类型的名称。如下:<br/>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br/>&nbsp;&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" <br/>&nbsp;elementFormDefault="qualified" attributeFormDefault="unqualified"&gt;<br/>&nbsp;&nbsp;&lt;!-- 自定义类型mytype --&gt;<br/>&nbsp;&nbsp;&lt;xs:simpleType name="mytype"&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;xs:restriction base="xs:string"&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xs:enumeration value="男"&gt;&lt;/xs:enumeration&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xs:enumeration value="女"&gt;&lt;/xs:enumeration&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;/xs:restriction&gt;<br/>&nbsp;&nbsp;&lt;/xs:simpleType&gt;<br/>&nbsp;&nbsp;&lt;!--&nbsp; 使用自定义类型mytype --&gt;<br/>&nbsp;&nbsp;&lt;xs:element name="name" type="mytype"/&gt;<br/>&nbsp;&lt;/xs:schema&gt;<br/><strong>复杂数据类型</strong> <br/>复杂数据类型的定义主要是通过complexType定义。并通过complexType元素的name属性值作为该自定义数据类型的名称。如下:<br/>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br/>&nbsp;&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" <br/>&nbsp;elementFormDefault="qualified" attributeFormDefault="unqualified"&gt;<br/>&nbsp;&nbsp;&lt;xs:element name="student"&gt;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&lt;xs:complexType&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xs:sequence&gt; <br/>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;xs:element name="address" type="mytype" &gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xs:element&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xs:sequence&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;/xs:complexType&gt;<br/>&nbsp;&nbsp;&lt;/xs:element&gt;<br/>&nbsp;&nbsp;&lt;!--&nbsp; 用complexType定义一个复杂数据类型mytype--&gt;<br/>&nbsp;&nbsp;&lt;xs:complexType name="mytype"&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;xs:sequence&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xs:element name="北京" type="xs:string"/&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xs:element name="上海" type="xs:string"/&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;/xs:sequence&gt;<br/>&nbsp;&nbsp;&lt;/xs:complexType&gt;<br/>&nbsp;&lt;/xs:schema&gt;<br/><strong>用Schema约束XML文档</strong> <br/>使用schema合理控制元素之间的关系 </font></p>
<p><font face="Verdana">元素与元素之间存在着父子关系、包含关系、继承关系等,我们可以通过Schema中定义的各种类型元素来描述元素之间的关系。例如我们可以用complexType和sequence类型来描述父子关系、包含关系,用group类型来描述兄弟关系等。如下: <br/>&lt;!-- “Items”和“item”元素之间存在父子关系 --&gt;<br/>&nbsp;&lt;xs:complexType name="Items"&gt;<br/>&nbsp;&nbsp;&lt;xs:sequence&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;xs:element name="item" minOccurs="0" <br/>&nbsp;&nbsp;&nbsp;maxOccurs="unbounded"&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;!--“item”和“productName”元素之间存在父子关系--&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xs:complexType&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xs:sequence&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xs:element name="productName" type="xs:string"/&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xs:sequence&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xs:complexType&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;/xs:element&gt;<br/>&nbsp;&nbsp;&lt;/xs:sequence&gt;<br/>&nbsp;&lt;/xs:complexType&gt;<br/><strong>使用schema文件对XML文档约束 <br/></strong>在XML文档中使用已经编写好的schema文件的一般格式如下: <br/>&lt;class xmlns="http://tempuri.org/po.xsd" <br/>&nbsp;xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" &nbsp;xsi:schemaLocation="http://tempuri.org/po.xsd test.xsd"&gt;<br/>&lt;/class&gt;<br/>“class”表示根元素,其中xmlns:xsi是在文档中声明“XML 模式实例”名称空间,以授予对引用XML模式时需要的属性的访问权。当然,要添加前缀映射(xsi)和相关URL。xmlns是为所有没有前缀的元素提供缺省命名空间。 <br/>同时我们可以通过设置schemaLocation属性的值,让该文档应用多个schema文件。schemaLocation 属性如下:<br/>&lt;xsi:schemaLocation="http://tempuri.org/po.xsd D:\XML\Schema\test1.xsd<br/>D:\XML\Schema\test2.xsd"&gt;<br/>实践项目——&lt;编写班级信息XML文档的XML Schema文件 &gt; <br/>程序的实现要求如下:<br/>(1)使用Schema的内置数据类型和自定义数据类型来约束元素或属性的值。<br/>(2)使用Schema简单类型元素和复杂类型元素来定义元素,以及描述个元素之间的关系。</font><br/></p></font><br/>
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

更多回帖

打开APP