1. 程式人生 > >dubbo.xsd檔案分析

dubbo.xsd檔案分析

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema xmlns="http://code.alibabatech.com/schema/dubbo" 表示預設名稱空間
	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 這個名稱空間的元素或屬性必須以xsd:這種方式來寫
	xmlns:beans="http://www.springframework.org/schema/beans"
	xmlns:tool="http://www.springframework.org/schema/tool"
	targetNamespace="http://code.alibabatech.com/schema/dubbo"> 表示文件中要定義的元素來自什麼名稱空間
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
	<xsd:import namespace="http://www.springframework.org/schema/beans"/>
	<xsd:import namespace="http://www.springframework.org/schema/tool"/>


在xml中,定義了namespace,如果要驗證xml文件的有效性,需要這些namespace相關的xsd文件。

引入xsd的方式有:

1.通過schemaLocation

<?xml version="1.0" encoding="GB2312"?>  
<books xmlns="http://www.sunxin.org/bks"     
           xmlns:p="http://www.sunxin.org/people"    
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
           xsi:schemaLocation="http://www.sunxin.org/bks      bks.xsd  
                                         http://www.sunxin.org/people  people.xsd"> 


(1)第一個為xsd的TargetNamespace(這個必須和後面的xsd中的TargetNamespace匹配)

(2)第二個代表從哪裡找到這個xsd檔案

(3)可以出現多個類似的匹配對

2.

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"   
                  xmlns:other=“http://www.w3.org/XML/1998/namespace”  
              other:schemaLocation="xml.xsd">  
  
….  
  
</xs:schema> 


定義了字首other,然後申明other字首的xsd

3.import和include

<import namespace="http://test.com/test"  
            schemaLocation="http://test.com/test/test.xsd"  
/> 

import:可以用於不同的名稱空間。

include:必須是同一名稱空間。

	<xsd:annotation>  規定schema的註釋
		<xsd:documentation><![CDATA[ Namespace support for the dubbo services provided by dubbo framework. ]]></xsd:documentation>
	</xsd:annotation>

最後歡迎大家訪問我的個人網站:1024s​​​​​​​