⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 200604231236585.html

📁 软件工程的红包书
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<TR>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD>在内部实体宣告的值中(参阅 <实体参照范例2> )</TD></TR>
<TR>
<TD>一般内部未解析</TD>
<TD>EntAttr='EntityName 其中EntAttr 是ENTITY 或ENTITIES 型态的属性</TD>
<TD>你不能加入任何参照到这类型的实体,但是你可以将实体的名称指定ENTITIES 型态的 到拥有NTITY 或属性中(参阅 <宣告一般外部未解析实体> )</TD></TR>
<TR>
<TD>参数内部已解析</TD>
<TD>%EntityName;</TD>
<TD>在标签宣告可以发生的DTD 中,而不是在标签宣告中(有关例外的部分,请参阅http://www.w3.org/TR/ REC-xml 的XML 规格的第四部分)(参考 <宣告参数内部已解析实体> )</TD></TR>
<TR>
<TD>参数内部未解析</TD>
<TD>%EntityName;</TD>
<TD>在标签宣告可以发生的DTD 中,而不是在标签宣告中(有关例外的部分,请参阅 http://www.w3.org/TR/REC-xml 的XML规格的第四部分)(参考 <宣告参数外部已解析实体> )</TD></TR>
<TR>
<TD>字符参照</TD>
<TD>&amp; #9; 或 &amp; #xh; 其中9 是字符</TD>
<TD>在元素的内容中(参阅 <加入字符参照> )</TD></TR>
<TR>
<TD>&nbsp;</TD>
<TD>以十进制表示的数值码而h是字符以十六进制表示的数值码</TD>
<TD>在属性值中(在属性列表宣告中或元素的起始卷标中当作默认值)(参阅 <加入字符参照> )</TD></TR>
<TR>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD>在内部实体宣告的值中(参阅 <加入字符参照> )</TD></TR></TBODY></TABLE><BR>实体参照范例1<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;下面的XML 文件宣告了两个一般内部已解析实体,<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603091620485.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200603091620485.html'" tppabs="http://www.itisedu.com/phrase/200603091620485.html" target="_new">am</a> 与en。这份文件使用对am 的参照来为Nationality 属性指定值,并且利用对en 的参照来指定值给AUTHOR 元素中的Nationality 属性。这里使用实体的好处是借着简单地编辑实体的定义(例如,将en 的值从"English"改变成"British"),你可以改变遍布整个文章中的值(假设文章拥有许多个元素)。<BR>[<BR><!ENTITY am "American"><BR><!ENTITY en "English"><BR><!ELEMENT INVENTORY (BOOK*)><BR><!ELEMENT BOOK (TITLE,AUTHOR)><BR><!ELEMENT TITLE (#PCDATA)><BR><!ELEMENT AUTHOR (#PCDATA)><BR><!ATTLIST AUTHOR Nationality CDATA "&am;"><BR>]<BR>&gt;<BR><INVENTORY><BR><BOOK><BR><BR>Charles Dickens</AUTHOR><BR></BOOK><BR><!--other elements...--><BR></INVENTORY><BR><BR>实体参照范例2<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;下面的DTD 定义了一个一般内部已解析实体(int_entity)与一般外部已解析实体(ext_entity)。接着它会定义另一个一般内部已解析实体,combo_entity,并将前面两个属性加入到combo_entity 属性的值中。<BR>[<BR><!ENTITY int_entity "internal entity value"><BR><!ENTITY ext_entity SYSTEM "Entity.xml"><BR><!ENTITY combo_entity<BR>"value composed of &amp;ext_entity;plus &amp;int_entity;"&gt;<BR><!--other markup declarations...--><BR>]<BR>&gt;<BR><BR><SPAN class=style2>加入字符参照</SPAN><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;你可以使用字符参照来加入不在键盘上的字符(例如,a),或者是那种加到目前文字中可能会造成违法的字符(例如,在元素字符数据中的「&lt;」或「&amp;」字符)。你不需要定义任何东西便能使用字符参照-你可以简单地将它加到你需要的地方。<BR>&nbsp;&nbsp;&nbsp;&nbsp;字符参照拥有两种不同的格式。第一种格式是:<BR>&amp; #9;<BR>&nbsp;&nbsp;&nbsp;&nbsp;其中9 是一个或多个十进制数(0 到9),代表字符在ISO/IEC 10646 字符集中的数值码。<BR>&nbsp;&nbsp;&nbsp;&nbsp;第二种字符参照的格式是:<BR>&amp; #xh;<BR>&nbsp;&nbsp;&nbsp;&nbsp;其中h 是一个或多个十六进制数字(0 到f 或F),它也代表字符在ISO/IEC 10646 字符集中的数值码。例如,&amp; #65;与&amp; #x41;都是加入大写字母A。(在十进制中A 的数值码是65,在十六进制中则是41。)<BR>&nbsp;&nbsp;&nbsp;&nbsp;ISO/IEC 10646 是一种为了表达几乎属于任何程序语言的字符而设定的国际字符集。(ISO 是国际标准组织,而IEC 则是国际电子委员会。)前128 的字符码与众所皆知用在大多数计算机的的ASCII 字符相同。下图显示了在ISO/IEC 10646 字符集的前256 的字符。图中的每一个项目,初始的数字(1:、2:、3:等等)是字符的十进制码,而接在字段后面的字符则是真正的字符-若有的话-如Microsoft Internet Explorer 5 显示。<BR>
<P align=center><IMG src="2006327175757623.jpg" tppabs="http://www.itisedu.com/manage/Upload/image/2006327175757623.jpg" border=0></P>&nbsp;&nbsp;&nbsp;&nbsp;例如,你可以看到在图中 ? 的十进制数值码是228。因此借着输入下面的字符参照,你可以将这个字符加入到你的文件中:<BR>&amp; #228;<BR>注意<BR>&nbsp;&nbsp;&nbsp;&nbsp;参阅前面章节 <加入实体参照> 中的表格,内含你可以将字符参照加到文件位置的列表。每一个位置的后面接着一个范例。<BR>&nbsp;&nbsp;&nbsp;&nbsp;在下面的元素中,借着使用字符参照&amp; #60;(60 是「&lt;」的十进制字符码),「&lt;」字符被加入元素字符数据。如前所述,将「&lt;」照字面直接加入字符数据是不合法的。<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;在下面的元素中,&amp; #228;字符参照被用来加入 ? (该字符你无法以普通的键盘输入)到属性值中:<BR><RESIDENT Address="Seilerst?tte 30,Wien">Mike Young</RESIDENT><BR>&nbsp;&nbsp;&nbsp;&nbsp;最后,在下面DTD 中一般内部已解析实体的宣告里,&amp; #37;字符参照被用来加入百分比(%)字符(37 是「%」的十进制码),该字符不能照字面直接被输入到内部实体的值中:<BR><!ENTITY heading1 "& #37;Complete"><BR><BR><SPAN class=style2>使用预先定义的实体</SPAN><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;在XML 文件中,你可以使用预先定义实体的参照,将列在下面表格中五个字符的任何一个,加到某个这类字符被加入时可能会造成违法的位置。<BR>预先定义 实体加入的字符 相等的字符参照<BR>&amp; amp;&nbsp;&nbsp; &amp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &amp; #38;<BR>&amp; lt;&nbsp;&nbsp; &lt; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&amp; #60;<BR>&amp; gt; &nbsp;&nbsp;&gt; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&amp; #62;<BR>&amp; apos; '&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&amp; #39;<BR>&amp; quot;&nbsp;" &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp; #34;<BR>&nbsp;&nbsp;&nbsp;&nbsp;加入这些预先定义实体的参照相当于加入相对应字符的参照。当你在文件中看到预先定义实体的参照,将更容易记忆与了解。这些预先定义的实体就像其它一般内部已解析实体,除了你可以使用对这些实体的参照而不必定义实体-你还可以将它们加入相同的位置,如同这种型态的实体,即:<BR>&nbsp;&nbsp;&nbsp;&nbsp;在元素的内容中<BR>&nbsp;&nbsp;&nbsp;&nbsp;在属性的值中(当作属性宣告或元素起始卷标的默认值)<BR>&nbsp;&nbsp;&nbsp;&nbsp;在内部实体宣告的值中<BR>&nbsp;&nbsp;&nbsp;&nbsp;在下面的三个范例中,预先定义实体的参照被用来加入某些字符,这些字符若照字面加入可能会造成不合法的情况。<BR>&nbsp;&nbsp;&nbsp;&nbsp;在这个范例中,&amp; lt;被用来加入「&lt;」字符到元素的内容中:<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;在第二个范例中,&amp; amp;被用来加入(&amp;)符号到属性值中:<BR><PRODUCT Company="Ongaro &amp;Sons">3/4" T fitting&lt;</PRODUCT><BR>&nbsp;&nbsp;&nbsp;&nbsp;在第三个范例中,&amp; quot;被用来加入一个双引号(")到实体的值中(照字面直接加入可能造成不合法,因为双引号字符是用来包围字符串的):<BR><!ENTITY heading "Christopher "Kit"Carson"><BR><BR>独立的文件宣告<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;如同你在第三章中学到的,你可以随意地含括一个位于XML 文件中的独立文件宣告。这个独立的宣告会告诉处理器是否需要外部宣告以处理文件。<BR>&nbsp;&nbsp;&nbsp;&nbsp;如果XML 文件拥有外部标签宣告(可能是在外部的DTD 子集中或在参数外部已解析实体中),但是没有一个宣告能够影响从XML 处理器传送到应用程序的文件内容,你可以将standalone 设定成'yes'或"yes",如下面的文件宣告一样:<BR><?xml version="1.0" standalone="yes"?><BR>&nbsp;&nbsp;&nbsp;&nbsp;将standalone 设定成"yes"可能防止对外部档案的不必要处理。将standalone 设定成'no'或"no",或省略standalone 宣告,会告诉处理器它必须处理文件的外部标签宣告,因为它们之中一个或多个标签的宣告将会影响到文件的内容。<BR>&nbsp;&nbsp;&nbsp;&nbsp;会影响文件内容的外部卷标型态的列表(因此禁止将standalone 设定成"yes"),请参阅 http://www.w3.org/TR/REC-xml 的XML 规格的第2.9 节。<BR><BR><SPAN class=style2>加入实体到文件中</SPAN><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;在下面的练习中,你将借着加入数个一般实体到第五章所建立的 Inventory Valid.xml 范例文件中,得到某些使用实体的经验。<BR><BR>将实体加到范例文件中<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;1. 在你的文字编辑器中,开启你在第五章的 <将格式正确的文件转换成完整有效的文件> 中所建立的 Inventory Valid.xml 文件。(可在列表5-1 以及随书光盘中找到该程序代码。)<BR>&nbsp;&nbsp;&nbsp;&nbsp;2. 在文件的DTD 的起始部分(在靠近文件的顶端以[ ]字符包围的文字区块),加入下面的实体与卷标宣告:<BR>3. <!--entities for assigning to the BINDING element:--><BR>4. <!ENTITY mass "mass market paperback"><BR>5. <!ENTITY trade "trade paperback"><BR>6. <!ENTITY hard "hardcover"><BR>7.<BR>8. <!--external entities containing reviews --><BR>9. <!--to be assigned to Review attribute of BOOK elements<BR>--><BR>10. <!NOTATION DOC SYSTEM "Microsoft Word document"><BR>11. <!NOTATION TXT SYSTEM "plain text file"><BR>12. <!ENTITY rev_leaves<BR>13. SYSTEM "Review Leaves of Grass.doc"<BR>14. NDATA DOC&gt;<BR>15. <!ENTITY rev_faun1<BR>16. SYSTEM "Review 01 of The Marble Faun.doc"<BR>17. NDATA DOC&gt;<BR>18. <!ENTITY rev_faun2<BR>19. SYSTEM "Review 02 of The Marble Faun.txt"<BR>20. NDATA TXT&gt;<BR>21.<BR>22. <!ENTITY rev_screw<BR>23. SYSTEM "Review of The Turn of the Screw.txt"<BR>NDATA TXT&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;前三个实体是一般内部已解析实体,让你可以加入BINDING 元素而不是输入真正的连结叙述到每一个元素中。使用实体可以帮助你确定给定链接型态的叙述在书籍与书籍之间是一致的。同时,实体让修改叙述变得更容易。(例如,你只需借着简单地编辑hard 属性,即可在每一个BINDING 元素中将「hardcover」 改成「hardback」。)接下来的(也是最后的)四个实体都是一般外部未解析实体,允许你将包含书籍评论的外部档案附加到BOOK 元素中。<BR>&nbsp;&nbsp;&nbsp;&nbsp;24. 为BOOK 元素加入Reviews 属性到属性列表宣告中,在DTD 后面部分中,它看起来像这样:<BR>25. <!ATTLIST BOOK InStock (yes|no)#REQUIRED Reviews ENTITIES #IMPLIED><BR>&nbsp;&nbsp;&nbsp;&nbsp;Reviews 是一个选择性属性(#IMPLIED),你可以将一个或多个一般外部未解析实体的名称指定到Reviews 属性中。(Reviews 拥有ENTITIES 型态)。<BR>&nbsp;&nbsp;&nbsp;&nbsp;26. 在每一个BINDING 元素中,利用相对的实体参照来替换连结叙述。例如,你可以为The Adventures of Huckleberry Finn 改变BINDING 元素,从<BR><BINDING>mass market paperback</BINDING><BR>&nbsp;&nbsp;&nbsp;&nbsp;变成<BR><BINDING>&amp;mass;</BINDING><BR>&nbsp;&nbsp;&nbsp;&nbsp;27. 将Reviews 属性加入BOOK 元素中,如下所示:<BR>&nbsp;&nbsp;&nbsp;&nbsp;对Leaves of Grass 来说:<BR><BOOK Reviews="rev_leaves" InStock="no"><BR>&nbsp;&nbsp;&nbsp;&nbsp;对The Marble Faun 来说:<BR><BOOK Reviews="rev_faun1 rev_faun2" InStock="yes"><BR>&nbsp;&nbsp;&nbsp;&nbsp;对The Turn of the Screw 来说:<BR><BOOK Reviews="rev_screw" InStock="no"><BR>&nbsp;&nbsp;&nbsp;&nbsp;28. 为了反应出你指定的新档名,将位于文件起始部分的批注从<BR><!--File Name:Inventory Valid.xml --><BR>&nbsp;&nbsp;&nbsp;&nbsp;改成<BR><!--File Name:Inventory Valid Entity.xml --><BR>&nbsp;&nbsp;&nbsp;&nbsp;29. 使用文字编辑器的 另存新文件 指令将修改过的文件储存为 Inventory Valid Entity.xml 。列表6-1 显示完整的XML 文件。(你可以在随书光盘的 Inventory Valid Entity.xml 档案中找到。)<BR>Inventory Valid Entity.xml<BR><?xml version="1.0"?><BR><!--File Name:Inventory Valid Entity.xml --><BR>[<BR><!--entities for assigning to the BINDING element:--><BR><!ENTITY mass "mass market paperback"><BR><!ENTITY trade "trade paperback"><BR><!ENTITY hard "hardcover"><BR><!--external entities containing reviews --><BR><!--to be assigned to Review attribute of<BR>BOOK elements --><BR><!NOTATION DOC SYSTEM "Microsoft Word document"><BR><!NOTATION TXT SYSTEM "plain text file"><BR><!ENTITY rev_leaves<BR>SYSTEM "Review Leaves of Grass.doc"<BR>NDATA DOC&gt;<BR><!ENTITY rev_faun1<BR>SYSTEM "Review 01 of The Marble Faun.doc"<BR>NDATA DOC&gt;<BR><!ENTITY rev_faun2<BR>SYSTEM "Review 02 of The Marble Faun.txt"<BR>NDATA TXT&gt;<BR><!ENTITY rev_screw<BR>SYSTEM "Review of The Turn of the Screw.txt"<BR>NDATA TXT&gt;<BR><!ELEMENT INVENTORY (BOOK)*><BR><!ELEMENT BOOK (TITLE,AUTHOR,BINDING,PAGES,PRICE)><BR><!ATTLIST BOOK InStock (yes|no)#REQUIRED<BR>Reviews ENTITIES<BR>#IMPLIED&gt;<BR><!ELEMENT TITLE (#PCDATA |SUBTITLE)*><BR><!ELEMENT SUBTITLE (#PCDATA)><BR><!ELEMENT AUTHOR (#PCDATA)><BR><!ATTLIST AUTHOR Born CDATA #IMPLIED><BR><!ELEMENT BINDING (#PCDATA)><BR><!ELEMENT PAGES (#PCDATA)><BR><!ELEMENT PRICE (#PCDATA)>]<BR>]<BR>&gt;<BR><INVENTORY><BR><BOOK InStock="yes"><BR><BR>Mark Twain</AUTHOR><BR><BINDING>&amp; mass;</BINDING><BR><PAGES>298</PAGES><BR><PRICE>$5.49</PRICE><BR></BOOK><BR><BOOK Reviews="rev_leaves" InStock="no"><BR><BR>Walt Whitman</AUTHOR><BR><BINDING>&amp; hard;</BINDING><BR><PAGES>462</PAGES><BR><PRICE>$7.75</PRICE><BR></BOOK><BR><BOOK InStock="yes"><BR><BR>Washington Irving</AUTHOR><BR><BINDING>&amp; mass;</BINDING><BR><PAGES>98</PAGES><BR><PRICE>$2.95</PRICE><BR></BOOK><BR><BOOK Reviews="rev_faun1 rev_faun2" InStock="yes "><BR><BR>Nathaniel<BR>Hawthorne</AUTHOR><BR><BINDING>?</BINDING><BR><PAGES>473</PAGES><BR><PRICE>$10.95</PRICE><BR></BOOK><BR><BOOK InStock="no"><BR><BR>Herman Melville</AUTHOR><BR><BINDING>&amp;hard;</BINDING><BR><PAGES>724</PAGES><BR><PRICE>$9.95</PRICE><BR></BOOK><BR><BOOK InStock="yes"><BR><BR>Henry James</AUTHOR><BR><BINDING>&amp; mass;</BINDING><BR><PAGES>256</PAGES><BR><PRICE>$4.95</PRICE><BR></BOOK><BR><BOOK InStock="yes"><BR><BR>Nathaniel Hawthorne</AUTHOR><BR><BINDING>&amp; trade;</BINDING><BR><PAGES>253</PAGES><BR><PRICE>$4.25</PRICE><BR></BOOK><BR><BOOK Reviews="rev_screw" InStock="no"><BR><BR>Henry James</AUTHOR><BR><BINDING>&amp; trade;</BINDING><BR><PAGES>384</PAGES><BR><PRICE>$3.35</PRICE><BR></BOOK><BR></INVENTORY><BR>&nbsp;&nbsp;&nbsp;&nbsp;30. 如果你想测试这份XML 文件,请使用第九章 <检查XML 文件的有效性> 中所介绍的XML 有效性验证script。</TD></TR

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -