?? xml1_0 中文文檔(第二版)---2_ 文件 - fanqiang_com.htm
字號(hào):
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-charref">字符引用</A>,<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-comment">注釋</A>,<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-cdsection">CDATA
段</A>定界符,<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-doctype">文件類型聲明</A>,<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-pi">處理指令</A>,<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-XMLDecl">XML
聲明</A>,<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-TextDecl">文本聲明</A>,以及任何在文件實(shí)體頂層的空白(即,在文件元素之外且不在任何其他的標(biāo)記中)。]</P>
<P><A name=dt-chardata></A>[定義:其他所有非標(biāo)記的文本組成文件的<B>字符數(shù)據(jù)</B>。]</P>
<P>"and"號(hào)(&)和左尖括號(hào)(<)<EM>只有</EM>作為標(biāo)記定界符,或在<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-comment">注釋</A>,<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-pi">處理指令</A>,或
<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-cdsection">CDATA
段</A>中時(shí)才能以常量形式出現(xiàn)。如果在其他地方需要用到這兩個(gè)字符,它們必須用<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-charref">數(shù)值式字符引用</A>來<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-escape">轉(zhuǎn)義</A>或分別用字符串"<CODE>&</CODE>"和"<CODE><</CODE>"表示。右尖括號(hào)(>)可以用"<CODE>></CODE>"表示,而當(dāng)它在內(nèi)容中的字符串"<CODE>]]></CODE>"中出現(xiàn),但此字符串不表示一個(gè)
<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-cdsection">CDATA
段</A>的結(jié)束時(shí),<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-compat">出于兼容性考慮</A>,必須用"<CODE>></CODE>"或一個(gè)字符引用轉(zhuǎn)義得到。</P>
<P>在一個(gè)元素的內(nèi)容中,字符數(shù)據(jù)可以是不包括任何標(biāo)記的起始定界符的任意字符串。在一個(gè) CDATA 段中,字符數(shù)據(jù)可以是不包括
CDATA 段結(jié)束定界符"<CODE>]]></CODE>"的任意字符串。</P>
<P>為了允許在屬性值中包含單引號(hào)和雙引號(hào),省略符或稱單引號(hào)(')可以被表示為"<CODE>&apos;</CODE>",而雙引號(hào)(")可以被表示為"<CODE>"</CODE>"。
</P>
<H5>字符數(shù)據(jù)</H5>
<TABLE class=scrap>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-CharData></A>[14] </TD>
<TD><CODE>CharData</CODE></TD>
<TD>::= </TD>
<TD><CODE>[^<&]* - ([^<&]* ']]>'
[^<&]*)</CODE></TD></TR></TBODY></TABLE>
<H3><A name=sec-comments>2.5 注釋</A></H3>
<P><A name=dt-comment></A>[定義:<B>注釋</B>可以在其他<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-markup">標(biāo)記</A>之外的文件中的任何位置出現(xiàn)。另外,它們可以在文件類型聲明中文法允許的地方出現(xiàn)。它們不是文件<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-chardata">字符數(shù)據(jù)</A>的一部分,XML
處理器可以,但不是必須,允許一個(gè)應(yīng)用檢索注釋的文本。<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-compat">出于兼容性考慮</A>,字符串"<CODE>--</CODE>"(雙連字符)不能在注釋中出現(xiàn)。]
注釋中的參數(shù)實(shí)體不被識(shí)別。</P>
<H5>注釋</H5>
<TABLE class=scrap>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-Comment></A>[15] </TD>
<TD><CODE>Comment</CODE></TD>
<TD>::= </TD>
<TD><CODE>'<!--' ((<A
href="#NT-Char">Char</A> - '-')
| ('-' (<A
href="#NT-Char">Char</A> -
'-')))* '-->'</CODE></TD></TR></TBODY></TABLE>
<P>注釋的一個(gè)例子:</P>
<TABLE cellPadding=5 width="100%" bgColor=#80ffff border=1>
<TBODY>
<TR>
<TD><CODE><!-- declarations for <head> & <body> --></CODE></TD></TR></TBODY></TABLE>
<P>注意,此文法不允許注釋以 <CODE>---></CODE> 結(jié)尾。下面的例子<EM>不是</EM>格式正確的。</P>
<TABLE class=eg cellPadding=5 width="100%" bgColor=#99ffff
border=1><TBODY>
<TR>
<TD><PRE><!-- B+, B, or B---></PRE></TD></TR></TBODY></TABLE>
<H3><A name=sec-pi>2.6 處理指令</A></H3>
<P><A name=dt-pi></A>[定義:<B>處理指令(PI)</B>允許文件中包含由應(yīng)用來處理的指令。]</P>
<H5>處理指令</H5>
<TABLE class=scrap>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-PI></A>[16] </TD>
<TD><CODE>PI</CODE></TD>
<TD>::= </TD>
<TD><CODE>'<?' <A
href="#NT-PITarget">PITarget</A> (<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-S">S</A>
(<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Char">Char</A>*
- (<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Char">Char</A>*
'?>' <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Char">Char</A>*)))?
'?>'</CODE></TD></TR></TBODY>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-PITarget></A>[17] </TD>
<TD><CODE>PITarget</CODE></TD>
<TD>::= </TD>
<TD><CODE><A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Name">Name</A>
- (('X' | 'x') ('M' | 'm') ('L' |
'l'))</CODE></TD></TR></TBODY></TABLE>
<P>PI 不是文件<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-chardata">字符數(shù)據(jù)</A>的一部分,但必須傳遞給應(yīng)用。PI
以用于指示傳遞給哪個(gè)應(yīng)用的目標(biāo)(<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-PITarget"><CODE>PITarget</CODE></A>)開頭。目標(biāo)名字
"<CODE>XML</CODE>","<CODE>xml</CODE>",等等,保留用于本規(guī)范的此版本或后續(xù)版本的標(biāo)準(zhǔn)化。XML <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-notation">記法</A>機(jī)制可以用于
PI 目標(biāo)的形式化聲明。參數(shù)實(shí)體在處理指令中不被識(shí)別。</P>
<H3><A name=sec-cdata-sect>2.7 CDATA 段</A></H3>
<P><A name=dt-cdsection></A>[定義:<B>CDATA
段</B>可以出現(xiàn)在字符數(shù)據(jù)可以出現(xiàn)的任何地方,它們用于轉(zhuǎn)義包含會(huì)被識(shí)別為標(biāo)記的字符串的文本塊。CDATA 段以字符串 "<CODE><![CDATA[</code>" 開始,以字符串 "<CODE>]]></CODE>" 結(jié)束:]</P>
<H5>CDATA 段</H5>
<TABLE class=scrap>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-CDSect></A>[18] </TD>
<TD><CODE>CDSect</CODE></TD>
<TD>::= </TD>
<TD><CODE><A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-CDStart">CDStart</A>
<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-CData">CData</A>
<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-CDEnd">CDEnd</A></CODE></TD></TR></TBODY>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-CDStart></A>[19] </TD>
<TD><CODE>CDStart</CODE></TD>
<TD>::= </TD>
<TD><CODE>'<![CDATA['</CODE></CODE></TD></TR></TBODY>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-CData></A>[20] </TD>
<TD><CODE>CData</CODE></TD>
<TD>::= </TD>
<TD><CODE>(<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Char">Char</A>*
- (<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Char">Char</A>*
']]>' <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Char">Char</A>*))
</CODE></TD></TR></TBODY>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-CDEnd></A>[21] </TD>
<TD><CODE>CDEnd</CODE></TD>
<TD>::= </TD>
<TD><CODE>']]>'</CODE></TD></TR></TBODY></TABLE>
<P>在一個(gè) CDATA 段內(nèi),只有 <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-CDEnd"><CODE>CDEnd</CODE></A>
字符串被識(shí)別為標(biāo)記,因此左尖括號(hào)和"&"可以以它們的常量形式出現(xiàn),不需要(也不能)被換碼為"<CODE><</CODE>"和"<CODE>&</CODE>"。CDATA
段不能嵌套。</P>
<P>一個(gè) CDATA
段的例子,其中"<CODE><GREETING></CODE>"和"<CODE></GREETING></CODE>"被識(shí)別為<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-chardata">字符數(shù)據(jù)</A>,而不是<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-markup">標(biāo)記</A>:
</P>
<TABLE cellPadding=5 width="100%" bgColor=#80ffff border=1>
<TBODY>
<TR>
<TD><CODE><![CDATA[<greeting>Hello,
world!</GREETING>]]></CODE></TD></TR></TBODY></TABLE>
<H3><A name=sec-prolog-dtd>2.8 序言(prolog)和文件類型聲明</A></H3>
<P><A name=dt-xmldecl></A>[定義:XML 文件應(yīng)該以一個(gè) <B>XML 聲明</B>開始,其中指明了所用
XML 的版本。] 例如,以下是一個(gè)完整的 XML 文件,它是<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-wellformed">格式正確的</A>,但不是<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-valid">有效的</A>:</P>
<TABLE cellPadding=5 width="100%" bgColor=#80ffff border=1>
<TBODY>
<TR>
<TD><CODE><?xml version="1.0"?><GREETING>Hello,
world!</GREETING> </CODE></TD></TR></TBODY></TABLE>
<P>下面這個(gè)也同樣:</P>
<TABLE cellPadding=5 width="100%" bgColor=#80ffff border=1>
<TBODY>
<TR>
<TD><CODE><GREETING>Hello, world!</GREETING>
</CODE></TD></TR></TBODY></TABLE>
<P>版本號(hào) "<CODE>1.0</CODE>" 應(yīng)該用于表明與本規(guī)范的本版本相一致,如果使用了值
"<CODE>1.0</CODE>" 但又與本規(guī)范的本版本不一致,那么這是文件的一個(gè)錯(cuò)誤。XML 工作組打算賦予本規(guī)范的后續(xù)版本不同于
"<CODE>1.0</CODE>"
的數(shù)值,但這并不代表開發(fā)后續(xù)版本的承諾,也不代表如果有后續(xù)版本,會(huì)使用任何特殊的命名方案的承諾。因?yàn)椴慌懦泻罄m(xù)版本的可能性,提供了本構(gòu)造(construct)作為一旦需要時(shí)進(jìn)行自動(dòng)版本識(shí)別的手段。當(dāng)處理器收到的文件標(biāo)有它們不支持的版本時(shí),可以給出一個(gè)錯(cuò)誤。</P>
<P>XML 文件中標(biāo)記的功能是描述文件的存儲(chǔ)格式和邏輯結(jié)構(gòu),并將屬性-值對(duì)和邏輯結(jié)構(gòu)關(guān)聯(lián)起來。XML 提供一種稱為<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-doctype">文件類型聲明</A>的機(jī)制,用于定義對(duì)邏輯結(jié)構(gòu)的約束,支持預(yù)定義存儲(chǔ)單元的使用。<A
name=dt-valid></A>[定義:如果一個(gè) XML
文件有相應(yīng)的文件類型聲明并且它遵循其中的約束,則稱它是<B>有效的(valid)</B>。]
<P>
<P>文件類型聲明必須位于文件第一個(gè)<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-element">元素</A>之前。</P>
<H5>序言</H5>
<TABLE class=scrap>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-prolog></A>[22] </TD>
<TD><CODE>prolog</CODE></TD>
<TD>::= </TD>
<TD><CODE><A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-XMLDecl">XMLDecl</A>?
<A
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -