XML入門教程:XML語法-XML/XSLT
互聯(lián)網(wǎng) 發(fā)布時(shí)間:2009-04-02 20:58:52 作者:佚名
我要評論

接著在瀏覽器中打開index.xml文檔,則可顯示“Hello World”。上面兩個(gè)文檔都是合法的XML文件,具體的語法規(guī)則下面會詳細(xì)介紹,上例可先給大家一個(gè)感性的認(rèn)識。合法的XML文檔可有種意思,一個(gè)是良構(gòu)文檔(well-format),即符合XML規(guī)則書寫的文檔
接著在瀏覽器中打開index.xml文檔,則可顯示“Hello World”。上面兩個(gè)文檔都是合法的XML文件,具體的語法規(guī)則下面會詳細(xì)介紹,上例可先給大家一個(gè)感性的認(rèn)識。合法的XML文檔可有種意思,一個(gè)是良構(gòu)文檔(well-format),即符合XML規(guī)則書寫的文檔;另一種是有效文檔,是已
創(chuàng)建一個(gè)簡單的index.xml文檔:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="basic.xsl"?> <basic>Hello World</basic>
下面創(chuàng)建一個(gè)名為basic.xsl的XML樣式表(XSL),以便在瀏覽器中顯示XML文檔內(nèi)容:
<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head> <title>a basic stylesheet</title> </head> <body> <xsl:value-of select="/" /> </body> </html> </xsl:template> </xsl:stylesheet>
接著在瀏覽器中打開index.xml文檔,則可顯示“Hello World”。上面兩個(gè)文檔都是合法的XML文件,具體的語法規(guī)則下面會詳細(xì)介紹,上例可先給大家一個(gè)感性的認(rèn)識。
本文由腳本之家(http://www.dbjr.com.cn)整理發(fā)布!轉(zhuǎn)載請注明出處,謝謝!
合法的XML文檔可有種意思,一個(gè)是良構(gòu)文檔(well-format),即符合XML規(guī)則書寫的文檔;另一種是有效文檔,是已驗(yàn)證符合一個(gè)DTD的文檔。
1.基本語法規(guī)則
XML是區(qū)分大小寫的;
所有元素的起始和結(jié)束標(biāo)注必須成對出現(xiàn),且要正確嵌套;
如果使XML說明,則它必須是XML文檔的第一行:
<?xml version="1.0"?>
元素屬性必須用引號引起來,單、雙引號都可以,但必須成對出現(xiàn)。如:
<basic attr="1.0">
<basic attr='1.0'>
XML命名規(guī)則:
XML名以下劃線或字母開始;
XML名可包含字母、數(shù)字、句點(diǎn)、下劃線和冒號;
XML名不能包含空格;
XML名不能以數(shù)字開始,但可包含數(shù)字;
XML名區(qū)分大小寫。
保留標(biāo)記字符,如果要在XML中顯示<或&之類的標(biāo)記,就要使用字符的實(shí)體形式,XML中有五種預(yù)先定義了的實(shí)體:
< 表示<字符
> 表示>字符
& 表示&字符
' 表示'字符
" 表示"字符
我們也可用ENTITY自定義實(shí)體:
<!ENTITY linux "linux is a very good system">
這樣我們可用&linux;來調(diào)用。
XML文檔內(nèi)容中的空格是有意義的,在轉(zhuǎn)換后會保留。
空元素以<開始并以/>結(jié)束,如<br/>。
2.良構(gòu)XML文檔和有效XML文檔
符合XML語法規(guī)則的XML文檔稱為良構(gòu)文檔,這些規(guī)則如下:
應(yīng)當(dāng)只有一個(gè)父標(biāo)志,由父標(biāo)志派生所有其它子標(biāo)志,在一個(gè)文檔中不能存在多個(gè)父標(biāo)志。
嵌套元素應(yīng)按正確的順序開始和結(jié)束。
子標(biāo)志應(yīng)在父標(biāo)志完成前關(guān)閉。
屬性值應(yīng)放在雙引號中。
通過某個(gè)DTD或Schema驗(yàn)證的文檔稱為有效XML文檔。
本文由腳本之家(http://www.dbjr.com.cn)整理發(fā)布!轉(zhuǎn)載請注明出處,謝謝!
3.XML文檔的組成
XML聲明:
version,定義XML規(guī)范的版本號,到現(xiàn)在為止,只有一個(gè)版本號1.0。
encoding,指定文檔的編碼系統(tǒng)。
standalone,定義文檔是獨(dú)立的還是需要裝入其他元素才能正確分析。如果XML文檔沒有外部實(shí)體或DTD,則可以設(shè)置為no,否則設(shè)置為yes??捎迷撝堤岣咝阅埽喝绻麨閚o,則可提高處理速度;如果設(shè)置為yes,則首先要分析文檔,確定需要其他哪些文件,然后才能完全分析文檔。
根元素,每篇XML文檔都需要有且只能有一個(gè)根元素。由元素是文檔的第一個(gè)元素,包含其它所有元素。下例的portal就是根元素,如:
<portal>
<name>jims</name>
<email></email>
...
</portal>
屬性,每個(gè)元素都可以設(shè)置一個(gè)或多個(gè)屬性,如:
<portal>
<name id='1',sex="male">Jims</name>
</portal>
元素和屬性都可以表示信息,什么時(shí)候使用元素,什么時(shí)候使用屬性呢?屬性信息表現(xiàn)能力有限,它只能表示字符串。所以當(dāng)需靈活表示信息時(shí)應(yīng)該使用元素。一般把信息主體放到元素中,屬性只放一些注釋或額外的信息。
CDATA部份,它用<![CDATA[和]]>表示,它們之間的數(shù)據(jù)作為原始字符顯示,唯一不能出現(xiàn)的標(biāo)志是]]>。
注釋,注釋是很重要,不論是在編寫程序和文檔時(shí),所以XML也提供了注釋功能,以<!--開頭-->結(jié)尾的一對區(qū)間為注釋。在以-->結(jié)束之前,不能出現(xiàn)“--”號,“---”更不允許。
處理指令,處理指令以<?開頭以?>結(jié)尾。如PHP處理指令可寫成,<?php ... ?>。處理指令是標(biāo)記,而不是元素。因此,與注釋一樣,處理指令可出現(xiàn)在XML文檔的標(biāo)簽外的任何位置,包括根元素之前或之后。最常見的處理指令是,xml-stylesheet樣式表指令,它會告訴瀏覽器在顯示文檔時(shí)應(yīng)用什么樣式表。如:
<?xml-stylesheet href="sample.css" type="text/css"?>
<portal>
<name>...</name>
...
</portal>
4.XML文檔樹
XML文檔是一種結(jié)構(gòu)化的文檔,可用樹的形式表示出來。樹是一種由節(jié)點(diǎn)和分支組成的簡單結(jié)構(gòu),兩個(gè)節(jié)點(diǎn)間由分支連接。上端的節(jié)點(diǎn)稱為父節(jié)點(diǎn),下端的節(jié)點(diǎn)稱為子節(jié)點(diǎn)。一個(gè)節(jié)點(diǎn)如果沒有父節(jié)點(diǎn),則稱為樹的根節(jié)點(diǎn)(根),每個(gè)樹必須有且只能有一個(gè)根節(jié)點(diǎn)。一個(gè)節(jié)點(diǎn)如果沒有子節(jié)點(diǎn),則稱為樹的葉節(jié)點(diǎn)。只有一個(gè)節(jié)點(diǎn)的樹也是允許的。
XML是區(qū)分大小寫的;
所有元素的起始和結(jié)束標(biāo)注必須成對出現(xiàn),且要正確嵌套;
如果使XML說明,則它必須是XML文檔的第一行:
<?xml version="1.0"?>
元素屬性必須用引號引起來,單、雙引號都可以,但必須成對出現(xiàn)。如:
<basic attr="1.0"> <basic attr='1.0'>
XML命名規(guī)則:
XML名以下劃線或字母開始;
XML名可包含字母、數(shù)字、句點(diǎn)、下劃線和冒號;
XML名不能包含空格;
XML名不能以數(shù)字開始,但可包含數(shù)字;
XML名區(qū)分大小寫。
保留標(biāo)記字符,如果要在XML中顯示<或&之類的標(biāo)記,就要使用字符的實(shí)體形式,XML中有五種預(yù)先定義了的實(shí)體:
< 表示<字符 > 表示>字符 & 表示&字符 ' 表示'字符 " 表示"字符
我們也可用ENTITY自定義實(shí)體:
<!ENTITY linux "linux is a very good system"> 這樣我們可用&linux;來調(diào)用。
XML文檔內(nèi)容中的空格是有意義的,在轉(zhuǎn)換后會保留。
空元素以<開始并以/>結(jié)束,如<br/>。
2.良構(gòu)XML文檔和有效XML文檔
符合XML語法規(guī)則的XML文檔稱為良構(gòu)文檔,這些規(guī)則如下:
應(yīng)當(dāng)只有一個(gè)父標(biāo)志,由父標(biāo)志派生所有其它子標(biāo)志,在一個(gè)文檔中不能存在多個(gè)父標(biāo)志。
嵌套元素應(yīng)按正確的順序開始和結(jié)束。
子標(biāo)志應(yīng)在父標(biāo)志完成前關(guān)閉。
屬性值應(yīng)放在雙引號中。
通過某個(gè)DTD或Schema驗(yàn)證的文檔稱為有效XML文檔。
本文由腳本之家(http://www.dbjr.com.cn)整理發(fā)布!轉(zhuǎn)載請注明出處,謝謝!
3.XML文檔的組成
XML聲明:
version,定義XML規(guī)范的版本號,到現(xiàn)在為止,只有一個(gè)版本號1.0。
encoding,指定文檔的編碼系統(tǒng)。
standalone,定義文檔是獨(dú)立的還是需要裝入其他元素才能正確分析。如果XML文檔沒有外部實(shí)體或DTD,則可以設(shè)置為no,否則設(shè)置為yes??捎迷撝堤岣咝阅埽喝绻麨閚o,則可提高處理速度;如果設(shè)置為yes,則首先要分析文檔,確定需要其他哪些文件,然后才能完全分析文檔。
根元素,每篇XML文檔都需要有且只能有一個(gè)根元素。由元素是文檔的第一個(gè)元素,包含其它所有元素。下例的portal就是根元素,如:
<portal>
<name>jims</name>
<email></email>
...
</portal>
屬性,每個(gè)元素都可以設(shè)置一個(gè)或多個(gè)屬性,如:
<portal>
<name id='1',sex="male">Jims</name>
</portal>
元素和屬性都可以表示信息,什么時(shí)候使用元素,什么時(shí)候使用屬性呢?屬性信息表現(xiàn)能力有限,它只能表示字符串。所以當(dāng)需靈活表示信息時(shí)應(yīng)該使用元素。一般把信息主體放到元素中,屬性只放一些注釋或額外的信息。
CDATA部份,它用<![CDATA[和]]>表示,它們之間的數(shù)據(jù)作為原始字符顯示,唯一不能出現(xiàn)的標(biāo)志是]]>。
注釋,注釋是很重要,不論是在編寫程序和文檔時(shí),所以XML也提供了注釋功能,以<!--開頭-->結(jié)尾的一對區(qū)間為注釋。在以-->結(jié)束之前,不能出現(xiàn)“--”號,“---”更不允許。
處理指令,處理指令以<?開頭以?>結(jié)尾。如PHP處理指令可寫成,<?php ... ?>。處理指令是標(biāo)記,而不是元素。因此,與注釋一樣,處理指令可出現(xiàn)在XML文檔的標(biāo)簽外的任何位置,包括根元素之前或之后。最常見的處理指令是,xml-stylesheet樣式表指令,它會告訴瀏覽器在顯示文檔時(shí)應(yīng)用什么樣式表。如:
<?xml-stylesheet href="sample.css" type="text/css"?>
<portal>
<name>...</name>
...
</portal>
4.XML文檔樹
XML文檔是一種結(jié)構(gòu)化的文檔,可用樹的形式表示出來。樹是一種由節(jié)點(diǎn)和分支組成的簡單結(jié)構(gòu),兩個(gè)節(jié)點(diǎn)間由分支連接。上端的節(jié)點(diǎn)稱為父節(jié)點(diǎn),下端的節(jié)點(diǎn)稱為子節(jié)點(diǎn)。一個(gè)節(jié)點(diǎn)如果沒有父節(jié)點(diǎn),則稱為樹的根節(jié)點(diǎn)(根),每個(gè)樹必須有且只能有一個(gè)根節(jié)點(diǎn)。一個(gè)節(jié)點(diǎn)如果沒有子節(jié)點(diǎn),則稱為樹的葉節(jié)點(diǎn)。只有一個(gè)節(jié)點(diǎn)的樹也是允許的。
應(yīng)當(dāng)只有一個(gè)父標(biāo)志,由父標(biāo)志派生所有其它子標(biāo)志,在一個(gè)文檔中不能存在多個(gè)父標(biāo)志。
嵌套元素應(yīng)按正確的順序開始和結(jié)束。
子標(biāo)志應(yīng)在父標(biāo)志完成前關(guān)閉。
屬性值應(yīng)放在雙引號中。
通過某個(gè)DTD或Schema驗(yàn)證的文檔稱為有效XML文檔。
本文由腳本之家(http://www.dbjr.com.cn)整理發(fā)布!轉(zhuǎn)載請注明出處,謝謝!
3.XML文檔的組成
XML聲明:
version,定義XML規(guī)范的版本號,到現(xiàn)在為止,只有一個(gè)版本號1.0。
encoding,指定文檔的編碼系統(tǒng)。
standalone,定義文檔是獨(dú)立的還是需要裝入其他元素才能正確分析。如果XML文檔沒有外部實(shí)體或DTD,則可以設(shè)置為no,否則設(shè)置為yes??捎迷撝堤岣咝阅埽喝绻麨閚o,則可提高處理速度;如果設(shè)置為yes,則首先要分析文檔,確定需要其他哪些文件,然后才能完全分析文檔。
根元素,每篇XML文檔都需要有且只能有一個(gè)根元素。由元素是文檔的第一個(gè)元素,包含其它所有元素。下例的portal就是根元素,如:
<portal>
<name>jims</name>
<email></email>
...
</portal>
屬性,每個(gè)元素都可以設(shè)置一個(gè)或多個(gè)屬性,如:
<portal>
<name id='1',sex="male">Jims</name>
</portal>
元素和屬性都可以表示信息,什么時(shí)候使用元素,什么時(shí)候使用屬性呢?屬性信息表現(xiàn)能力有限,它只能表示字符串。所以當(dāng)需靈活表示信息時(shí)應(yīng)該使用元素。一般把信息主體放到元素中,屬性只放一些注釋或額外的信息。
CDATA部份,它用<![CDATA[和]]>表示,它們之間的數(shù)據(jù)作為原始字符顯示,唯一不能出現(xiàn)的標(biāo)志是]]>。
注釋,注釋是很重要,不論是在編寫程序和文檔時(shí),所以XML也提供了注釋功能,以<!--開頭-->結(jié)尾的一對區(qū)間為注釋。在以-->結(jié)束之前,不能出現(xiàn)“--”號,“---”更不允許。
處理指令,處理指令以<?開頭以?>結(jié)尾。如PHP處理指令可寫成,<?php ... ?>。處理指令是標(biāo)記,而不是元素。因此,與注釋一樣,處理指令可出現(xiàn)在XML文檔的標(biāo)簽外的任何位置,包括根元素之前或之后。最常見的處理指令是,xml-stylesheet樣式表指令,它會告訴瀏覽器在顯示文檔時(shí)應(yīng)用什么樣式表。如:
<?xml-stylesheet href="sample.css" type="text/css"?>
<portal>
<name>...</name>
...
</portal>
4.XML文檔樹
XML文檔是一種結(jié)構(gòu)化的文檔,可用樹的形式表示出來。樹是一種由節(jié)點(diǎn)和分支組成的簡單結(jié)構(gòu),兩個(gè)節(jié)點(diǎn)間由分支連接。上端的節(jié)點(diǎn)稱為父節(jié)點(diǎn),下端的節(jié)點(diǎn)稱為子節(jié)點(diǎn)。一個(gè)節(jié)點(diǎn)如果沒有父節(jié)點(diǎn),則稱為樹的根節(jié)點(diǎn)(根),每個(gè)樹必須有且只能有一個(gè)根節(jié)點(diǎn)。一個(gè)節(jié)點(diǎn)如果沒有子節(jié)點(diǎn),則稱為樹的葉節(jié)點(diǎn)。只有一個(gè)節(jié)點(diǎn)的樹也是允許的。
XML聲明:
version,定義XML規(guī)范的版本號,到現(xiàn)在為止,只有一個(gè)版本號1.0。
encoding,指定文檔的編碼系統(tǒng)。
standalone,定義文檔是獨(dú)立的還是需要裝入其他元素才能正確分析。如果XML文檔沒有外部實(shí)體或DTD,則可以設(shè)置為no,否則設(shè)置為yes??捎迷撝堤岣咝阅埽喝绻麨閚o,則可提高處理速度;如果設(shè)置為yes,則首先要分析文檔,確定需要其他哪些文件,然后才能完全分析文檔。
根元素,每篇XML文檔都需要有且只能有一個(gè)根元素。由元素是文檔的第一個(gè)元素,包含其它所有元素。下例的portal就是根元素,如:
<portal> <name>jims</name> <email></email> ... </portal>
屬性,每個(gè)元素都可以設(shè)置一個(gè)或多個(gè)屬性,如:
<portal> <name id='1',sex="male">Jims</name> </portal>
元素和屬性都可以表示信息,什么時(shí)候使用元素,什么時(shí)候使用屬性呢?屬性信息表現(xiàn)能力有限,它只能表示字符串。所以當(dāng)需靈活表示信息時(shí)應(yīng)該使用元素。一般把信息主體放到元素中,屬性只放一些注釋或額外的信息。
CDATA部份,它用<![CDATA[和]]>表示,它們之間的數(shù)據(jù)作為原始字符顯示,唯一不能出現(xiàn)的標(biāo)志是]]>。
注釋,注釋是很重要,不論是在編寫程序和文檔時(shí),所以XML也提供了注釋功能,以<!--開頭-->結(jié)尾的一對區(qū)間為注釋。在以-->結(jié)束之前,不能出現(xiàn)“--”號,“---”更不允許。
處理指令,處理指令以<?開頭以?>結(jié)尾。如PHP處理指令可寫成,<?php ... ?>。處理指令是標(biāo)記,而不是元素。因此,與注釋一樣,處理指令可出現(xiàn)在XML文檔的標(biāo)簽外的任何位置,包括根元素之前或之后。最常見的處理指令是,xml-stylesheet樣式表指令,它會告訴瀏覽器在顯示文檔時(shí)應(yīng)用什么樣式表。如:
<?xml-stylesheet href="sample.css" type="text/css"?> <portal> <name>...</name> ... </portal>
4.XML文檔樹
XML文檔是一種結(jié)構(gòu)化的文檔,可用樹的形式表示出來。樹是一種由節(jié)點(diǎn)和分支組成的簡單結(jié)構(gòu),兩個(gè)節(jié)點(diǎn)間由分支連接。上端的節(jié)點(diǎn)稱為父節(jié)點(diǎn),下端的節(jié)點(diǎn)稱為子節(jié)點(diǎn)。一個(gè)節(jié)點(diǎn)如果沒有父節(jié)點(diǎn),則稱為樹的根節(jié)點(diǎn)(根),每個(gè)樹必須有且只能有一個(gè)根節(jié)點(diǎn)。一個(gè)節(jié)點(diǎn)如果沒有子節(jié)點(diǎn),則稱為樹的葉節(jié)點(diǎn)。只有一個(gè)節(jié)點(diǎn)的樹也是允許的。
相關(guān)文章
MIME類型中application/xml與text/xml的區(qū)別介紹
這篇文章介紹了MIME類型中application/xml與text/xml的區(qū)別,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-12-28- XML中擁有Schema特性,能夠比DTD更加強(qiáng)大地引入元素結(jié)構(gòu),下面我們就來詳解XML中的模式Schema的概念及作用和用法,需要的朋友可以參考下2021-11-30
- 這篇文章主要介紹了XML基本概念入門學(xué)習(xí)指南,包括其與HTML的關(guān)系以及元素和特殊標(biāo)簽等,需要的朋友可以參考下2016-06-24
- XML標(biāo)簽的自定義功能非常強(qiáng)大,比如本文將要講解的DTD(Document Type Definition)就帶給人們一種面向?qū)ο蟀愕母杏X,well,下面就來看一下XML中的DTD文件類型定義完全解析2016-06-24
- 這篇文章主要介紹了XML文件的閱讀與編輯,最常用的工具當(dāng)然還是瀏覽器中的控制臺與源代碼查看,需要的朋友可以參考下2016-02-16
- 這篇文章主要介紹了XML的命名空間,包括命名空間的聲明等XML入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2016-02-16
解析XML中的樹形結(jié)構(gòu)與DOM文檔對象模型
這篇文章主要介紹了XML中的樹形結(jié)構(gòu)與DOM文檔對象模型,文中舉了JavaScript解析DOM對象的例子,需要的朋友可以參考下2016-02-15- 這篇文章主要介紹了詳解XML編程中的模式定義XSD,講解了如何在XML文檔中聲明模式及定義類型等內(nèi)容,需要的朋友可以參考下2016-02-15
- 這篇文章主要介紹了XML中的DTD文檔類型定義,是XML入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2016-02-15
- 這篇文章主要介紹了XML代碼編寫的編碼與驗(yàn)證問題,與HTML類似,XML文件的編碼也能在序言部分被指定,需要的朋友可以參考下2016-02-15