以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  [求助]如何将DTD转换为Schema?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=10902)


--  作者:wl85721
--  发布时间:10/11/2004 2:30:00 PM

--  [求助]如何将DTD转换为Schema?
<?xml  version="1.0"  encoding="gb2312" ?>
<!ELEMENT   联系人列表  (联系人+)>
<!ELEMENT   联系人  (姓名,公司,地址)>
<!ELEMENT   姓名  (#PCDATA)>
<!ELEMENT   公司  (#PCDATA)>
<!ATTLIST  公司  企业性质   (私营|国有) #REQUIRED>
<!ELEMENT   地址  (#PCDATA)>
<!ENTITY   A公司地址  "成都信息工程公司">
<!ENTITY   B公司地址  "四川物流运输配送中心">


如何将DTD转换为Schema?  谢谢啊!!!!


--  作者:doubleG
--  发布时间:10/11/2004 3:05:00 PM

--  
XMLSPY中含有这种功能,我给你转了一个:
<?xml version="1.0" encoding="UTF-8"?>
<!--W3C Schema generated by XMLSPY v2004 rel. 3 U (http://www.xmlspy.com)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
 <xs:element name="公司">
  <xs:complexType>
   <xs:simpleContent>
    <xs:extension base="xs:string">
     <xs:attribute name="企业性质" use="required">
      <xs:simpleType>
       <xs:restriction base="xs:NMTOKEN">
        <xs:enumeration value="私营"/>
        <xs:enumeration value="国有"/>
       </xs:restriction>
      </xs:simpleType>
     </xs:attribute>
    </xs:extension>
   </xs:simpleContent>
  </xs:complexType>
 </xs:element>
 <xs:element name="地址" type="xs:string"/>
 <xs:element name="姓名" type="xs:string"/>
 <xs:element name="联系人">
  <xs:complexType>
   <xs:sequence>
    <xs:element ref="姓名"/>
    <xs:element ref="公司"/>
    <xs:element ref="地址"/>
   </xs:sequence>
  </xs:complexType>
 </xs:element>
 <xs:element name="联系人列表">
  <xs:complexType>
   <xs:sequence>
    <xs:element ref="联系人" maxOccurs="unbounded"/>
   </xs:sequence>
  </xs:complexType>
 </xs:element>
</xs:schema>

--  作者:wl85721
--  发布时间:10/11/2004 6:55:00 PM

--  
好象还是 不行啊
不能通过啊!
<?xml version="1.0" encoding="gb2312" ?>
<联系人列表 xmlns="x-schema:***.xml">
<联系人>
    <姓名>张三</姓名>
    <公司 企业性质="私营">A公司</公司>
    <地址>&A公司地址;</地址>
</联系人>
<联系人>
    <姓名>李四</姓名>
    <公司 企业性质="国有">B公司</公司>
    <地址>&B公司地址;</地址>
</联系人>
<联系人>
    <姓名>王五</姓名>
    <公司 企业性质="国有">B公司</公司>
    <地址>&B公司地址;</地址>
</联系人>
</联系人列表>
--  作者:doubleG
--  发布时间:10/11/2004 7:44:00 PM

--  
那是因为你的节点<地址>中含有&字符,需要转义成&amp;或者用CDATA包起来。
--  作者:づ紫月サ
--  发布时间:10/13/2004 6:50:00 PM

--  
?????????????
--  作者:wl85721
--  发布时间:10/14/2004 11:19:00 AM

--  
& 是实体引用啊!!!
--  作者:doubleG
--  发布时间:10/14/2004 11:25:00 AM

--  
>&A公司地址;<这个是你自定义的实体?我去哪里给你找啊 呵呵
--  作者:wl85721
--  发布时间:10/17/2004 10:44:00 PM

--  
<!ENTITY   A公司地址  "成都信息工程公司">
<!ENTITY   B公司地址  "四川物流运输配送中心">
这个就是我自定义的实体
&A公司地址; 就是进行实体引用啊!!
--  作者:doubleG
--  发布时间:10/18/2004 9:29:00 AM

--  
schema中不能自定义实体的,你必须用DTD去定义,呵呵


--  作者:lizhijie97
--  发布时间:10/18/2004 4:55:00 PM

--  
转成SCHEMA 不应该后缀名为XSD吗?

为什么还是XML


--  作者:wl85721
--  发布时间:10/18/2004 10:50:00 PM

--  
不是说 schema 的功能比DTD强大吗?
为什么schema中不能自定义实体??????????????????????
--  作者:moon1128
--  发布时间:10/20/2004 9:15:00 AM

--  
问什么一定要用自定义实体呢?
直接把A,B公司地址写出来。
--  作者:射雕英雄
--  发布时间:11/4/2004 9:22:00 PM

--  
我想问一下呀,为什么SCHEMA做完以后要保留成XML文件呢?
--  作者:jimmyvk
--  发布时间:11/11/2004 2:35:00 PM

--  
弱弱的问一下,DTD和Schema之间的区别在什么地方啊,麻烦各位高手给个解释

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