快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

关于Schema的名字空间(namespace)(2)

     在上面的代码中,目标名字空间(targetNamespace)包含了名字订单号码、商品编号、商品编号类型。而名字schema,element,simpleType,pattern,string和positiveInteger是属于标准名字空间http://www.w3.org/2000/08/xmlSchema的。也就是说,它们的意义是在http://www.w3.org/2000/08/xmlSchema中进行定义的。实际上,所有标准的XML Schmea 语法、语义和数据结构都在http://www.w3.org/2000/08/xmlSchema中进行定义。这样解析器遇到一个名称(如schema,element等等)的时候,就知道应该在哪里去得到关于它的准确的语义的使用方式。
  
    对于标准名字空间和目标名字空间,我们不需要指定它的SchemaLocation。因为对于目标名字空间来讲,SchemaLocation就是文档自己。对于标准名字空间来讲,它是众所周知的,也不需要指定。而对于源目标空间来讲,就需要指定它的SchemaLocation。见下面的例子:
  
    <schema targetNamespace=\\'http://www.SampleStore.com/Account\\'
      xmlns=\\'http://www.w3.org/1999/xmlSchema\\'
      xmlns:ACC= \\'http://www.SampleStore.com/Account\\'
      xmlns:PART= \\'http://www.PartnerStore.com/PartsCatalog\\'>
  
    <import namespace=\\'http://www.PartnerStore.com/PartsCatalog\\'
      schemaLocation=\\'http://www.ProductStandards.org/repository/alpha.xsd\\'/>
    <element name=\\'订单号码\\' type=\\'positiveInteger\\'/>
    <element name=\\'商品编号\\' type=\\'ACC: 商品编号类型\\'/>
    <simpleType name=\\'商品编号类型\\' base=\\'string\\'>
    <pattern value=\\'[A-Z]{1}d{6}\\'/>
    </simpleType>
    <element name=\\'手表\\' type=\\'PART:手表类型\\'/>
  
    在谈关于源目标空间的schemaLocation之前,我们先看一下这行代码:
  
     xmlns=\\'http://www.w3.org/1999/xmlSchema\\'
  
    它表示什么呢?它表示在文档中所有的名字前面假如没有前缀的,就是由http://www.w3.org/1999/xmlSchema进行定义和解析的。这样无疑是很合理的。因为事实上,我们XML Schema中的很多名称(比如schema,element,simpleType,pattern等等)都是来自这个标准名字空间的,反复往前面加前缀,你烦不烦呀?所以干脆把它定义成默认的,所以假如一个名称前面没有前缀,就认定它是由http://www.w3.org/1999/xmlSchema进行处理的。
  
    好,接下来我们来注重
  
    <import namespace=\\'http://www.PartnerStore.com/PartsCatalog\\'
       schemaLocation=\\'http://www.ProductStandards.org/repository/alpha.xsd\\'/>
  
  这段代码,因为http://www.PartnerStore.com/PartsCatalog是一个源名字空间,所以必须指定它的schemaLocation,采用要害字import来引入这个schemaLocation。
  
    注重到下面这行代码
  
    <element name=\\'手表\\' type=\\'PART:手表类型\\'/>
  
    它表示元素手表的类型(type)手表类型是在http://www.PartnerStore.com/PartsCatalog中进行定义的。解析器假如要寻找关于手表类型的定义,需要在名字空间http://www.PartnerStore.com/PartsCatalog下进行寻找。
  
  
    到此为止,你应该对名字空间有了一个比较感性的理解。
  


返回类别: 教程
上一教程: 使用XML的五种场合
下一教程: Google Sitemap原来支持普通Feed

您可以阅读与"关于Schema的名字空间(namespace)(2)"相关的教程:
· 关于Schema的名字空间(namespace)
· W3C入门第2天:什么是名字空间
· XML 名字空间
· 默认名字空间
· 关于在页面中解决打印的几个问题
    微笑服务 优质保证 索取样品