📄 xml1_0 中文文档(第二版)---2_ 文件 - fanqiang_com.htm
字号:
10646 中定义的合法字符。在制定本文档时,在附录 <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#sec-existing-stds"><B>A.1
正式参考文献</B></A>中引用的标准都是当时的最新版本,在这些标准的增补版或新版中可能会加入新的字符。因此,XML
处理器必须能接受产生式 <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#Unicode">[Unicode]</A>
6.8 节(或 <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#Unicode3">[Unicode3]</A>
3.6 节 D21 )中定义的"兼容字符(compatibility characters)"。]</P>
<H5>字符范围</H5>
<TABLE class=scrap>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-Char></A>[2] </TD>
<TD><CODE>Char</CODE></TD>
<TD>::= </TD>
<TD><CODE>#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] |
[#x10000-#x10FFFF]</CODE></TD>
<TD><I>/* 除了代用块(surrogate block),FFFE 和 FFFF 以外的任意 Unicode
字符。*/</I></TD></TR></TBODY></TABLE>
<P>将字符代码编码成位模式的机制各个实体间可能会有所不同。所有的 XML 处理器必须接受 10646 中的 UTF-8 和
UTF-16 编码;用于指出所用编码或指定使用其他编码的机制在后面的"<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#charencoding">4.3.3
实体中的字符编码</A>"中讨论。 </P>
<H3><A name=sec-common-syn>2.3 通用语法成分</A></H3>
<P>本节中定义了一些在文法中广泛使用的符号。</P>
<P><A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-S"><CODE>S</CODE></A>(空白)包括一个或多个空格字符(#x20),回车,换行和制表符。</P>
<H5>空白</H5>
<TABLE class=scrap>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-S></A>[3] </TD>
<TD><CODE>S</CODE></TD>
<TD>::= </TD>
<TD><CODE>(#x20 | #x9 | #xD | #xA)+</CODE></TD></TR></TBODY></TABLE>
<P>为方便起见,字符被分为字母,数字和其他字符三类。字母可以是字母表中的字母,或是一个音节基字符(syllabic base
character),也可以是一个表意字符。在"<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#CharClasses">B.
字符的分类</A>"中给出了每一类字符的完整定义。</P>
<P><A
name=dt-name></A>[定义:<B>名字(name)</B>是以字母或某些标点符号开头的记号,后跟字母,数字,连字符,下划线,冒号或句号,这些符号统称为命名字符(name
character)。] 以 "<CODE>xml</CODE>" 或其他任何匹配 <CODE>(('X'|'x') ('M'|'m')
('L'|'l'))</CODE> 的字符串开头的名字,被保留用于本规范的此版本或后续版本的标准化。</P>
<DIV class=note>
<P><B>注:</B></P>
<P>建议 XML 中的名字空间 <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#xml-names">[XML
Names]</A> 中赋予了包含冒号的名字某种含义。因此除非用于名字空间,XML 文件作者不应该在 XML 名字中使用冒号,但 XML
处理器应该接受冒号作为一个命名字符。</P></DIV>
<P><A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Nmtoken"><CODE>Nmtoken</CODE></A>(名字记号,name
token)是任何命名字符的混合体。</P>
<H5>名字和记号</H5>
<TABLE class=scrap>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-NameChar></A>[4] </TD>
<TD><CODE>NameChar</CODE></TD>
<TD>::= </TD>
<TD><CODE><A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Letter">Letter</A>
| <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Digit">Digit</A>
| '.' | '-' | '_' | ':' | <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-CombiningChar">CombiningChar</A>
| <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Extender">Extender</A></CODE></TD></TR></TBODY>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-Name></A>[5] </TD>
<TD><CODE>Name</CODE></TD>
<TD>::= </TD>
<TD><CODE>(<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Letter">Letter</A>
| '_' | ':') (<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-NameChar">NameChar</A>)*</CODE></TD></TR></TBODY>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-Names></A>[6] </TD>
<TD><CODE>Names</CODE></TD>
<TD>::= </TD>
<TD><CODE><A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Name">Name</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-Name">Name</A>)*</CODE></TD></TR></TBODY>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-Nmtoken></A>[7] </TD>
<TD><CODE>Nmtoken</CODE></TD>
<TD>::= </TD>
<TD><CODE>(<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-NameChar">NameChar</A>)+</CODE></TD></TR></TBODY>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-Nmtokens></A>[8] </TD>
<TD><CODE>Nmtokens</CODE></TD>
<TD>::= </TD>
<TD><CODE><A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Nmtoken">Nmtoken</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-Nmtoken">Nmtoken</A>)*</CODE></TD></TR></TBODY></TABLE>
<P>常量数据是任何用引号括起的字符串,不包括用作定界符的引号。常量用于指明内部实体的内容(<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-EntityValue"><CODE>EntityValue</CODE></A>),属性值(<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-AttValue"><CODE>AttValue</CODE></A>),以及外部标识符(<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-SystemLiteral"><CODE>SystemLiteral</CODE></A>)。注意,对
<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-SystemLiteral"><CODE>SystemLiteral</CODE></A>
的语法分析可以不扫描标记。</P>
<H5>常量</H5>
<TABLE class=scrap>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-EntityValue></A>[9] </TD>
<TD><CODE>EntityValue</CODE></TD>
<TD>::= </TD>
<TD><CODE>'"' ([^%&"] | <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-PEReference">PEReference</A>
| <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Reference">Reference</A>)*
'"' </CODE></TD></TR>
<TR vAlign=baseline>
<TD></TD>
<TD></TD>
<TD></TD>
<TD><CODE>| "'" ([^%&'] | <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-PEReference">PEReference</A>
| <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Reference">Reference</A>)*
"'"</CODE></TD></TR></TBODY>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-AttValue></A>[10] </TD>
<TD><CODE>AttValue</CODE></TD>
<TD>::= </TD>
<TD><CODE>'"' ([^<&"] | <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Reference">Reference</A>)*
'"' </CODE></TD></TR>
<TR vAlign=baseline>
<TD></TD>
<TD></TD>
<TD></TD>
<TD><CODE>| "'" ([^<&'] | <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-Reference">Reference</A>)*
"'"</CODE></TD></TR></TBODY>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-SystemLiteral></A>[11] </TD>
<TD><CODE>SystemLiteral</CODE></TD>
<TD>::= </TD>
<TD><CODE>('"' [^"]* '"') | ("'" [^']* "'")
</CODE></TD></TR></TBODY>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-PubidLiteral></A>[12] </TD>
<TD><CODE>PubidLiteral</CODE></TD>
<TD>::= </TD>
<TD><CODE>'"' <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-PubidChar">PubidChar</A>*
'"' | "'" (<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-PubidChar">PubidChar</A>
- "'")* "'"</CODE></TD></TR></TBODY>
<TBODY>
<TR vAlign=baseline>
<TD><A name=NT-PubidChar></A>[13] </TD>
<TD><CODE>PubidChar</CODE></TD>
<TD>::= </TD>
<TD><CODE>#x20 | #xD | #xA | [a-zA-Z0-9] |
[-'()+,./:=?;!*#@$_%]</CODE></TD></TR></TBODY></TABLE>
<DIV class=note>
<P class=prefix><B>注:</B></P>
<P>虽然产生式 <A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#NT-EntityValue">EntityValue</A>
允许定义只包含单个 <CODE><</CODE>
的实体(如,<CODE><!ENTITY mylt "<"></CODE>),但是强烈建议避免这种用法,因为对此实体的任何引用都会引起一个格式正确性错误。</P></DIV>
<DIV></DIV>
<H3><A name=syntax>2.4 字符数据和标记</A></H3>
<P><A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-text">文本</A>由<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-chardata">字符数据</A>和标记混合构成。[定义:<A
name=dt-markup></A><B>标记</B>包括<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-stag">起始标签</A>,<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-etag">结束标签</A>,<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-empty">空元素标签</A>,<A
href="http://fanqiang.chinaunix.net/program/html/2001-05-17/2004.shtml#dt-entref">实体引用</A>,<A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -