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

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

 2010-10-22 17:18:49 来源:WEB开发网 闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�闂傚倸鍊风粈渚€骞夐敓鐘插瀭闁汇垹鐏氬畷鏌ユ煙閹殿喖顣奸柛搴$У閵囧嫰骞掗幋婵冨亾閻㈢ǹ纾婚柟鐐灱濡插牊绻涢崱妤冃℃繛宀婁簽缁辨捇宕掑鎵佹瀸闂佺懓鍤栭幏锟�濠电姷鏁告慨顓㈠箯閸愵喖宸濇い鎾寸箘閹规洟姊绘笟鈧ḿ褍煤閵堝悿娲Ω閳轰胶鍔﹀銈嗗笂閼冲爼鍩婇弴銏$厪闁搞儮鏅涙禒褏绱掓潏鈺佷槐闁轰焦鎹囬弫鎾绘晸閿燂拷闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�  闂傚倸鍊烽懗鑸电仚缂備胶绮〃鍛村煝瀹ュ鍗抽柕蹇曞У閻庮剟姊虹紒妯哄闁诲繑姘ㄩ埀顒佸嚬閸撶喎顫忓ú顏勫瀭妞ゆ洖鎳庨崜浼存⒑闁偛鑻晶顔剧磼婢跺﹦绉虹€殿喖顭锋俊姝岊槷闁稿鎹囧Λ鍐ㄢ槈濞嗗繑娈橀梻浣风串缂嶁偓濞存粠鍓熼崺鈧い鎺戝€归弳顒勬煕鐎n亷韬€规洑鍗冲鍊燁槾闁哄棴绠撻弻銊╂偆閸屾稑顏�
核心提示: 在 清单 4 中,address 元素是根元素,模式作用域:初级读本和最佳实践(3),zipCode 元素不能充当实例中的根元素,因为它不是在模式模块中的根层次被全局定义的,属性定义与此类似,例如,局部定义的元素只能出现在定义它们的元素定义上下文中,在局部作用域内引用全局元素和属性除了充当根元素

在 清单 4 中,address 元素是根元素。zipCode 元素不能充当实例中的根元素,因为它不是在模式模块中的根层次被全局定义的。局部定义的元素只能出现在定义它们的元素定义上下文中。

在局部作用域内引用全局元素和属性

除了充当根元素之外,任何全局定义的元素也可以在任何需要它们的局部作用域内被引用和出现。在 清单 5 的例子中,全局定义的 zipCode 元素被用于局部作用域上下文中的 address 元素的定义中:

清单 5. 局部作用域内引用的全局元素

<xs:schema> 
 <xs:element name="address"> 
 <xs:complexType> 
  <xs:sequence> 
  <xs:element name='street' type='xs:string'/> 
  <xs:element name='city' type='xs:string'/> 
  <xs:element ref='zipCode'/> <!-- reference to globally defined element --> 
  </xs:sequence> 
 </xs:complexType> 
 </xs:element> 
 
<!-- Globally defined element that is referenced in element above --> 
 <xs:element name='zipCode' type='xs:string'/> 
</xs:schema> 

您可以看到,全局暴露的元素声明支持模块化和重用。您可以在该模式的其他部分和会导入该模式的父模式中引用 zipCode 元素。

属性定义与此类似。例如,在 清单 6 中,全局定义的 state 被引用在局部作用域上下文中的 address 元素中:

清单 6. 局部作用域中引用的全局属性

<xs:schema> 
 <xs:element name='address'> 
 <xs:complexType> 
  <!--[.. elements removed for readability..]--> 
  <xs:attribute ref="state"/> <!-- referencing globally defined attribute --> 
 </xs:complexType> 
 </xs:element> 
 
 <xs:attribute name="state" type="xs:string"/> <!--globally defined attribute --> 
 
</xs:schema> 

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

Tags:模式 作用 初级

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接