1. xml中的localName和QName
2.<websites 3. xmlns:sina='http://www.sina.com' 4. xmlns:baidu='http://www.baidu.com'> 5. 6. <sina:website sina:blog='blog.sina.com'>新浪</sina:website> 7. <baidu:website baidu:blog='hi.baidu.com'>百度</baidu:website> 8.</websites>
Namespace(空間名稱,命名空間)
引入的原因是為了避免混淆。例如上面的這個XML文檔,sina和baidu都有blog屬性,定義了兩個namespace,就像sax官網(wǎng)說的,用namespace是為了實現(xiàn)更多的擴展功能,作為基本應(yīng)用,很多時候都用不到它:
sina的namespace:http://www.sina.com
baidu的namespace:http://www.baidu.com
1. xmlns:sina='http://www.sina.com'
2. xmlns:baidu='http://www.baidu.com'>
namespace的值可以任意,但是注意不要重復(fù)。一般默認的格式都是以url來作為namespace,比如
xmlns:Android='http://schemas.android.com/apk/res/android。
Prefix(前綴)
sina:blog中sina就是前綴。
LocalName(本地名稱)
sina:blog中blog就是localName。
QName(Qualified Name限定的名稱)
sina:blog就是QName,相當(dāng)于前綴 ':' LocalName。
uri(不是url哈)
例如sina:blog的uri就是前綴sina的namespace,即'http://www.sina.com'。
sax simple API for XML,現(xiàn)在有兩個版本,sax和sax2。
sax不支持LocalName、QName和uri。對于屬性sina:blog='blog.sina.com',sax解析的結(jié)果是LocalName=QName='sina:blog',uri='',value='blog.sina.com'。
sax2支持LocalName、QName、uri。對于屬性sina:blog='blog.sina.com',sax2解析的結(jié)果是LocalName='blog',QName='sina:blog',uri='',value='blog.sina.com'。