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

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

 2010-10-22 17:18:49 来源:WEB开发网   
核心提示: Venetian blinds 范式在 Venetian blinds 范式中,不是全局地定义所有元素,模式作用域:初级读本和最佳实践(8),您首先是全局地定义所有类型,如 清单 11 中的例子所示:清单 11. Venetian blinds 范式<xs:schema><xs

Venetian blinds 范式

在 Venetian blinds 范式中,不是全局地定义所有元素,您首先是全局地定义所有类型,如 清单 11 中的例子所示:

清单 11. Venetian blinds 范式

<xs:schema> 
 <xs:complexType name="section.type"> 
  <xs:sequence>   
  <xs:element name="Title" type="xs:string"/>   
  <xs:element name="Body" type="xs:string"/> 
  </xs:sequence> 
  
  <xs:attribute name="name" type="xs:string"/> 
 </xs:complexType> 
  
 <xs:complexType name="helpdocs.type"> 
  <xs:sequence>   
  <xs:element name="Section" type="section.type"/> 
  </xs:sequence> 
 </xs:complexType> 
  
 <xs:element name="HelpDocs" type="helpdocs.type"> 
  
</xs:schema> 

Venetian blinds 风格使用全局类型定义来增加重用能力。由于所有子元素都是局部的,所以它额外的优势是能够隐藏名称空间。该方法允许您在使用 elementFormDefault 属性作为隐藏或暴露名称空间的一个切换开关的同时,暴露您的结构定义以便重用。您做到了两全其美!

Garden of Eden 范式

在 Garden of Eden 设计范式中,您让元素声明和类型声明都是全局的,将全局化发挥到了极致。清单 12 展示了一个 Garden of Eden 风格的模式:

清单 12. Garden of Eden 范式

<xs:schema> 
 <xs:attribute name="name" type="xs:string"/> 
 <xs:element name="Title" type="xs:string"/>   
 <xs:element name="Body" type="xs:string"/> 
 <xs:element name="Section" type="section.type"/> 
 <xs:element name="HelpDocs" type="helpdocs.type"> 
 
 <xs:complexType name="section.type"> 
 <xs:sequence>   
  <xs:element ref="Title"/>   
  <xs:element ref="Body"/> 
 </xs:sequence> 
 <xs:attribute ref="name"/> 
 </xs:complexType> 
 
 <xs:complexType name="helpdocs.type"> 
 <xs:sequence>   
  <xs:element ref="Section"/> 
 </xs:sequence> 
 </xs:complexType> 
     
</xs:schema> 

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

Tags:模式 作用 初级

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