WEB开发网
开发学院WEB开发Xml 模式作用域:初级读本和最佳实践 阅读

模式作用域:初级读本和最佳实践

 2010-10-22 17:18:49 来源:WEB开发网   
核心提示: 当一个模式被确定名称空间时(就是说,具有 targetNamespace),模式作用域:初级读本和最佳实践(6),所有全局粒子都必须用全限定名称进行引用(即 prefix:name),这样的名称空间被称为是暴露的,其组件也没有重用,通过以这种方式定义模式,例如:<xs:schemaxmln

当一个模式被确定名称空间时(就是说,具有 targetNamespace),所有全局粒子都必须用全限定名称进行引用(即 prefix:name)。这样的名称空间被称为是暴露的。例如:

<xs:schema xmlns:xyz="http://xyzcompany.com" 
 targetNamespace="http://xyzcompany.com"> 
  
 <xs:element name="HelpDocs"> 
  <xs:complexType> 
  <xs:sequence>   
   <!--  Global element is referenced,   --> 
      <!--  must contain namespace prefix.   --> 
   <xs:element ref="xyz:Section"/> 
  </xs:sequence> 
  </xs:complexType> 
 </xs:element> 
  
 <xs:element name="Section">   
  <!--    --> 
 </xs:element> 
  
 </xs:schema> 

由于 Section 元素是全局的,并且声明了一个 targetNamespace,所以在对 Section 元素的引用中,xyz 名称空间前缀是必需的。<xs:element ref="Section"/> 不是有效的引用。

您可以看到,清单 8 中的每个子元素、属性和类型都是局部定义的。惟一的全局元素是根元素,即 HelpDoc。该语法紧凑,有些人可能会觉得它容易理解。Russian doll 风格的模式不将它们的组件暴露给其他类型、元素或模式,所以它们也被认为是高度去耦的(就是说,元素不全局地依赖于其他元素)和内聚的(相关元素被分组在单个自包含的父元素中)。

此范式概括为这样一种模式,即很少有跟其他系统的交互,其组件也没有重用。通过以这种方式定义模式,您可以保持结构为自包含的、隐藏名称空间以及防止受到其他系统的影响。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:模式 作用 初级

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接