注册 登录
编程论坛 Ruby论坛

xml Shema问题

缘来 发布于 2007-04-29 22:55, 7326 次点击
我初学xml,看前面的知识还行,可是当看到xml Schema的时候就不明白了,看完了这一章后没看懂xml Shema是什么意思,它到底有什么用?怎么用?请哪位高手给解释一下,最好是举个例子。
6 回复
#2
cserwang2007-05-10 17:24
xml Shema是用来定义XML文档格式的一种特殊的XML文档就象DTD一样 但比DTD更加准确的定义了XML文档
#3
mn51pj2007-06-22 20:59

有跟DTD相同的功能 但也有区别。
比如不能定义实体
#4
tyb1032007-06-27 09:53

假如要表示一个“学生档案”的词汇规则
“学生档案.xml”如下:
<学生档案>
<学生>
<姓名>张三</张三>
<性别>男</性别>
<年龄>20</年龄>
<来源>
<省份>湖南</省份>
<城市>长沙</城市>
</来源>
<班级>A06001</班级>
</学生>
</学生档案>
这个规则文档怎么写
一:用DTD写
<!ELEMENT 学生档案(学生*)>
<!ELEMENT 学生(姓名,性别.年龄,来源,班级)>
<!ELEMENT 姓名(#PCDATA)>
<!ELEMENT 性别(#PCDATA)>
<!ELEMENT 年龄(#PCDATA)>
<!ELEMENT 来源(省份,城市)>
<!ELEMENT 省份(#PCDATA)>
<!ELEMENT 城市(#PCDATA)>
<!ELEMENT 班级(#PCDATA)>
应该没写错吧 错了请指教
用DTD有很多问题出来了
#PCDATA:元素内容只包含字符数据 (姓名可以是数字不,性别可以第三类不,年龄写上一万也是合理的)
这就是DTD文档的局限性
这个用Schema怎么写我就不写了 用Schema是不会出现上面的问题的
我也是刚学 肯定用不对的地方请指教

#5
tyb1032007-06-27 09:55
好像发错了
不好意思
#6
mn51pj2007-06-29 11:39

我看了哈 比较简单的嘛
你发个正确的上来三
#7
yushui2007-06-29 19:13

楼主把Schema写错了
的楼上是用DTD定义的 呵呵
<学生档案>
<学生>
<姓名>张三</张三>
<性别>男</性别>
<年龄>20</年龄>
<来源>
<省份>湖南</省份>
<城市>长沙</城市>
</来源>
<班级>A06001</班级>
</学生>
</学生档案>
Schema
<Schema targetNamespace^不写了后面的 呵呵 >
<element name='学生档案' type='dType'/>
<complexType name='dype'>
<element name='学生'type='stutype'/>
<complexType/>
<complexType name='stuype'>
<element name='姓名' type='string'/>
<element name='性别'type='string'/>
<element name='年龄'type='string'/>
<element name='来源'type='whType'/>
<element name='班级'type='clTpye'/>
<complexType/>
<complexType name='whType'>
<element name='省份' type='string'/>
<element name='城市'type='string'/>
<complexType/>
<simpleType name='clTpye'>
<restriction base='string'>
<pattern value='[A-Z]{0}d{9}'/>
<restriction/>
<simpleType/>
<Schema/>

1