以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  请教schema文件的这两种写法(.xml和.xsd)有什么不同?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=40374)


--  作者:xdwjack
--  发布时间:11/22/2006 2:09:00 PM

--  请教schema文件的这两种写法(.xml和.xsd)有什么不同?
大家好,我在学习XML的过程中发现,schema文件有两个写法:
这两种写法,一个类似于普通的XML格式,一个使用了XSD的方式。
我的问题是,这两种方式是否都可以,他们之间有什么不同,两种方式的优劣比较如何,那种方式更加常用。请高手能够指点一二,谢谢!
我下面的代码未必是十分好的schema文件,但是它们的形式,我想我已经展现给大家了,谢谢大家能够对我指点。

第一种:

fclmlschema.xml
------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="GB2312" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
               xmlns:dt="urn:schemas-microsoft-com:datatypes">
    <AttributeType name="公司"/>
    <ElementType name= "姓名"/>
    <ElementType name= "ID"/>
    <ElementType name= "公司"/>
    <ElementType name= "EMAIL"/>
    <ElementType name= "电话" dt:type="fixed.14.4"/>
    <ElementType name= "街道"/>
    <ElementType name= "城市"/>
    <ElementType name= "省份"/>
</Schema>

第二种:

abc.xsd
---------------------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="ISO-8859-1" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="shiporder">
<xs:complexType>
  <xs:sequence>
   <xs:element name="orderperson" type="xs:string"/>
   <xs:element name="shipto">
    <xs:complexType>
     <xs:sequence>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="address" type="xs:string"/>
      <xs:element name="city" type="xs:string"/>
      <xs:element name="country" type="xs:string"/>
     </xs:sequence>
    </xs:complexType>
   </xs:element>
   <xs:element name="item" maxOccurs="unbounded">
    <xs:complexType>
     <xs:sequence>
      <xs:element name="title" type="xs:string"/>
      <xs:element name="note" type="xs:string" minOccurs="0"/>
      <xs:element name="quantity" type="xs:positiveInteger"/>
      <xs:element name="price" type="xs:decimal"/>
     </xs:sequence>
    </xs:complexType>
   </xs:element>
  </xs:sequence>
  <xs:attribute name="orderid" type="xs:string" use="required"/>
</xs:complexType>
</xs:element></xs:schema>


--  作者:xdwjack
--  发布时间:11/22/2006 3:24:00 PM

--  
我知道了,这两个没有什么区别,都是XSD,只不过一个使用了默认的命名空间,一个使用了一个自定义的命名空间,呵呵。如果可以的话,请斑竹删掉吧。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
42.969ms