以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  [求助]请问这个XML的DTD和Schema分别怎么写啊?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=19129)


--  作者:miaovstao
--  发布时间:6/1/2005 9:10:00 PM

--  [求助]请问这个XML的DTD和Schema分别怎么写啊?
<?xml version="1.0" encoding="GB2312"?>
<学校>
  <学院>
     <班级>
        <教师>Mr.Liu </教师>
        <班长>赵剑</班长>
        <人数 单位="人">51</人数>
        <班级出勤情况> 中等</班级出勤情况>
     </班级>
     <班级>
        <教师>Mr.Zhang </教师>
        <班长>张三</班长>
        <人数 单位="人">50</人数>
        <班级出勤情况> 优</班级出勤情况>
     </班级>
     <班级>
        <教师>Miss.yun</教师>
        <班长>江凌</班长>
        <人数 单位="人">50</人数>
        <班级出勤情况>差</班级出勤情况>
     </班级>
  </学院>
</学校>
--  作者:miaovstao
--  发布时间:6/2/2005 10:02:00 AM

--  
哪为大虾帮帮忙啊,急用。
--  作者:fengzhiyi
--  发布时间:6/2/2005 10:41:00 AM

--  
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by gis (gis) -->
<!--DTD generated by XMLSPY v2004 rel. 2 U (http://www.xmlspy.com)-->
<!ELEMENT 人数 (#PCDATA)>
<!ATTLIST 人数
 单位 CDATA #FIXED "人"
>
<!ELEMENT 学校 (学院+)>
<!ELEMENT 学院 (班级+)>
<!ELEMENT 教师 (#PCDATA)>
<!ELEMENT 班级 (教师, 班长, 人数, 班级出勤情况)>
<!ELEMENT 班级出勤情况 (#PCDATA)>
<!ELEMENT 班长 (#PCDATA)>

这是DTD文件


--  作者:miaovstao
--  发布时间:6/2/2005 11:14:00 AM

--  
非常感谢
--  作者:fengzhiyi
--  发布时间:6/2/2005 11:17:00 AM

--  
<?xml version="1.0" encoding="UTF-8"?>
<!--W3C Schema generated by XMLSPY v2004 rel. 2 U (http://www.xmlspy.com)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
 <xs:element name="人数">
 <xs:complexType>
 <xs:attribute name="单位" type="xs:string" use="required" fixed="人"/>
 </xs:complexType>
 </xs:element>
 <xs:element name="学校">
  <xs:complexType>
   <xs:sequence>
    <xs:element name="学院" type="学院Type"/>
   </xs:sequence>
  </xs:complexType>
 </xs:element>
 <xs:complexType name="学院Type">
  <xs:sequence>
   <xs:element name="班级" type="班级Type" maxOccurs="unbounded"/>
  </xs:sequence>
 </xs:complexType>
 <xs:element name="教师" type="xs:string"/>
 <xs:complexType name="班级Type">
  <xs:sequence>
   <xs:element ref="教师"/>
   <xs:element ref="班长"/>
   <xs:element name="人数" type="nonNegativeInteger"/>
   <xs:element ref="班级出勤情况"/>
  </xs:sequence>
 </xs:complexType>
 <xs:element name="班级出勤情况" >
  <xs:simpleType>
   <xs:restriction base="xs:string">
    <xs:enumeration value="优"/>
    <xs:enumeration value="中等"/>
    <xs:enumeration value="差"/>
   </xs:restriction>
  </xs:simpleType>
 </xs:element>
 <xs:element name="班长"  type="xs:string"/>


</xs:schema>


这是schema文件


--  作者:fengzhiyi
--  发布时间:6/2/2005 11:18:00 AM

--  
用xmlspy自动生成再改一下,就行了
--  作者:fengzhiyi
--  发布时间:6/2/2005 11:20:00 AM

--  
schema  是W3C的!!
--  作者:miaovstao
--  发布时间:6/2/2005 11:35:00 AM

--  
呵呵,谢谢各位大虾了,问个菜点的问题,xs前缀有什么用啊?
--  作者:miaovstao
--  发布时间:6/2/2005 11:38:00 AM

--  
schema 有多少种写法啊?为什么和书上的不一样啊?
--  作者:miaovstao
--  发布时间:6/2/2005 11:39:00 AM

--  
还有一种是XSD为前缀的,还有是没有前缀的。
不用前缀的该怎么写啊?
--  作者:miaovstao
--  发布时间:6/2/2005 12:24:00 PM

--  
有哪位大哥回答下吗?
--  作者:fengzhiyi
--  发布时间:6/3/2005 6:36:00 PM

--  

xs是schema的名称空间,必须有,否则你的simpletype等就不知道从那里来的
--  作者:fengzhiyi
--  发布时间:6/3/2005 6:39:00 PM

--  
目前我知道的比较流行的schema是biztalk schema 和w3c schema,其他就不知道了,呵呵
--  作者:寒潇竹
--  发布时间:6/13/2005 1:46:00 PM

--  
我看过的资料以前的是xsd前缀,现在的新规范都是默认用w3c的xs前缀的了,实际上功能是一样的,也都可以的,你要是都改成其他字母来代替这个名称空间也不是不可以的,只不过不好理解了而已吧
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
78.125ms