﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-思想比知识更重要 成长比成功更重要-随笔分类-XML &amp; DHTML</title><link>http://www.blogjava.net/renyangok/category/17015.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 05:07:49 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 05:07:49 GMT</pubDate><ttl>60</ttl><item><title>标记语言学习</title><link>http://www.blogjava.net/renyangok/archive/2007/02/14/99821.html</link><dc:creator>保尔任</dc:creator><author>保尔任</author><pubDate>Wed, 14 Feb 2007 06:43:00 GMT</pubDate><guid>http://www.blogjava.net/renyangok/archive/2007/02/14/99821.html</guid><wfw:comment>http://www.blogjava.net/renyangok/comments/99821.html</wfw:comment><comments>http://www.blogjava.net/renyangok/archive/2007/02/14/99821.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/renyangok/comments/commentRss/99821.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/renyangok/services/trackbacks/99821.html</trackback:ping><description><![CDATA[
		<p>标记语言介绍</p>
		<p>1、我们日常书写所用的语言称为书面自然语言，如果为了标识某些信息，在书面自然语言中加入一些标记，这种书面自然语言就称为标记语言</p>
		<p>（Markup Language）。</p>
		<p>2、ISO组织发布了SGML(Standard General Markup Language)，是一种元标记语言，有三部分组成：语法定义（文档类型定义和文档实例所必</p>
		<p>须遵循的语法结构）、文档类型定义（DTD - Definition Type Document，规定了文档实例的结构和组成结构的元素类型）、文档实例（是</p>
		<p>SGML文档的主体部分，用来存放文档的具体内容）。</p>
		<p>3、XML(Extensible Markup Language)是SGML的一个子集，也是SGML的简化形式，也是一种元标记语言（元标记语言指可以通过定义DTD来定义</p>
		<p>其他标记语言；HTML的DTD是固定的，也不能定义其他标记语言），有人甚至称XML将是本世纪Web上的“世界语”，XSL相当于XML的CSS。</p>
		<p>4、HTML是一种由SGML定制的标记语言，用来存储页面内容，CSS用来描述页面内容的显示方式。</p>
		<p>5、XHTML是HTML向XML过度的一种中间技术，是由XML定制的，使用起来和HTML很相似。</p>
		<p>6、WML是在WAP协议下由XML定制的标记语言，WMLScript实现WML实现的静态功能以外的动态功能。</p>
		<p>7、XML其他相关知识<br />XSLT(XSL Transformations)：把一种XML结构的文档转换为另一种XML结构的文档的语言。主要和XSL一起使用，用于把原始的XML文档转换为使</p>
		<p>用XSL可用的XML文档。<br />XSL(Extensible Stylesheet Language)：XML的格式化描述语言。XML文档表现分为两步：第一步，用XSLT对XML源文档进行转换；第二步，用</p>
		<p>XSL对第一步得到的结果文档进行解释和表现。<br />XPath（XML Path）：提供一种公用的语法和语义机制，用于XML内部的结构寻址。<br />XQuery for XML is like SQL for databases, XQuery is built on XPath expressions.<br />XLink is similar to HTML links - but it is a lot more powerful.<br />XPointer allows the hyperlinks to point to specific parts of the XML document.</p>
<img src ="http://www.blogjava.net/renyangok/aggbug/99821.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/renyangok/" target="_blank">保尔任</a> 2007-02-14 14:43 <a href="http://www.blogjava.net/renyangok/archive/2007/02/14/99821.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DHTML学习笔记 </title><link>http://www.blogjava.net/renyangok/archive/2007/01/20/95062.html</link><dc:creator>保尔任</dc:creator><author>保尔任</author><pubDate>Sat, 20 Jan 2007 09:26:00 GMT</pubDate><guid>http://www.blogjava.net/renyangok/archive/2007/01/20/95062.html</guid><wfw:comment>http://www.blogjava.net/renyangok/comments/95062.html</wfw:comment><comments>http://www.blogjava.net/renyangok/archive/2007/01/20/95062.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/renyangok/comments/commentRss/95062.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/renyangok/services/trackbacks/95062.html</trackback:ping><description><![CDATA[
		<p>目录：<br />1、网页技术的三方面<br />2、DHTML的组成<br />3、rgb颜色表示<br />4、js删除提示<br />5、前进、后退、返回某页、刷新、关闭<br />7、定时关闭网页<br />8、背景音乐<br />9、浏览器显示不同格式<br />10、链接的不同方式target<br />11、强制不缓存<br />12、定时刷新、幻灯片效果<br />13、大图片提前载入<br />15、移动文字<br />16、浮动背景（背景图像不滚动 ）<br />17、让背景图像不平铺的CSS样式表<br />18、判断不同浏览器<br />19、定义本网页的关键字<br />21、改变链接在浏览器状态栏信息<br />26、打印按钮<br />27、查看源码按钮<br />28、去掉页面滚动条<br />30、水平线、垂直线<br />31、下拉式菜单中的链接来打开一个新的窗口<br />34、跳到页面的顶部<br />36.一个站点不同页面间播放同一音频文件<br />38、定制新窗口<br />40. 删除图片链接的蓝色边框<br />47. table标签经验<br />48.$("name")<br />49.js读java变量：<br />50、js显示下拉框默认值<br />51、&amp;nbsp;（空格）占一个字符或两个字符<br />52、在线播放:<br />53、树状显示js代码<br />54、鼠标移到就显示下拉菜单<br />55、防止下载网页信息的简单方法（防君子不防小人，对此问题目前没有绝对办法）<br />56、js设置输入框焦点<br />57、option标签没有value属性时<br />58、不保留缓存方法：<br />59、全选、全不选js方法<br />1.网页技术分为三个方面：静态网页、网页美工、动态网页。<br />2.DHTML(动态HTML)是一种通过各种技术的综合而得以实现的概念，包括三部分：HTML、Script(JavaScrip or VBScript)、CSS(Cascading </p>
		<p>Style Sheets)。<br />3.颜色“#rrggbb”六位十六进制数。<br />4.js提示（删除时）<br />1)每一个链接处都需要<br />&lt;a  href="#" onclick="return(confirm('删除后无法恢复,您确定删除吗?'))"&gt;删除&lt;/a&gt;<br />2）每一个按钮处都需要<br />&lt;input type=button value="删除" onclick="javascript:reload()"&gt;<br />&lt;script type="text/javascript"&gt; <br />function reload() {<br />  if (confirm("确认?"))<br /> {<br /> var url="#";<br /> window.location.href=url;<br /> }<br />}<br />3）页面内定义一次就可以<br />&lt;a  href="#" &gt;删除&lt;/a&gt;<br />&lt;script language="javascript" type="text/javascript"&gt;<br />function delete_confirm(){<br /> if(event.srcElement.outerText=="删除" || event.srcElement.value=="删除")<br />  event.returnValue=confirm("删除后将不能恢复，您确认执行删除操作么？");<br /> }<br /> document.onclick=delete_confirm;<br />&lt;/script&gt;</p>
		<p> </p>
		<p>5.前进、后退、返回某页、刷新、关闭<br />返回前页：使用OnClick="history.go(-1)"<br />返回主页：使用OnClick='top.location.href="index.jsp"'<br />&lt;a href="javascript:history.back()"&gt;后退&lt;/a&gt;<br />&lt;a href="javascript:history.go()"&gt;前进&lt;/a&gt;<br />&lt;a href="javascript:location.reload()"&gt;刷新&lt;/a&gt;</p>
		<p>7.定时关闭网页<br />在head区加入<br />&lt;SCRIPT LANGUAGE="javascript"&gt;<br />setTimeout('window.close();',2000);<br />&lt;/SCRIPT&gt;<br />表示两秒后自动关闭窗口。 </p>
		<p>8. 背景音乐 <br />显示操作面板：<br />在相应地方加&lt;embed src="aladdin.mid" width="140" height="35" autostart=true controls="middleconsole"&gt;<br />不显示操作面板：<br />在页中任意地方加&lt;embed src="aladdin.mid" hidden=true autostart=true loop=true&gt;<br />或&lt;embed src="aladdin.mid" autostart="true" loop="2" width="80" height="30"&gt;</p>
		<p>9. 如何让浏览器正确显示word 文件格式?<br />为了正确处理word 等格式，你需要在HTML文件中设置好该文件类型<br />&lt;meta http-equiv="Content-Type" content="application/msword"&gt; <br />还有其它经常设置的文件类型：<br />application/msword Microsoft Word Document<br />application/pdf PDF Document<br />application/wordperfect6.0 WordPerfect 6.0 Document<br />application/zip ZIP archive<br />audio/x-wav WAV audio format<br />audio/midi MIDI audio format<br />audio/x-pn-realaudio RealAudio<br />image/gif GIF image format<br />image/jpeg JPEG image format<br />image/png PNG image format<br />text/html HTML document<br />text/plain Plain text<br />video/mpeg MPEG video format<br />video/quicktime QuickTime video format<br />video/x-msvideo AVI video format</p>
		<p>10. 目标窗口target及其设置<br />目标窗口是页面链接所指内容显示的窗口，也就是当你单击了页面某一个链接后，该链接所指的内容在那个窗口显示。大多数情况下，我们无</p>
		<p>需关心它，因为一般都是在同一窗口显示。target是链接标签&lt;a&gt;的属性，它的作用就是指定目标窗口，target有以下几个值：<br />1）_blank<br />     &lt;a href="document.html" target="_blank"&gt;my document&lt;/a&gt;<br />     浏览器会另开一个新窗口显示document.html文档<br />2）_parent<br />     &lt;a href="document.html" target="_parent"&gt;my document&lt;/a&gt;<br />     指向父frameset文档<br />3）_self<br />     &lt;a href="document.html" target="_self"&gt;my document&lt;/a&gt;<br />     把文档调入当前页框<br />4）_top<br />      &lt;a href="document.html" target="_top"&gt;my document&lt;/a&gt; <br />      去掉所有页框并用document.html取代frameset文档<br />5）***<br />      在链接处加target="***"语句，其中main为frame名，就可以在***frame里打开页面。</p>
		<p>小技巧：可以在文件头加：&lt;base target="_self"&gt;，则此页所有链接都在本页打开 </p>
		<p>12. 自动刷新 <br />定时刷新：&lt;META HTTP-EQUIV="Refresh" content="10; URL=http://自己的URL"&gt;<br />幻灯片效果：语句类似上面，但在页面1中URL指向页面2，而页面2指向页面3 ... <br />页面n指回页面1，即可实现循环显示页面的效果</p>
		<p>13、大图片提前载入<br />如果您的站点中后面的页有大图形需要显示，您不妨在第一页中提前载入。把语句：<br />&lt;img src="image.jpg" width=0 height=0&gt; ,其中width,height要设置为0， 放在第一页HTML中的任何地方。<br />如果您的访问者在第一页停留的时间足够长，当他进入第二页时，图象会立即显示出来</p>
		<p>15. 移动文字<br />这在主页上是常用的，其制作方法很简单。<br />&lt;marquee&gt;要移动的文字&lt;/marquee&gt;<br />  1.移动 的方向：&lt;direction=!&gt; !=left, right<br />  2.移动的方式：&lt;bihavior=!&gt; !=scroll ,side,alternate<br />  3.循环次数：&lt;loop=!&gt; !=次数。若未指定则循环不止。<br />  4 循环速度：&lt;scrollamount=!&gt; !=数 </p>
		<p>16. 浮动背景（背景图像不滚动 ）<br />当你拉住下拉条时，背景不动。<br />&lt;body backgroud="#ffff" bgproperties="fixed"&gt;<br />或用CSS样式表定义：<br />&lt;style type="text/css"&gt;<br />&lt;!--<br />body { background-image: url(image/bg.gif); background-attachment: fixed}<br />--&gt;<br />&lt;/style&gt;</p>
		<p>17. 让背景图像不平铺的CSS样式表<br />&lt;style type="text/css"&gt;<br />&lt;!--<br />body { background-image: url(image/bg.gif); background-repeat: no-repeat}<br />--&gt;<br />&lt;/style&gt;</p>
		<p>18、判断不同浏览器<br />目前微软和网景的浏览器并不能完全兼容所有网页,有的在某种浏览器里非常漂亮,而用其它浏览器查看时却一团糟。如果你需要测试浏览器,可</p>
		<p>以加入以下javascript代码并保存单独一个网页:<br />&lt;script language="javascript"&gt;<br />function TestBrowser(){<br />ie = ((navigator.appName ==<br />"Microsoft Internet Explorer") &amp; &amp; <br />(parseInt(navigator.appVersion) &gt;= 3 ))<br />ns = ((navigator.appName == "Netscape") &amp; &amp; <br />(parseInt(navigator.appVersion) &gt;= 3 ))<br />if (ns) {<br />setTimeout(''location.href="nn4.htm"'',10);<br />} else {<br />setTimeout(''location.href="ie4.htm"'',10);<br />}<br />}<br />&lt;/script&gt;</p>
		<p>19. 定义本网页的关键字<br />在网页中加入关键字，可以供某些搜索站台机器人的使用，它们会利用该关键字为你的网站做索引，这样，当别人用关键字搜索网站时，如果</p>
		<p>你的网页包含该关键字，那么就可以被列出了，定义本网页关键字，可以加入以下代码：<br />&lt;meta name="keywords" content="html,dreamweaver,flash,css"&gt;<br />　 content 所包含的就是关键字，你可以自行设置。<br />　 这里有个技巧，你可以重复某一个单词，这样可以提高自己网站的排行位置，如:<br />&lt;meta name="keywords" content="dreamweaver,dreamweaver,dreamweaver"&gt;</p>
		<p>21. 改变链接在浏览器状态栏信息<br />当指向一个链接时，该链接的信息会出现在浏览器状态栏里，如果需要隐藏信息，可以如下设置：<br />&lt;a href="<a href="http://www.yhyhw.com">http://www.yhyhw.com</a>" onMouseOver="window.status='none';return true"&gt;test&lt;/a&gt;<br />　　如果想要指向一个链接时，浏览器状态栏里出现特定的信息，把none 改成你需要的文字即可。</p>
		<p>26. 打印按钮<br />&lt;form&gt;<br />&lt;input name="Print" onClick="window.print();<br />return false" type="button" value="Print"&gt;<br />&lt;/form&gt; </p>
		<p>27. 查看源码按钮<br />&lt;input type=button name="view" value="查看源码" onClick=''window.location="view-source:" +window.location.href'' style="font</p>
		<p>-size:9pt"&gt;</p>
		<p>28. 去掉页面滚动条<br />在body 中加入样式表控制，代码如下：<br />&lt;body bgcolor="#000000" leftmargin="0" topmargin="0" <br />style="overflow-x: hidden; overflow-y: hidden; width: 100%"&gt;</p>
		<p>30. 水平线、垂直线<br />插入HR很简单：&lt;hr size="1"&gt;。如何让它垂直呢，更简单：&lt;hr size="100" width="1"&gt;</p>
		<p>31. 下拉式菜单中的链接来打开一个新的窗口<br />先把下拉式菜单设置好，如：<br />&lt;form method="POST"&gt;<br />&lt;select name="D1" size="1"&gt;<br />&lt;option value="<a href="http://www.163.com/">http://www.163.com/</a>"&gt;网易&lt;/option&gt;<br />&lt;option value="<a href="http://www.suho.com/">http://www.suho.com/</a>"＞搜狐&lt;/option&gt;&lt;/select&gt;<br />&lt;input type="submit" value="确定" name="B1"&gt;&lt;input type="reset" value="重置"name="B2"&gt;&lt;/p&gt;&lt;/form&gt;<br />然后把&lt;select name="D1" size="1"&gt;改为<br />&lt;select onChange="javascript:window.open(this.options[this.selectedIndex].value)"&gt;即可。</p>
		<p>34. 跳到页面的顶部<br />当浏览者浏览到页面底部后，你需要提供一个单击，让浏览者方便的跳到页面顶部，加入以下代码：<br />&lt;a href="#top"&gt;返回顶部&lt;/a&gt;</p>
		<p>36.一个站点不同页面间播放同一音频文件<br />大家有这样的经验，当你访问一个站点首页时，会听到该页设置的背景声音文件，比如一段音乐。当你链接到该站点另一页时，音乐就停止了</p>
		<p>。如何让声音不断呢。其实，你只需要建立一个上下框架结构的网页，把声音文件建立在下框架里，并把下框架的宽度设置为一个像素，而上</p>
		<p>框架里是页面内容，当访问者离开站点首页时，因下框架内容未变，所以，声音不会间断。大家还要注意两点，第一，把框架的边框设置为0；</p>
		<p>第二，隐藏声音文件的播放界面，然后把上下两个框架的背景设置为相同。 </p>
		<p>38.定制新窗口<br />我们可以打开一个新的窗口来显示链接的内容，但如何定制这个新窗口呢。只需要在标签&lt;A&gt;中加入onClick事件:<br />&lt;a href="#" onClick="window.open('cnshell.htm','help','scrollbars=yes,resizable=yes,width=500,height=40')"&gt;问答&lt;/a&gt;"#"表示单</p>
		<p>击链接"问答"后，当前窗口保持不变，cnshell.htm为单击链接"问答"后所打开新窗口装载的内容，width:宽,height:高,resizable:是否允许</p>
		<p>访客缩放新窗口,scrollbars:如果文本超过一屏,是否生成滚动条,status:是否显示状态栏,menubar:是否显示菜单,location:是否显示地址栏.</p>
		<p>40. 删除图片链接的蓝色边框<br />如果我们设置了图片为一个链接，会发现图片四周出现了蓝色边框。要删除边框，需要在图片标签里加上border="0"。如：&lt;img </p>
		<p>src="dog.jpg" border="0"&gt;</p>
		<p>47. 尽量用table标签，这样可以避免&lt;td&gt;之间的干扰；&lt;table&gt;尽量设为&lt;table width="100%" border="0" cellpadding="0" </p>
		<p>ellspacing="0"&gt;，一方面是不显示表格线，另一方面占满整个宽度，不会因为内容不够而宽度变窄；包含&lt;table&gt;的 &lt;td&gt;要设为&lt;td </p>
		<p>valign="top"&gt;，不然内部table默认居中。&lt;table&gt;中第一行表格的width控制各列宽度；每列第一个格的height控制各行高度。</p>
		<p>
				<br />48.$("name")同document.getElementById("name")，是一种简化写法。（可能新版本js可用，老版本不行，我项目中试过一次，不行）</p>
		<p>49.js读java变量：<br />&lt;%<br />String s = "welcome";<br />%&gt;<br />&lt;script language="javascript"&gt;<br />//alert(&lt;%=s%&gt;);报错<br />alert('&lt;%=s%&gt;');//正确<br />//如果不加单引号说明是变量，加上单引号才是字符串<br />&lt;/script&gt;</p>
		<p>50、js显示下拉框默认值<br />&lt;select name="max"&gt;<br /> &lt;option value="1"&gt;第一名&lt;/option&gt;<br /> &lt;option value="2"&gt;第二名&lt;/option&gt;<br /> &lt;option value="3"&gt;第三名&lt;/option&gt;<br />&lt;/select&gt;<br />&lt;script&gt;document.all("max").value="3"&lt;/script&gt;</p>
		<p>51.&amp;nbsp;表示一个空格，这个空格占一个字符（对于字母）还是两个字符（对于汉字）是根据浏览器的（工具-&gt;Internet选项-&gt;语言）来决定</p>
		<p>的，是不确定的，所以中文开头只需要两个&amp;nbsp;而不是四个&amp;nbsp;。</p>
		<p>52.在线播放:<br />下面两个视频，前一个是RM视频（.rm .rmvb），后一个是MP视频（.wmv .asf .avi）,为了不影响大家，都设置为手动播放，并将相关的代码</p>
		<p>及说明放在了视频的下面：<br />RM源代码：<br />&lt;OBJECT classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA class=OBJECT id=RAOCX width=352 height=288&gt;<br />&lt;PARAM NAME=SRC VALUE="<a href="http://www.cqie.cn/pub/iec.rm">http://www.cqie.cn/pub/iec.rm</a>"&gt;<br />&lt;PARAM NAME=CONSOLE VALUE="<a href="http://www.cqie.cn/pub/iec.rm">http://www.cqie.cn/pub/iec.rm</a>"&gt;<br />&lt;PARAM NAME=CONTROLS VALUE=imagewindow&gt;<br />&lt;PARAM NAME=AUTOSTART VALUE=0 &gt;<br />&lt;/OBJECT&gt;<br />&lt;br&gt;<br />&lt;OBJECT classid=CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA height=32 id="video" width=352&gt;<br />&lt;PARAM NAME=SRC VALUE="<a href="http://www.cqie.cn/pub/iec.rm">http://www.cqie.cn/pub/iec.rm</a>"&gt;<br />&lt;PARAM NAME=AUTOSTART VALUE=0&gt;<br />&lt;PARAM NAME=CONTROLS VALUE=controlpanel&gt;<br />&lt;PARAM NAME=CONSOLE VALUE="<a href="http://www.cqie.cn/pub/iec.rm">http://www.cqie.cn/pub/iec.rm</a>"&gt;<br />&lt;/OBJECT&gt;<br />说明：以后可以直接把以上代码放到网页中使用，需要修改的属性说明如下width=352 height=288　这是控制媒体高度和宽度的</p>
		<p>VALUE="<a href="http://www.cqie.cn/pub/iec.rm">http://www.cqie.cn/pub/iec.rm</a>" 这是指定媒体文件URL地址的，如果安装了REALSERVER的话，可以用</p>
		<p>rtsp://www.cqie.cn/pub/iec.rm来进行流式播放，看起来会更流畅，而且可拖动。AUTOSTART VALUE=0  这是控制是否自动播放的，你只要将</p>
		<p>value=1就可以自动播放了</p>
		<p>MP源代码：<br />&lt;object align=middle classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 class=OBJECT id=MediaPlayer width=160 height=168 &gt;<br />&lt;PARAM NAME=AUTOSTART VALUE=0 &gt;<br />&lt;param name=ShowStatusBar value=-1&gt;<br />&lt;param name=Filename value=http://xiaoping.cqie.cn/wmv/jler.wmv&gt;<br />&lt;embed type=application/x-oleobject </p>
		<p>codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701 flename=mp </p>
		<p>src="<a href="http://xiaoping.cqie.cn/wmv/jler.wmv">http://xiaoping.cqie.cn/wmv/jler.wmv</a>" width=160 height=168&gt;<br />&lt;/embed&gt;<br />&lt;/object&gt;</p>
		<p>
				<br />53.树状显示js代码<br />（要求：某行文本前面有一个加号的标签，一点击加号变成减号，同时该行展开它之下所属信息，以缩进形式呈现，再点击减号又变回加号、</p>
		<p>下面展开的文本收回，这应该怎么做？除了js方式有什么其他方式实现么？谢谢！）<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<br />&lt;title&gt;无标题文档&lt;/title&gt;<br />&lt;script language="javascript"&gt;<br />function showLay(divId){<br />        var objDiv = eval(divId);<br />        if (objDiv.style.display=="none"){<br />                eval("sp"+divId+".innerHTML='-'");<br />                objDiv.style.display="";<br />        }else{<br />                eval("sp"+divId+".innerHTML='+'");<br />                objDiv.style.display="none";<br />        }}<br />&lt;/script&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;a href="#" onclick="showLay('Layer1')"&gt;&lt;span id="spLayer1"&gt;+&lt;/span&gt;a&lt;/a&gt;&lt;br&gt;<br />&lt;div id="Layer1" style="display:none;"&gt;<br />|-&lt;a href="insert_unit_info.html" target="body"&gt;a1&lt;/a&gt;&lt;br&gt;<br />|-&lt;a href="select_unit_info.jsp" target="body"&gt;a2&lt;/a&gt;&lt;br&gt;<br />&lt;/div&gt;<br />&lt;a href="#" onclick="showLay('Layer2')"&gt;&lt;span id="spLayer2"&gt;+&lt;/span&gt;b&lt;/a&gt;&lt;BR&gt;<br />&lt;div id="Layer2" style="display:none;"&gt;<br />|-&lt;a href="insert_item_info.html" target="body"&gt;b1&lt;/a&gt;&lt;br&gt;<br />|-&lt;a href="select_item_info.jsp" target="body"&gt;b2&lt;/a&gt;&lt;br&gt;<br />&lt;/div&gt;<br />&lt;a href="#" onclick="showLay('Layer3')"&gt;&lt;span id="spLayer3"&gt;+&lt;/span&gt;c&lt;/a&gt;&lt;BR&gt;<br />&lt;div id="Layer3" style="display:none;"&gt;<br />|-&lt;a href="insert_expert_info.html" target="body"&gt;c1&lt;/a&gt;&lt;br&gt;<br />|-&lt;a href="select_expert_info.jsp" target="body"&gt;c2&lt;/a&gt;&lt;br&gt;<br />&lt;/div&gt;<br />&lt;a href="#" onclick="showLay('Layer4')"&gt;&lt;span id="spLayer4"&gt;+&lt;/span&gt;d&lt;/a&gt;&lt;BR&gt;<br />&lt;div id="Layer4" style="display:none;"&gt;<br />|-d1&lt;br&gt;<br />|-d2&lt;br&gt;<br />&lt;/div&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</p>
		<p>54.下拉菜单（新建个.html文件，把代码考进去就行）<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;title&gt;打造下拉菜单&lt;/title&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<br />&lt;script language="javascript"&gt;<br />function MM_reloadPage(init) {  //reloads the window if Nav4 resized<br />  if (init==true) with (navigator) {if ((appName=="Netscape")&amp;&amp;(parseInt(appVersion)==4)) {<br />    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}<br />  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();<br />}<br />MM_reloadPage(true);<br />function MM_findObj(n, d) { //v4.0<br />  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))&gt;0&amp;&amp;parent.frames.length) {<br />    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}<br />  if(!(x=d[n])&amp;&amp;d.all) x=d.all[n]; for (i=0;!x&amp;&amp;i&lt;d.forms.length;i++) x=d.forms[i][n];<br />  for(i=0;!x&amp;&amp;d.layers&amp;&amp;i&lt;d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);<br />  if(!x &amp;&amp; document.getElementById) x=document.getElementById(n); return x;<br />}<br />function MM_showHideLayers() { //v3.0<br />  var i,p,v,obj,args=MM_showHideLayers.arguments;<br />  for (i=0; i&lt;(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];<br />    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }<br />    obj.visibility=v; }<br />}<br />&lt;/script&gt;<br />&lt;/head&gt;<br />&lt;body bgcolor="#CCCCCC" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" scroll=auto&gt;<br />&lt;div id="title" style="position:absolute; left:8px; top:15px; width:240px; height:15px; z-index:1; background-color: #006699;<br />layer-background-color: #006699; border: 1px none #000000"&gt;<br />  &lt;table width="480" cellspacing="0" cellpadding="2"&gt;<br />    &lt;tr&gt;<br />      &lt;td width="120" onMouseOver="MM_showHideLayers('menu1','','show')" onMouseOut="MM_showHideLayers<br />('menu1','','hide')"&gt;&lt;b&gt;&lt;font color="#FFFFFF"&gt;&lt;a href="#"&gt;■<br />        经典论坛&lt;/a&gt;&lt;/font&gt;&lt;/b&gt; &lt;/td&gt;<br />    &lt;/tr&gt;<br />  &lt;/table&gt;<br />&lt;/div&gt;<br />&lt;div id="menu1" style="position:absolute; left:8px; top:34px; width:120px; height:80px; z-index:2; background-color: #999966;<br />layer-background-color: #999966; border: 1px none #000000; visibility: hidden" onMouseOver="MM_showHideLayers<br />('menu1','','show')" onMouseOut="MM_showHideLayers('menu1','','hide')"&gt;<br />  &lt;table width="100%" cellspacing="0" cellpadding="2" height="80"&gt;<br />    &lt;tr&gt;<br />      &lt;td&gt;&amp;nbsp;&lt;a href="#"&gt;Dreamweaver 专栏&lt;/a&gt;&lt;/td&gt;<br />    &lt;/tr&gt;<br />    &lt;tr&gt;<br />      &lt;td&gt;&amp;nbsp;&lt;a href="#"&gt;Fireworks 专栏&lt;/a&gt;&lt;/td&gt;<br />    &lt;/tr&gt;<br />    &lt;tr&gt;<br />      &lt;td&gt;&amp;nbsp;&lt;a href="#"&gt;Flash 基本操作&lt;/a&gt;&lt;/td&gt;<br />    &lt;/tr&gt;<br />    &lt;tr&gt;<br />      &lt;td&gt;&amp;nbsp;&lt;a href="#"&gt;Flash 5 Action&lt;/a&gt;&lt;/td&gt;<br />    &lt;/tr&gt;<br />  &lt;/table&gt;<br />&lt;/div&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</p>
		<p>
				<br />55.防止下载网页信息（例如显示受控文件）的简单方法：<br />a。屏蔽鼠标左右键，&lt;body oncontextmenu=self.event.returnValue=false onselectstart="return false"&gt;<br />b。加密网页源文件，推荐Batch Html Encryptor加密软件。<br />c.用Adobe Acrobat 6.0 Standard软件加密。</p>
		<p>56.用javascript设置输入框焦点<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;script language="javascript"&gt;<br />function t() {<br />document.getElementById('aa').focus();  <br />}                           &lt;!--设置id为aa的元素得到焦点--&gt;<br />&lt;/script&gt;<br />&lt;/head&gt;<br />&lt;body onload="javascript:t()"&gt;<br />&lt;input type="text" id="aa"&gt; &lt;!--设置文本输入框的id为aa--&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</p>
		<p>57.select标签下的OPTION标签没有value属性时，把内容当属性传过去，比如&lt;OPTION&gt;所有用户&lt;/OPTION&gt;传的值就是所有用户，建议用以下方</p>
		<p>法。<br />&lt;select name="account.accountId" &gt;<br />    &lt;OPTION value=""&gt;所有日志&lt;/OPTION&gt;<br />    &lt;OPTION value="renyang"&gt;任杨&lt;/OPTION&gt;<br />&lt;/select&gt;</p>
		<p>58.不保留缓存方法：<br />&lt;%<br />response.setHeader("Pragma", "No-cache");<br />response.setHeader("Cache-Control", "no-cache");<br />response.setHeader("Cache-Control", "must-revalidate");<br />response.setDateHeader("Expires",0);<br />%&gt;</p>
		<p>59.全选、全不选js方法 （直接放在.htm文件中即可）<br />&lt;SCRIPT language="javascript"&gt;<br />function checkAll(e, itemName)<br />{<br />  var aa = document.getElementsByName(itemName);<br />  for (var i=0; i&lt;aa.length; i++)<br />   aa[i].checked = e.checked;<br />}<br />function check(e, allName)<br />{<br />  var all = document.getElementsByName(allName)[0];<br />  if(!e.checked) all.checked = false;<br />  else<br />  {<br />    var aa = document.getElementsByName(e.name);<br />    for (var i=0; i&lt;aa.length; i++)<br />     if(!aa[i].checked) return;<br />    all.checked = true;<br />  }<br />}<br />&lt;/SCRIPT&gt;<br />&lt;input type=checkbox name=allPersons id=allPersons onclick="checkAll(this, 'persons')"&gt;&amp;nbsp;&lt;label for="allPersons"&gt;全选</p>
		<p>&lt;/label&gt;&lt;br&gt;<br />&lt;input type="checkbox" name="persons" id=persons value="1"&gt;&amp;nbsp;&lt;label for="persons"&gt;第一名&lt;/label&gt;&lt;br&gt;<br />&lt;input type="checkbox" name="persons" id=persons value="2"&gt;&amp;nbsp;&lt;label for="persons"&gt;第二名&lt;/label&gt;&lt;br&gt;<br />&lt;!-- 问题：第一名和第二名这两个字ID不能一样，否则点第二名这三个字时第一名前的框变化 --&gt; </p>
		<p> </p>
<img src ="http://www.blogjava.net/renyangok/aggbug/95062.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/renyangok/" target="_blank">保尔任</a> 2007-01-20 17:26 <a href="http://www.blogjava.net/renyangok/archive/2007/01/20/95062.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于SAX，DOM，JAXP，JDOM，DOM4J的一些理解</title><link>http://www.blogjava.net/renyangok/archive/2007/01/08/92303.html</link><dc:creator>保尔任</dc:creator><author>保尔任</author><pubDate>Mon, 08 Jan 2007 01:28:00 GMT</pubDate><guid>http://www.blogjava.net/renyangok/archive/2007/01/08/92303.html</guid><wfw:comment>http://www.blogjava.net/renyangok/comments/92303.html</wfw:comment><comments>http://www.blogjava.net/renyangok/archive/2007/01/08/92303.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/renyangok/comments/commentRss/92303.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/renyangok/services/trackbacks/92303.html</trackback:ping><description><![CDATA[
		<p>第一：首先介绍一下SAX，DOM，JAXP，JDOM，DOM4J的基本知识：<br />（注意：至于 JAXP  |   JAXB  |   JAXM  |   JAXR  |   JAX-RPC 分别指什么，查看<a href="http://gceclub.sun.com.cn/staticcontent/html/xml/faq/#jaxr">http://gceclub.sun.com.cn/staticcontent/html/xml/faq/#jaxr</a>_）</p>
		<p>1、sax、dom是两种对xml文档进行分析的方法（没有具体的实现，只有接口）<br />所以不是解释器，如果光有他们，你是完成不了对xml文档的处理的。<br />sax的包是org.xml.sax<br />dom的包是org.w3c.dom<br />包的名称很重要，它有助于你理解他们之间的关系。</p>
		<p>2、jaxp是api，他封装了sax\dom两种接口。并在sax\dom的基础之上，作了一套比较简单的api以供开发人员使用。<br />jaxp的包是javax.xml.parsers<br />可以看看jaxp的源文件，它的文件中包含了对sax或者dom的引用（import）<br />jaxp也不是具体的实现，他只是一套api。如果你仅仅有jaxp那是无法工作的<br />（其实jaxp只是完成对sax、dom的包装，生成了DocumentBuilderFactory\DocumentBuilder<br />和SAXParserFactory SAXParser。也就是设计模式中的工厂模式，他的好处就是具体的对象（ 解释器）建立由子类完成）</p>
		<p>3、xerces解释器（号称地球上最快的xml解释器）<br />在xerces中对jaxp中定义的SAXParser SAXParserFactory DocumentBuilder DocumentBuilderFactory进行了继承（extends）对应SAXParserImpl SAXParserFactoryImpl DocumentBuilderImpl DocumentBuilderFactoryImpl<br />这就是为什么你的classpath中只要有xerces.jar（其中包含了sax dom jaxp ）和 xercesImpl.jar就可以的原因了.</p>
		<p>4、什么时候可以用别的解释器 比如crimson呢<br />他也是和xerces一样 是解释器，很简单，用crimson.jar 替代xercesImpl.jar</p>
		<p>5、jdom和dom4j<br /> <br />W3C的DOM标准API难用的让人想撞墙，于是有一帮人开发Java专用的XML API目的是为了便于使用，这就是jdom的由来，开发到一半的时候，另一部分人又分了出来，他们有自己的想法，于是他们就去开发dom4j，形成了今天这样两个API，至于他们之间的性能，jdom全面惨败，dom4j大获全胜。我觉得jdom和dom4j就相当于sax/dom+jaxp，具体的解释器可以选择。</p>
		<p>第二：再介绍一下，dom,sax,jdom,dom4j的技术特点：</p>
		<p>1: DOM<br />DOM 是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准。DOM 是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构，然后才能做任何工作。由于它是基于信息层次的，因而 DOM 被认为是基于树或基于对象的。DOM 以及广义的基于树的处理具有几个优点。首先，由于树在内存中是持久的，因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航，而不是像 SAX 那样是一次性的处理。DOM 使用起来也要简单得多。<br />　　另一方面，对于特别大的文档，解析和加载整个文档可能很慢且很耗资源，因此使用其他手段来处理这样的数据会更好。这些基于事件的模型，比如 SAX。</p>
		<p>2:SAX<br />　　这种处理的优点非常类似于流媒体的优点。分析能够立即开始，而不是等待所有的数据被处理。而且，由于应用程序只是在读取数据时检查数据，因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上，应用程序甚至不必解析整个文档；它可以在某个条件得到满足时停止解析。一般来说，SAX 还比它的替代者 DOM 快许多。</p>
		<p>3:　选择 DOM 还是选择 SAX ？<br />　　对于需要自己编写代码来处理 XML 文档的开发人员来说，选择 DOM 还是 SAX 解析模型是一个非常重要的设计决策。 <br />　　DOM 采用建立树形结构的方式访问 XML 文档，而 SAX 采用的事件模型。 <br />　　DOM 解析器把 XML 文档转化为一个包含其内容的树，并可以对树进行遍历。用 DOM 解析模型的优点是编程容易，开发人员只需要调用建树的指令，然后利用navigation APIs访问所需的树节点来完成任务。可以很容易的添加和修改树中的元素。然而由于使用 DOM 解析器的时候需要处理整个 XML 文档，所以对性能和内存的要求比较高，尤其是遇到很大的 XML 文件的时候。由于它的遍历能力，DOM 解析器常用于 XML 文档需要频繁的改变的服务中。 <br />　　SAX 解析器采用了基于事件的模型，它在解析 XML 文档的时候可以触发一系列的事件，当发现给定的tag的时候，它可以激活一个回调方法，告诉该方法制定的标签已经找到。SAX 对内存的要求通常会比较低，因为它让开发人员自己来决定所要处理的tag。特别是当开发人员只需要处理文档中所包含的部分数据时，SAX 这种扩展能力得到了更好的体现。但用 SAX 解析器的时候编码工作会比较困难，而且很难同时访问同一个文档中的多处不同数据。 </p>
		<p>4:jdom <a href="http://www.jdom.org/">http://www.jdom.org</a><br />JDOM 的目的是成为 Java 特定文档模型，它简化与 XML 的交互并且比使用 DOM 实现更快。由于是第一个 Java 特定模型，JDOM 一直得到大力推广和促进。正在考虑通过“Java 规范请求 JSR-102”将它最终用作“Java 标准扩展”。从 2000 年初就已经开始了 JDOM 开发。<br />　　JDOM 与 DOM 主要有两方面不同。首先，JDOM 仅使用具体类而不使用接口。这在某些方面简化了 API，但是也限制了灵活性。第二，API 大量使用了 Collections 类，简化了那些已经熟悉这些类的 Java 开发者的使用。<br />　　JDOM 文档声明其目的是“使用 20%（或更少）的精力解决 80%（或更多）Java/XML 问题”（根据学习曲线假定为 20%）。JDOM 对于大多数 Java/XML 应用程序来说当然是有用的，并且大多数开发者发现 API 比 DOM 容易理解得多。JDOM 还包括对程序行为的相当广泛检查以防止用户做任何在 XML 中无意义的事。然而，它仍需要您充分理解 XML 以便做一些超出基本的工作（或者甚至理解某些情况下的错误）。这也许是比学习 DOM 或 JDOM 接口都更有意义的工作。<br />　　JDOM 自身不包含解析器。它通常使用 SAX2 解析器来解析和验证输入 XML 文档（尽管它还可以将以前构造的 DOM 表示作为输入）。它包含一些转换器以将 JDOM 表示输出成 SAX2 事件流、DOM 模型或 XML 文本文档。JDOM 是在 Apache 许可证变体下发布的开放源码。</p>
		<p>5: DOM4J   <a href="http://dom4j.sourceforge.net/">http://dom4j.sourceforge.net/</a><br />　虽然 DOM4J 代表了完全独立的开发结果，但最初，它是 JDOM 的一种智能分支。它合并了许多超出基本 XML 文档表示的功能，包括集成的 XPath 支持、XML Schema 支持以及用于大文档或流化文档的基于事件的处理。它还提供了构建文档表示的选项，它通过 DOM4J API 和标准 DOM 接口具有并行访问功能。从 2000 下半年开始，它就一直处于开发之中。<br />　　为支持所有这些功能，DOM4J 使用接口和抽象基本类方法。DOM4J 大量使用了 API 中的 Collections 类，但是在许多情况下，它还提供一些替代方法以允许更好的性能或更直接的编码方法。直接好处是，虽然 DOM4J 付出了更复杂的 API 的代价，但是它提供了比 JDOM 大得多的灵活性。<br />　　在添加灵活性、XPath 集成和对大文档处理的目标时，DOM4J 的目标与 JDOM 是一样的：针对 Java 开发者的易用性和直观操作。它还致力于成为比 JDOM 更完整的解决方案，实现在本质上处理所有 Java/XML 问题的目标。在完成该目标时，它比 JDOM 更少强调防止不正确的应用程序行为。<br />　　DOM4J 是一个非常非常优秀的Java XML API，具有性能优异、功能强大和极端易用使用的特点，同时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML，特别值得一提的是连 Sun 的 JAXM 也在用 DOM4J。</p>
		<p>最后：我建议用dom4j</p>
		<p>　JDOM 和 DOM 在性能测试时表现不佳，在测试 10M 文档时内存溢出。在小文档情况下还值得考虑使用 DOM 和 JDOM。虽然 JDOM 的开发者已经说明他们期望在正式发行版前专注性能问题，但是从性能观点来看，它确实没有值得推荐之处。另外，DOM 仍是一个非常好的选择。DOM 实现广泛应用于多种编程语言。它还是许多其它与 XML 相关的标准的基础，因为它正式获得 W3C 推荐（与基于非标准的 Java 模型相对），所以在某些类型的项目中可能也需要它（如在 javascript 中使用 DOM）。<br />　　SAX表现较好，这要依赖于它特定的解析方式。一个 SAX 检测即将到来的XML流，但并没有载入到内存（当然当XML流被读入时，会有部分文档暂时隐藏在内存中）。<br />　　无疑，DOM4J是最好的，目前许多开源项目中大量采用 DOM4J，例如大名鼎鼎的 Hibernate 也用 DOM4J 来读取 XML 配置文件。如果不考虑可移植性，那就采用DOM4J吧！<br /></p>
<img src ="http://www.blogjava.net/renyangok/aggbug/92303.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/renyangok/" target="_blank">保尔任</a> 2007-01-08 09:28 <a href="http://www.blogjava.net/renyangok/archive/2007/01/08/92303.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是RIA</title><link>http://www.blogjava.net/renyangok/archive/2006/11/22/82677.html</link><dc:creator>保尔任</dc:creator><author>保尔任</author><pubDate>Wed, 22 Nov 2006 01:20:00 GMT</pubDate><guid>http://www.blogjava.net/renyangok/archive/2006/11/22/82677.html</guid><wfw:comment>http://www.blogjava.net/renyangok/comments/82677.html</wfw:comment><comments>http://www.blogjava.net/renyangok/archive/2006/11/22/82677.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/renyangok/comments/commentRss/82677.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/renyangok/services/trackbacks/82677.html</trackback:ping><description><![CDATA[
		<!--StartFragment --> RIA是Rich Internet Applications的缩写，翻译成中文为富因特网应用程序（Macromedia中文网站翻译为Rich Internet应用程序） <br />传统网络程序的开发是基于页面的、服务器端数据传递的模式，把网络程序的表示层建立于HTML页面之上，而HTML是适合于文本的，传统的基于页面的系统已经渐渐不能满足网络浏览者的更高的、全方位的体验要求了，这就是被Macromedia公司称之为的“体验问题”（"Experience Matters"），而富因特网应用程序（Rich Internet Applications，缩写为RIA）的出现也就是为了解决这个问题。 <br />富因特网应用程序是下一代的将桌面应用程序的交互的用户体验与传统的Web应用的部署灵活性和成本分析结合起来的网络应用程序。富因特网应用程序中的富客户技术通过提供可承载已编译客户端应用程序（以文件形式，用HTTP传递）的运行环境，客户端应用程序使用异步客户/服务器架构连接现有的后端应用服务器，这是一种安全、可升级、具有良好适应性的新的面向服务模型，这种模型由采用的Web服务所驱动。结合了声音、视频和实时对话的综合通信技术使富因特网应用程序（RIA）具有前所未有的网上用户体验。 <br /><br />“富”的概念包含两方面，分别是数据模型的丰富和用户界面的丰富。数据中的“富”意思是用户界面可以显示和操作更为复杂的嵌入在客户端的数据模型，它可以操作客户端的计算和非同步的发送接收数据。这种模式相对于传统的HTML页面的优点是程序运行于客户端并且程序更多的是和用户进行交互同时更少的和服务器进行交互。平衡客户端和服务器端的复杂的数据模型可以让你有更大的空间去创建更高效和更具有交互性的网络应用程序。“富”同样也描述了全面提升的用户界面，HTML只给用户提供了非常有限的界面控制元素，而富因特网应用程序（RIA）的用户界面提供了灵活多样的界面控制元素，这些控制元素可以很好的与数据模型相结合。传统的因特网模型使用线性的设计，提供给用户一些选择然后用户发送选择结果给服务器，这种单一的模式不符合应用程序的灵活交互的要求和用户的意愿。频繁的服务器请求和页面刷新有很多的缺点包括页面打开缓慢和降低网络带宽。如果采用富客户界面，可以从以前的服务器响应影响整个界面，转移到只有收到请求的应用程序部分才会做出相应的变化。这本质上意味着界面被分解成许多独立的模块，这些模块都会对收到的信息做出相应的反应，有些会和服务器端进行交互，有些是这些模块之间的通信。 <br /><img src ="http://www.blogjava.net/renyangok/aggbug/82677.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/renyangok/" target="_blank">保尔任</a> 2006-11-22 09:20 <a href="http://www.blogjava.net/renyangok/archive/2006/11/22/82677.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>实体参考表</title><link>http://www.blogjava.net/renyangok/archive/2006/11/22/82669.html</link><dc:creator>保尔任</dc:creator><author>保尔任</author><pubDate>Wed, 22 Nov 2006 01:12:00 GMT</pubDate><guid>http://www.blogjava.net/renyangok/archive/2006/11/22/82669.html</guid><wfw:comment>http://www.blogjava.net/renyangok/comments/82669.html</wfw:comment><comments>http://www.blogjava.net/renyangok/archive/2006/11/22/82669.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/renyangok/comments/commentRss/82669.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/renyangok/services/trackbacks/82669.html</trackback:ping><description><![CDATA[
		<div>
				<p>
						<strong>提示</strong> 实体名是区分大小写的。</p>
				<p>
						<strong>备注</strong> 同一个符号，可以用“实体名称”和“实体编号”两种方式引用，“实体名称”的优势在于便于记忆，但不能保证所有的浏览器都能顺利识别它，而“实体编号”则没有这种担忧，但它实在不方便记忆。</p>
				<hr />
				<h2>ASCII/XML 中实体参考</h2>
				<table class="ex" cellspacing="0" border="1">
						<tbody>
								<tr>
										<th>显示</th>
										<th>描述</th>
										<th>实体名称</th>
										<th>实体编号</th>
								</tr>
								<tr>
										<td>"</td>
										<td>quotation mark</td>
										<td>&amp;quot;</td>
										<td>&amp;#34;</td>
								</tr>
								<tr>
										<td>'</td>
										<td>apostrophe </td>
										<td>&amp;apos; (IE下无效)</td>
										<td>&amp;#39;</td>
								</tr>
								<tr>
										<td>&amp;</td>
										<td>ampersand</td>
										<td>&amp;amp;</td>
										<td>&amp;#38;</td>
								</tr>
								<tr>
										<td>&lt;</td>
										<td>less-than</td>
										<td>&amp;lt;</td>
										<td>&amp;#60;</td>
								</tr>
								<tr>
										<td>&gt;</td>
										<td>greater-than</td>
										<td>&amp;gt;</td>
										<td>&amp;#62;</td>
								</tr>
						</tbody>
				</table>
				<h2>ISO 8859-1 符号实体</h2>
				<table class="ex" cellspacing="0" border="1">
						<tbody>
								<tr>
										<th>显示</th>
										<th>描述</th>
										<th>实体名称</th>
										<th>实体编号</th>
								</tr>
								<tr>
										<td> </td>
										<td>non-breaking space</td>
										<td>&amp;nbsp;</td>
										<td>&amp;#160;</td>
								</tr>
								<tr>
										<td>¡</td>
										<td>inverted exclamation mark</td>
										<td>&amp;iexcl;</td>
										<td>&amp;#161;</td>
								</tr>
								<tr>
										<td>¤</td>
										<td>currency</td>
										<td>&amp;curren;</td>
										<td>&amp;#164;</td>
								</tr>
								<tr>
										<td>￠</td>
										<td>cent</td>
										<td>&amp;cent;</td>
										<td>&amp;#162;</td>
								</tr>
								<tr>
										<td>￡</td>
										<td>pound</td>
										<td>&amp;pound;</td>
										<td>&amp;#163;</td>
								</tr>
								<tr>
										<td>￥</td>
										<td>yen</td>
										<td>&amp;yen;</td>
										<td>&amp;#165;</td>
								</tr>
								<tr>
										<td>¦</td>
										<td>broken vertical bar</td>
										<td>&amp;brvbar;</td>
										<td>&amp;#166;</td>
								</tr>
								<tr>
										<td>§</td>
										<td>section</td>
										<td>&amp;sect;</td>
										<td>&amp;#167;</td>
								</tr>
								<tr>
										<td>¨</td>
										<td>spacing diaeresis</td>
										<td>&amp;uml;</td>
										<td>&amp;#168;</td>
								</tr>
								<tr>
										<td>©</td>
										<td>copyright</td>
										<td>&amp;copy;</td>
										<td>&amp;#169;</td>
								</tr>
								<tr>
										<td>a</td>
										<td>feminine ordinal indicator</td>
										<td>&amp;ordf;</td>
										<td>&amp;#170;</td>
								</tr>
								<tr>
										<td>«</td>
										<td>angle quotation mark (left)</td>
										<td>&amp;laquo;</td>
										<td>&amp;#171;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>negation</td>
										<td>&amp;not;</td>
										<td>&amp;#172;</td>
								</tr>
								<tr>
										<td>-</td>
										<td>soft hyphen</td>
										<td>&amp;shy;</td>
										<td>&amp;#173;</td>
								</tr>
								<tr>
										<td>®</td>
										<td>registered trademark</td>
										<td>&amp;reg;</td>
										<td>&amp;#174;</td>
								</tr>
								<tr>
										<td>™</td>
										<td>trademark</td>
										<td>&amp;trade;</td>
										<td>&amp;#8482;</td>
								</tr>
								<tr>
										<td>ˉ</td>
										<td>spacing macron</td>
										<td>&amp;macr;</td>
										<td>&amp;#175;</td>
								</tr>
								<tr>
										<td>°</td>
										<td>degree</td>
										<td>&amp;deg;</td>
										<td>&amp;#176;</td>
								</tr>
								<tr>
										<td>±</td>
										<td>plus-or-minus </td>
										<td>&amp;plusmn;</td>
										<td>&amp;#177;</td>
								</tr>
								<tr>
										<td>2</td>
										<td>superscript 2</td>
										<td>&amp;sup2;</td>
										<td>&amp;#178;</td>
								</tr>
								<tr>
										<td>3</td>
										<td>superscript 3</td>
										<td>&amp;sup3;</td>
										<td>&amp;#179;</td>
								</tr>
								<tr>
										<td>′</td>
										<td>spacing acute</td>
										<td>&amp;acute;</td>
										<td>&amp;#180;</td>
								</tr>
								<tr>
										<td>μ</td>
										<td>micro</td>
										<td>&amp;micro;</td>
										<td>&amp;#181;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>paragraph</td>
										<td>&amp;para;</td>
										<td>&amp;#182;</td>
								</tr>
								<tr>
										<td>·</td>
										<td>middle dot</td>
										<td>&amp;middot;</td>
										<td>&amp;#183;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>spacing cedilla</td>
										<td>&amp;cedil;</td>
										<td>&amp;#184;</td>
								</tr>
								<tr>
										<td>1</td>
										<td>superscript 1</td>
										<td>&amp;sup1;</td>
										<td>&amp;#185;</td>
								</tr>
								<tr>
										<td>o</td>
										<td>masculine ordinal indicator</td>
										<td>&amp;ordm;</td>
										<td>&amp;#186;</td>
								</tr>
								<tr>
										<td>»</td>
										<td>angle quotation mark (right)</td>
										<td>&amp;raquo;</td>
										<td>&amp;#187;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>fraction 1/4</td>
										<td>&amp;frac14;</td>
										<td>&amp;#188;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>fraction 1/2</td>
										<td>&amp;frac12;</td>
										<td>&amp;#189;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>fraction 3/4</td>
										<td>&amp;frac34;</td>
										<td>&amp;#190;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>inverted question mark</td>
										<td>&amp;iquest;</td>
										<td>&amp;#191;</td>
								</tr>
								<tr>
										<td>×</td>
										<td>multiplication</td>
										<td>&amp;times;</td>
										<td>&amp;#215;</td>
								</tr>
								<tr>
										<td>÷</td>
										<td>division</td>
										<td>&amp;divide;</td>
										<td>&amp;#247;</td>
								</tr>
						</tbody>
				</table>
				<h2>ISO 8859-1 字符实体</h2>
				<table class="ex" cellspacing="0" border="1">
						<tbody>
								<tr>
										<th>显示</th>
										<th>描述</th>
										<th>实体名称</th>
										<th>实体编号</th>
								</tr>
								<tr>
										<td>À</td>
										<td>capital a, grave accent</td>
										<td>&amp;Agrave;</td>
										<td>&amp;#192;</td>
								</tr>
								<tr>
										<td>Á</td>
										<td>capital a, acute accent</td>
										<td>&amp;Aacute;</td>
										<td>&amp;#193;</td>
								</tr>
								<tr>
										<td>Â</td>
										<td>capital a, circumflex accent</td>
										<td>&amp;Acirc;</td>
										<td>&amp;#194;</td>
								</tr>
								<tr>
										<td>Ã</td>
										<td>capital a, tilde</td>
										<td>&amp;Atilde;</td>
										<td>&amp;#195;</td>
								</tr>
								<tr>
										<td>Ä</td>
										<td>capital a, umlaut mark</td>
										<td>&amp;Auml;</td>
										<td>&amp;#196;</td>
								</tr>
								<tr>
										<td>Å</td>
										<td>capital a, ring</td>
										<td>&amp;Aring;</td>
										<td>&amp;#197;</td>
								</tr>
								<tr>
										<td>Æ</td>
										<td>capital ae</td>
										<td>&amp;AElig;</td>
										<td>&amp;#198;</td>
								</tr>
								<tr>
										<td>Ç</td>
										<td>capital c, cedilla</td>
										<td>&amp;Ccedil;</td>
										<td>&amp;#199;</td>
								</tr>
								<tr>
										<td>È</td>
										<td>capital e, grave accent</td>
										<td>&amp;Egrave;</td>
										<td>&amp;#200;</td>
								</tr>
								<tr>
										<td>É</td>
										<td>capital e, acute accent</td>
										<td>&amp;Eacute;</td>
										<td>&amp;#201;</td>
								</tr>
								<tr>
										<td>Ê</td>
										<td>capital e, circumflex accent</td>
										<td>&amp;Ecirc;</td>
										<td>&amp;#202;</td>
								</tr>
								<tr>
										<td>Ë</td>
										<td>capital e, umlaut mark</td>
										<td>&amp;Euml;</td>
										<td>&amp;#203;</td>
								</tr>
								<tr>
										<td>Ì</td>
										<td>capital i, grave accent</td>
										<td>&amp;Igrave;</td>
										<td>&amp;#204;</td>
								</tr>
								<tr>
										<td>Í</td>
										<td>capital i, acute accent</td>
										<td>&amp;Iacute;</td>
										<td>&amp;#205;</td>
								</tr>
								<tr>
										<td>Î</td>
										<td>capital i, circumflex accent</td>
										<td>&amp;Icirc;</td>
										<td>&amp;#206;</td>
								</tr>
								<tr>
										<td>Ï</td>
										<td>capital i, umlaut mark</td>
										<td>&amp;Iuml;</td>
										<td>&amp;#207;</td>
								</tr>
								<tr>
										<td>Ð</td>
										<td>capital eth, Icelandic</td>
										<td>&amp;ETH;</td>
										<td>&amp;#208;</td>
								</tr>
								<tr>
										<td>Ñ</td>
										<td>capital n, tilde</td>
										<td>&amp;Ntilde;</td>
										<td>&amp;#209;</td>
								</tr>
								<tr>
										<td>Ò</td>
										<td>capital o, grave accent</td>
										<td>&amp;Ograve;</td>
										<td>&amp;#210;</td>
								</tr>
								<tr>
										<td>Ó</td>
										<td>capital o, acute accent</td>
										<td>&amp;Oacute;</td>
										<td>&amp;#211;</td>
								</tr>
								<tr>
										<td>Ô</td>
										<td>capital o, circumflex accent</td>
										<td>&amp;Ocirc;</td>
										<td>&amp;#212;</td>
								</tr>
								<tr>
										<td>Õ</td>
										<td>capital o, tilde</td>
										<td>&amp;Otilde;</td>
										<td>&amp;#213;</td>
								</tr>
								<tr>
										<td>Ö</td>
										<td>capital o, umlaut mark</td>
										<td>&amp;Ouml;</td>
										<td>&amp;#214;</td>
								</tr>
								<tr>
										<td>Ø</td>
										<td>capital o, slash</td>
										<td>&amp;Oslash;</td>
										<td>&amp;#216;</td>
								</tr>
								<tr>
										<td>ù</td>
										<td>capital u, grave accent</td>
										<td>&amp;Ugrave;</td>
										<td>&amp;#217;</td>
								</tr>
								<tr>
										<td>ú</td>
										<td>capital u, acute accent</td>
										<td>&amp;Uacute;</td>
										<td>&amp;#218;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>capital u, circumflex accent</td>
										<td>&amp;Ucirc;</td>
										<td>&amp;#219;</td>
								</tr>
								<tr>
										<td>ü</td>
										<td>capital u, umlaut mark</td>
										<td>&amp;Uuml;</td>
										<td>&amp;#220;</td>
								</tr>
								<tr>
										<td>Y</td>
										<td>capital y, acute accent</td>
										<td>&amp;Yacute;</td>
										<td>&amp;#221;</td>
								</tr>
								<tr>
										<td>T</td>
										<td>capital THORN, Icelandic</td>
										<td>&amp;THORN;</td>
										<td>&amp;#222;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>small sharp s, German</td>
										<td>&amp;szlig;</td>
										<td>&amp;#223;</td>
								</tr>
								<tr>
										<td>à</td>
										<td>small a, grave accent</td>
										<td>&amp;agrave;</td>
										<td>&amp;#224;</td>
								</tr>
								<tr>
										<td>á</td>
										<td>small a, acute accent</td>
										<td>&amp;aacute;</td>
										<td>&amp;#225;</td>
								</tr>
								<tr>
										<td>a</td>
										<td>small a, circumflex accent</td>
										<td>&amp;acirc;</td>
										<td>&amp;#226;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>small a, tilde</td>
										<td>&amp;atilde;</td>
										<td>&amp;#227;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>small a, umlaut mark</td>
										<td>&amp;auml;</td>
										<td>&amp;#228;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>small a, ring</td>
										<td>&amp;aring;</td>
										<td>&amp;#229;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>small ae</td>
										<td>&amp;aelig;</td>
										<td>&amp;#230;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>small c, cedilla</td>
										<td>&amp;ccedil;</td>
										<td>&amp;#231;</td>
								</tr>
								<tr>
										<td>è</td>
										<td>small e, grave accent</td>
										<td>&amp;egrave;</td>
										<td>&amp;#232;</td>
								</tr>
								<tr>
										<td>é</td>
										<td>small e, acute accent</td>
										<td>&amp;eacute;</td>
										<td>&amp;#233;</td>
								</tr>
								<tr>
										<td>ê</td>
										<td>small e, circumflex accent</td>
										<td>&amp;ecirc;</td>
										<td>&amp;#234;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>small e, umlaut mark</td>
										<td>&amp;euml;</td>
										<td>&amp;#235;</td>
								</tr>
								<tr>
										<td>ì</td>
										<td>small i, grave accent</td>
										<td>&amp;igrave;</td>
										<td>&amp;#236;</td>
								</tr>
								<tr>
										<td>í</td>
										<td>small i, acute accent</td>
										<td>&amp;iacute;</td>
										<td>&amp;#237;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>small i, circumflex accent</td>
										<td>&amp;icirc;</td>
										<td>&amp;#238;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>small i, umlaut mark</td>
										<td>&amp;iuml;</td>
										<td>&amp;#239;</td>
								</tr>
								<tr>
										<td>e</td>
										<td>small eth, Icelandic</td>
										<td>&amp;eth;</td>
										<td>&amp;#240;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>small n, tilde</td>
										<td>&amp;ntilde;</td>
										<td>&amp;#241;</td>
								</tr>
								<tr>
										<td>ò</td>
										<td>small o, grave accent</td>
										<td>&amp;ograve;</td>
										<td>&amp;#242;</td>
								</tr>
								<tr>
										<td>ó</td>
										<td>small o, acute accent</td>
										<td>&amp;oacute;</td>
										<td>&amp;#243;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>small o, circumflex accent</td>
										<td>&amp;ocirc;</td>
										<td>&amp;#244;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>small o, tilde</td>
										<td>&amp;otilde;</td>
										<td>&amp;#245;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>small o, umlaut mark</td>
										<td>&amp;ouml;</td>
										<td>&amp;#246;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>small o, slash</td>
										<td>&amp;oslash;</td>
										<td>&amp;#248;</td>
								</tr>
								<tr>
										<td>ù</td>
										<td>small u, grave accent</td>
										<td>&amp;ugrave;</td>
										<td>&amp;#249;</td>
								</tr>
								<tr>
										<td>ú</td>
										<td>small u, acute accent</td>
										<td>&amp;uacute;</td>
										<td>&amp;#250;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>small u, circumflex accent</td>
										<td>&amp;ucirc;</td>
										<td>&amp;#251;</td>
								</tr>
								<tr>
										<td>ü</td>
										<td>small u, umlaut mark</td>
										<td>&amp;uuml;</td>
										<td>&amp;#252;</td>
								</tr>
								<tr>
										<td>y</td>
										<td>small y, acute accent</td>
										<td>&amp;yacute;</td>
										<td>&amp;#253;</td>
								</tr>
								<tr>
										<td>t</td>
										<td>small thorn, Icelandic</td>
										<td>&amp;thorn;</td>
										<td>&amp;#254;</td>
								</tr>
								<tr>
										<td>?</td>
										<td>small y, umlaut mark</td>
										<td>&amp;yuml;</td>
										<td>&amp;#255;</td>
								</tr>
						</tbody>
				</table>
				<h2>其它一些 HTML 所支持的实体</h2>
				<table class="ex" cellspacing="0" border="1">
						<tbody>
								<tr>
										<th>显示</th>
										<th>描述</th>
										<th>实体名称</th>
										<th>实体编号</th>
								</tr>
								<tr>
										<td>Œ</td>
										<td>capital ligature OE</td>
										<td>&amp;OElig;</td>
										<td>&amp;#338;</td>
								</tr>
								<tr>
										<td>œ</td>
										<td>small ligature oe</td>
										<td>&amp;oelig;</td>
										<td>&amp;#339;</td>
								</tr>
								<tr>
										<td>Š</td>
										<td>capital S with caron</td>
										<td>&amp;Scaron;</td>
										<td>&amp;#352;</td>
								</tr>
								<tr>
										<td>š</td>
										<td>small S with caron</td>
										<td>&amp;scaron;</td>
										<td>&amp;#353;</td>
								</tr>
								<tr>
										<td>Ÿ</td>
										<td>capital Y with diaeres</td>
										<td>&amp;Yuml;</td>
										<td>&amp;#376;</td>
								</tr>
								<tr>
										<td>ˆ</td>
										<td>modifier letter circumflex accent</td>
										<td>&amp;circ;</td>
										<td>&amp;#710;</td>
								</tr>
								<tr>
										<td>˜</td>
										<td>small tilde</td>
										<td>&amp;tilde;</td>
										<td>&amp;#732;</td>
								</tr>
								<tr>
										<td> </td>
										<td>en space</td>
										<td>&amp;ensp;</td>
										<td>&amp;#8194;</td>
								</tr>
								<tr>
										<td> </td>
										<td>em space</td>
										<td>&amp;emsp;</td>
										<td>&amp;#8195;</td>
								</tr>
								<tr>
										<td> </td>
										<td>thin space</td>
										<td>&amp;thinsp;</td>
										<td>&amp;#8201;</td>
								</tr>
								<tr>
										<td>‌</td>
										<td>zero width non-joiner</td>
										<td>&amp;zwnj;</td>
										<td>&amp;#8204;</td>
								</tr>
								<tr>
										<td>‍</td>
										<td>zero width joiner</td>
										<td>&amp;zwj;</td>
										<td>&amp;#8205;</td>
								</tr>
								<tr>
										<td>‎</td>
										<td>left-to-right mark</td>
										<td>&amp;lrm;</td>
										<td>&amp;#8206;</td>
								</tr>
								<tr>
										<td>‏</td>
										<td>right-to-left mark</td>
										<td>&amp;rlm;</td>
										<td>&amp;#8207;</td>
								</tr>
								<tr>
										<td>–</td>
										<td>en dash</td>
										<td>&amp;ndash;</td>
										<td>&amp;#8211;</td>
								</tr>
								<tr>
										<td>—</td>
										<td>em dash</td>
										<td>&amp;mdash;</td>
										<td>&amp;#8212;</td>
								</tr>
								<tr>
										<td>‘</td>
										<td>left single quotation mark</td>
										<td>&amp;lsquo;</td>
										<td>&amp;#8216;</td>
								</tr>
								<tr>
										<td>’</td>
										<td>right single quotation mark</td>
										<td>&amp;rsquo;</td>
										<td>&amp;#8217;</td>
								</tr>
								<tr>
										<td>‚</td>
										<td>single low-9 quotation mark</td>
										<td>&amp;sbquo;</td>
										<td>&amp;#8218;</td>
								</tr>
								<tr>
										<td>“</td>
										<td>left double quotation mark</td>
										<td>&amp;ldquo;</td>
										<td>&amp;#8220;</td>
								</tr>
								<tr>
										<td>”</td>
										<td>right double quotation mark</td>
										<td>&amp;rdquo;</td>
										<td>&amp;#8221;</td>
								</tr>
								<tr>
										<td>„</td>
										<td>double low-9 quotation mark</td>
										<td>&amp;bdquo;</td>
										<td>&amp;#8222;</td>
								</tr>
								<tr>
										<td>†</td>
										<td>dagger</td>
										<td>&amp;dagger;</td>
										<td>&amp;#8224;</td>
								</tr>
								<tr>
										<td>‡</td>
										<td>double dagger</td>
										<td>&amp;Dagger;</td>
										<td>&amp;#8225;</td>
								</tr>
								<tr>
										<td>…</td>
										<td>horizontal ellipsis</td>
										<td>&amp;hellip;</td>
										<td>&amp;#8230;</td>
								</tr>
								<tr>
										<td>‰</td>
										<td>per mille </td>
										<td>&amp;permil;</td>
										<td>&amp;#8240;</td>
								</tr>
								<tr>
										<td>‹</td>
										<td>single left-pointing angle quotation</td>
										<td>&amp;lsaquo;</td>
										<td>&amp;#8249;</td>
								</tr>
								<tr>
										<td>›</td>
										<td>single right-pointing angle quotation</td>
										<td>&amp;rsaquo;</td>
										<td>&amp;#8250;</td>
								</tr>
								<tr>
										<td>€</td>
										<td>euro</td>
										<td>&amp;euro;</td>
										<td>&amp;#8364;</td>
								</tr>
						</tbody>
				</table>
		</div>
<img src ="http://www.blogjava.net/renyangok/aggbug/82669.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/renyangok/" target="_blank">保尔任</a> 2006-11-22 09:12 <a href="http://www.blogjava.net/renyangok/archive/2006/11/22/82669.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML学习笔记（不断更新）</title><link>http://www.blogjava.net/renyangok/archive/2006/11/22/82667.html</link><dc:creator>保尔任</dc:creator><author>保尔任</author><pubDate>Wed, 22 Nov 2006 01:11:00 GMT</pubDate><guid>http://www.blogjava.net/renyangok/archive/2006/11/22/82667.html</guid><wfw:comment>http://www.blogjava.net/renyangok/comments/82667.html</wfw:comment><comments>http://www.blogjava.net/renyangok/archive/2006/11/22/82667.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/renyangok/comments/commentRss/82667.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/renyangok/services/trackbacks/82667.html</trackback:ping><description><![CDATA[
		<p>1。link标记：<br />link标记显示本文档和其他文档之间的连接关系,是一个单标记，只能在&lt;head&gt;&lt;/head&gt;中使用。<br />常用属性：rel设定两个文档之间的关系<br />href设定目标文档的位置<br />&lt;link rel=”Shortcut Icon” href=”soim.ico”&gt;在浏览器地址栏里面的图标已经被替代了，变成了href属性指向的图标，当收藏该页时候，收藏夹里的图片也随之改变。<br />&lt;link href=”css.css” rel=”stylesheet” type=”text/css”&gt;就是把文档和一个CSS文档连接起来。<br /><br />2、span和div的区别：<br />SPAN 和 DIV 的区别在于，DIV(division)是一个块级元素，可以包含段落、标题、表格，乃至诸如章节、摘要和备注等。而SPAN 是行内元素，SPAN 的前后是不会换行的，它没有结构的意义，纯粹是应用样式，当其他行内元素都不合适时，可以使用SPAN。 </p>
		<p>　　效果：</p>
		<p>　　&lt;span&gt;SPAN标记有一个重要而实用的特性，即它什么事也不会做，它的唯一目的就是围绕你的HTML代码中的其它元素，这样你就可以为它们指定样式了。在此例中，&lt;span&gt;标识符允许你将一个段落分成不同的部分。</p>
		<p>　　还有一个标识符具有类似的功能，&lt;div&gt;DIV也被用来在HTML文件中建立逻辑部分。但与&lt;div&gt;SPAN不同，&lt;div&gt;工作于文本块一级，它在它所包含的HTML元素的前面及后面都引入了行分隔。</p>
<img src ="http://www.blogjava.net/renyangok/aggbug/82667.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/renyangok/" target="_blank">保尔任</a> 2006-11-22 09:11 <a href="http://www.blogjava.net/renyangok/archive/2006/11/22/82667.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>XML入门精解之文件格式定义（DTD）</title><link>http://www.blogjava.net/renyangok/archive/2006/11/22/82666.html</link><dc:creator>保尔任</dc:creator><author>保尔任</author><pubDate>Wed, 22 Nov 2006 01:05:00 GMT</pubDate><guid>http://www.blogjava.net/renyangok/archive/2006/11/22/82666.html</guid><wfw:comment>http://www.blogjava.net/renyangok/comments/82666.html</wfw:comment><comments>http://www.blogjava.net/renyangok/archive/2006/11/22/82666.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/renyangok/comments/commentRss/82666.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/renyangok/services/trackbacks/82666.html</trackback:ping><description><![CDATA[    <font class="content">DTD实际上可以看作一个或多个XML文件的模板，这些XML文件中的元素、元素的属性、元素的排列方式/顺序、元素能够包含的内容等，都必须符合DTD中的定义。XML文件中的元素，即我们所创建的标记，是根据我们应用的实际情况来创建的。想要创建一份完整性高、适应性广的DTD是非常困难的，因为各行各业都有他们自己的行业特点，所以DTD通常是以某种应用领域为定义的范围，如：医学、建筑、工商、行政。DTD定义的元素含盖范围越广泛，那么就越复杂。<br /><br />    DTD可以是一个完全独立的文件，也可以在XML文件中直接设定。所以，DTD分为外部DTD（在XML文件中调用另外已经编辑好的DTD）和内部DTD（在XML文件中直接设定DTD）两种。比如，有几十家相互联系的、合作伙伴关系的公司、厂商，他们相互之间的交换电子文档都是用XML文档。那么我们可以将这些XML文档的DTD放在某个地方，让所有交换的XML文档都使用此DTD，这是最方便的做法，同时也适用于公司内部的XML文件使用。<br /><br /><strong>内部DTD<br /><br /></strong>内部DTD是在XML文件的文件序言区域中定义的。语法：<br /><br /><table cellspacing="0" cellpadding="0" width="580" border="0"><tbody><tr><td class="code" bgcolor="#e6e6e6"><strong>〈!DOCTYPE element-name[........<br /><br />]〉</strong></td></tr></tbody></table><br /><br />〈!DOCTYPE ：表示开始设定DTD，注意DOCUTYPE是大写。<br /><br />Element-name ：指定此DTD的根元素的名称，一个XML文件只能有一个根元素。注意，如果 XML文件使用了DTD，那么文件中的根元素就在这里指定。<br /><br />[.........]〉 ：在[ ]标记里面定义XML文件使用元素，然后用〉结束DTD的定义。<br /><br />下面，我们来看一下怎样给XML文件定义DTD，请见例1。<br /><br />例1中的DTD定义区可以看作是一个DTD定义的大概框架，为其他XML文件定义DTD，结构和例1的DTD差不多，只是可能需要添加、删除或者更改一些东西而已。在DTD定义的中间是元素设定，这是一个DTD的最主要部分，其主要语法如下：<br /><br /><table cellspacing="0" cellpadding="0" width="580" border="0"><tbody><tr><td class="code" bgcolor="#e6e6e6"><strong>〈!ELEMENT element-name element-definition〉</strong></td></tr></tbody></table><br /><br />〈!ELEMENT：表示开始元素设置，注意此处ELEMENT关键字是大写。<br /><br />element-name：表示要设置的元素的名称。<br /><br />element-definition：指明要对此元素进行怎样的定义，就是说〈元素〉...〈/元素〉之间能够包含什么内容，是其他元素还是一般性的文字。<br /><br />在例1中，大家可以看到，〈!ELEMENT 参考资料 (书籍)〉这个元素设定是声明了“参考资料”这个元素，并且它是作为“书籍”这个元素的父元素。〈!ELEMENT 书籍 (名称,作者,价格)〉这个元素设定声明了“书籍”这个元素，并且它是作为“名称”、“作者”、“价格”这三个元素的父元素。而〈!ELEMENT 名称 (#PCDATA)〉这个元素设定声明了“名称”这个元素，但是此元素仅仅包含一般文字，是基本元素，这是由#PCDATA关键字定义的。<br /><br />在元素设置中，如果元素包含多个子元素，如：〈!ELEMENT 书籍 (名称,作者,价格)〉这种含多个子元素的声明，那么“名称”、“作者”、“价格”这些标记在XML文件中必须以上面排列的顺序出现，每个标记必须而且只能够出现一次。如果在设定元素时，按照〈!ELEMENT 书籍ANY〉，这样在元素下就可以包含任意被设定过的元素，出现的次数和顺序也不受限制，并且在该元素下，除了可以包含子元素以外，还能够包含一般的文字。有时候，在XML文件中，一个标记可能多次出现（或者不出现），那么我们除了在它们的父元素中用ANY关键字之外，还可以在元素的旁边加上特定的符号来控制标记出现的次数。这些符号见表1。<br /><br /><table width="236" border="1"><caption class="12v" align="left">表1 </caption><tbody><tr><td align="middle" width="63"><p class="12v">符号</p></td><td width="161"><p class="12v">代表标记出现的次数</p></td></tr><tr><td align="middle" width="63"><p class="12v">？</p></td><td width="161"><p class="12v">不出现或只出现一次 </p></td></tr><tr><td align="middle" width="63"><p class="12v">*</p></td><td width="161"><p class="12v">不出现或可出现多次</p></td></tr><tr><td align="middle" width="63"><p class="12v">+</p></td><td width="161"><p class="12v">必须出现一次以上</p></td></tr><tr><td align="middle" width="63"><p class="12v">无符号</p></td><td width="161"><p class="12v">只能出现一次</p></td></tr></tbody></table><br />例如：〈!ELEMENT 参考资料(书籍,报纸+,杂志?,网站)〉这个元素设定，“书籍”标记在XML文件中可以不出现或者出现多次；“报纸”标记必须出现一次以上；“杂志”标记可以不出现或只出现一次；而“网站”标记必须出现而且只能出现一次。<br /><br />在一些父元素的声明中，有可能它包含的子元素是在多个子元素中选择一个来使用，那么我们声明此父元素时，就可以把它声明成选择性元素，例如：〈!ELEMENT 配偶 (妻子|丈夫)〉。可供选择的子元素用“|”分隔，这样，我们在XML文件中可以这样写：<br /><br /><table cellspacing="0" cellpadding="0" width="580" border="0"><tbody><tr><td class="code" bgcolor="#e6e6e6"><strong>〈配偶〉<br /><br />〈丈夫〉张三〈/丈夫〉<br /><br />〈/配偶〉 </strong></td></tr></tbody></table><br /><br />只从中选择一个子元素。<br /><br />在我们的XML文件中，还可能包括很多“空元素”，即：元素是单独存在的，没有〈/元素〉这样的结束标记。那么在DTD中是用EMPTY关键字来声明的。如：〈!ELEMENT 元素名 EMPTY〉。在XML文件中，空元素不需要结束标记，但必须以〈/空元素名〉这样的写法。<br /><br />在DTD中，还可以声明一些称为Entity的东西，让DTD和XML文件使用。我们可以把Entity看作是一个常量，它有一定的值。在DTD中，Entity的声明语法为：〈!ENTITY entity-name entity-definition〉。例如：我们在DTD中声明〈!ENTITY PC "(#PCDATA)"〉 ，那么在后面的元素设定中，就可以使用这个Entity来代替“(#PCDATA)”这个字符串，如：〈!ELEMENT 作者 (#PCDATA)〉可以写成〈!ELEMENT 作者 &amp;&amp;PC;〉。引用Entity的时候，必须要在Entity名称前面加上“&amp;&amp;”符号，后面加上“；”符号。<br /><br />在例1中，〈!ATTLIST 价格 货币单位 CDATA #REQUIRED〉这一句是设定元素的属性，关于元素属性设置的语法为：〈!ATTLIST element-name attribute-name Type Default-value〉 。其中，〈!ATTLIST是开始属性的设定（注意大小写）。element-name是指明此属性设定是针对什么元素的；attribute-name是设定的属性的名称；Type是该属性的属性值的类别，属性值有多种，可以是一般的文字，或从几种属性值中取一种等，属性值的种类见表2。Default-value是指该属性的内定值种类，有四种不同的属性内定值（见表3）。<br /><br />下面我们举几个例子来看一下几个常用的元素属性的设定。例：<br /><br />〈!ATTLIST 姓名 性别 (男|女) "男"〉 <br /><br />此元素属性设定是为“姓名”这个元素设定一个名为“性别”的属性，此属性的属性值类别是Enumerated，取值范围为“男”或者“女”（用“|”分隔）。如果在XML文件中没有为此属性赋值，那么就取值为“男”，因为属性内定值是一个字符串“男”。<br /><br />〈!ATTLIST 姓名 号码 ID #REQUIRED〉<br /><br />该属性设定是为“姓名”元素设定一个名为“号码”的属性，属性值类别是ID，意味着在XML文件中为此属性赋值的时候，值在此XML文件中是唯一的，如在同一份XML文件中出现下面的XML语句：<br /><br />〈姓名 号码="1234567"〉张三〈/姓名〉<br /><br />〈姓名 号码="1234567"〉李四〈/姓名〉<br /><br />注意：“号码”属性的值重复了，这样，在解析过程中将会出现错误信息。此属性设定中的属性内定值为#REQUIRED，表示这个属性在XML文件的〈姓名〉标记中必须出现，否则解析会发生错误。<br /><br />〈!ATTLIST 电话号码 国家代码 CDATA #FIX "86"〉 <br /><br />该属性设定是为“电话号码”这个元素设定一个名为“国家代码”的属性，该属性的值是一般的文字。在〈电话号码〉标记中不能够设定该属性，因为这个属性被设为具有固定值的属性（#FIX关键字），解析器会自动地将该属性以及值“86”加到〈电话号码〉标记中。<br /><br /><table width="409" border="1"><caption class="12v" align="left">表2 </caption><tbody><tr><td width="70"><p class="12v">属性值类别</p></td><td width="327"><p class="12v">描述 </p></td></tr><tr><td width="70"><p class="12v">cdata</p></td><td width="327"><p class="12v">属性值仅仅是一般的文字。 </p></td></tr><tr><td width="70"><p class="12v">enumerated</p></td><td width="327"><p class="12v">列出该属性的取值范围，一次只能有一个属性值能够赋予属性。 </p></td></tr><tr><td width="70"><p class="12v">nmtoken</p></td><td width="327"><p class="12v">表示属性值只能由字母、数字、下划线、. 、：、-这些符号组成。 </p></td></tr><tr><td width="70"><p class="12v">nmtokens</p></td><td width="327"><p class="12v">表示属性值能够由多个nmtoken组成，每个nmtoken之间用空格隔开。 </p></td></tr><tr><td width="70"><p class="12v">id</p></td><td width="327"><p class="12v">该属性在xml文件中是唯一的，常用来表示人的身份证号码。 </p></td></tr><tr><td width="70"><p class="12v">idref</p></td><td width="327"><p class="12v">表示该属性值是参考了另一个id属性。 </p></td></tr><tr><td width="70"><p class="12v">idrefs</p></td><td width="327"><p class="12v">表示该属性值是参考了多个id属性，这些id属性的值用空格隔开。 </p></td></tr><tr><td width="70"><p class="12v">entity</p></td><td width="327"><p class="12v">表示该属性的设定值是一个外部的entity，如一个图片文件。 </p></td></tr><tr><td width="70"><p class="12v">entities</p></td><td width="327"><p class="12v">该属性值包含了多个外部entity，不同的entity之间用空格隔开。 </p></td></tr><tr><td width="70"><p class="12v">notation</p></td><td width="327"><p class="12v">属性值是在dtd中声明过的notation（声明用什么应用软件解读某些二进制文件，如图片）。</p></td></tr></tbody></table><br />在XML的规范中，还规定了两个内定的属性，即：xml:space和xml:lang ，内定的属性名称以xml:开头，而你自己定义的属性名不能以xml:开头，否则在解析时会发生错误。<br /><br />我们前面已经讲过，空白格在XML文件是有含义的，xml:space属性就是来设置解析器将XML文件中的空白格传给应用程序后的处理方法。xml:space是一个Enumerated类型的属性，只能够在default和preserver之间取值。xml:space="defaule"表示解析器将空白格传递给应用程序后，由应用程序内定的方法来处理这些空白格。如果没有设定xml:space属性，则解析器会默认用default来设定该属性。xml:space="preserver"是表示解析器将空白格传递给应用程序后，要求应用程序保留这些空白格。<br /><br />xml:lang属性是用来设置标记中的文字信息是使用哪种语言，ISO-639规定了不同语言的代表缩写，如：xml:lang="en" 表示英文；xml:lang="la"表示拉丁文；xml:lang="zh" 表示中文资料；xml:lang="zh-CN" 表示中文（简体）；xml:lang="zh-TW" 表示中文（繁体）。系统内定是xml:lang="en"，即标记中间的文字信息都是英文。<br /><br /><strong>外部DTD<br /><br /></strong>外部DTD是一个独立于XML文件的文件，实际上也是一个文本文件，只是使用.dtd为文件扩展名。因为外部DTD独立于XML文件，那么它可以供多个XML文件使用，就像用同一个模板可以写出多个不同内容的文件一样，这多个XML文件因为是引用同一个外部DTD，所以它们的结构大致相同。<br /><br />外部DTD的创建方式、语法和内部DTD是一样的，把例1的内部DTD的例子用外部DTD来写，文件如下所示。文件存为后缀名为 .dtd的文件。<br /><br /><table cellspacing="0" cellpadding="0" width="580" border="0"><tbody><tr><td class="code" bgcolor="#e6e6e6"><strong>〈?xml version="1.0" encoding="GB2312" ?〉<br /><br />〈!ELEMENT 参考资料 (书籍*)〉<br /><br />〈!ELEMENT 书籍 (名称,作者,价格)〉<br /><br />〈!ELEMENT 名称 (#PCDATA)〉<br /><br />〈!ELEMENT 作者 (#PCDATA)〉<br /><br />〈!ELEMENT 价格 (#PCDATA)〉<br /><br />〈!ATTLIST 价格 货币单位 CDATA #REQUIRED〉</strong></td></tr></tbody></table><br /><br />除了没有内部DTD中的〈!DOCTYPE 参考资料 [.....]〉语句外，其他都一样。而且有关元素数目、排列顺序、空元素设定、选择性元素、Entity声明、属性设定等都和内部DTD是一样的。<br /><br />XML文件使用〈!DOCTYPE element-name SYSTEM DTD-URL〉或者〈!DOCTYPE element-name PUBLIC DTD-name DTD-URL〉来引用创建好的外部DTD文件。<br /><br /><table width="408" border="1"><caption class="12v" align="left">表3 </caption><tbody><tr><td width="65"><p class="12v">属性内定值</p></td><td width="331"><p class="12v">描述</p></td></tr><tr><td width="65"><p class="12v">#required</p></td><td width="331"><p class="12v">表示在标记中必须出现此属性。 </p></td></tr><tr><td width="65"><p class="12v">#implied</p></td><td width="331"><p class="12v">标记中可以不出现此属性。 </p></td></tr><tr><td width="65"><p class="12v">#fix</p></td><td width="331"><p class="12v">属性的值是固定的某个值。 </p></td></tr><tr><td width="65"><p class="12v">字符串</p></td><td width="331"><p class="12v">标记中如没有指定属性的值，那么此字符串就是此属性的值。</p></td></tr></tbody></table><br />此语句必须位于XML文件的文件序言区，其中，〈!DOCTYPE表示开始声明应用外部DTD；element-name是指该DTD的根元素的名称；SYSTEM是指该外部DTD文件是私有的，即我们自己创建的，没有公开发行，只是个人或在公司内部或者几个合作单位之间使用；而PUBIC关键字是指该外部DTD是公用的，经过了公开讨论，用PUBLIC的DTD都有一个逻辑名称——DTD-name，我们必须在调用时指明这个逻辑名称。DTD-URL是用URL的方式指明外部DTD文件的位置。例如，我们这份DTD文件存放在URL为：http://www.xml.com/这个地方，文件名为ckzl.dtd。那么在XML文件中的声明如下：<br /><br /><table cellspacing="0" cellpadding="0" width="580" border="0"><tbody><tr><td class="code" bgcolor="#e6e6e6"><strong>〈?xml version="1.0" encoding="GB2312" ?〉<br /><br />〈!DOCTYPE 参考资料 SYSTEM "http://www.xml.com/ckzl.dtd"〉<br /><br />...</strong></td></tr></tbody></table><br /><br /><strong>Schema简介<br /><br /></strong>DTD的语法相当复杂，并且它不符合XML文件的标准，自成一个体系。上面的介绍也仅仅是作了一个简介，目的是帮助大家能读懂DTD文件以及在必要时创建简单的DTD文件，因为现在很多的XML应用是建立在DTD之上的。<br /><br />另外，一个代替DTD的就是W3C定义的Schema，Schema相对于DTD的明显好处是XML Schema文档本身也是XML文档，而不是像DTD一样使用自成一体的语法。这就方便了用户和开发者，因为可以使用相同的工具来处理XML Schema和其他XML信息，而不必专门为Schema使用特殊工具。Schema简单易懂，懂得XML语法、规则的人都可以立刻理解它。Schema的概念提出已久，但W3C的标准最近才出来，相应的应用支持尚未完善，但采用Schema已成为XML发展的一个趋势。<br /><br /><br /><br /><strong>例1<br /><br /></strong>DTD定义区:<br /><br /><table cellspacing="0" cellpadding="0" width="580" border="0"><tbody><tr><td class="code" bgcolor="#e6e6e6"><strong>〈?xml version="1.0" encoding="GB2312" ?〉<br /><br />〈!DOCTYPE 参考资料 [<br /><br />〈!ELEMENT 参考资料 (书籍)〉<br /><br />〈!ELEMENT 书籍 (名称,作者,价格)〉<br /><br />〈!ELEMENT 名称 (#PCDATA)〉<br /><br />〈!ELEMENT 作者 (#PCDATA)〉<br /><br />〈!ELEMENT 价格 (#PCDATA)〉<br /><br />〈!ATTLIST 价格 货币单位 CDATA #REQUIRED〉<br /><br />]〉<br /><br />〈参考资料〉<br /><br />〈书籍〉<br /><br />〈名称〉XML入门精解〈/名称〉<br /><br />〈作者〉张三〈/作者〉<br /><br />〈价格 货币单位="人民币"〉20.00〈/价格〉<br /><br />〈/书籍〉<br /><br />〈书籍〉<br /><br />〈名称〉XML语法〈/名称〉<br /><br />〈!-- 即将出版 --〉<br /><br />〈作者〉李四〈/作者〉<br /><br />〈价格 货币单位="人民币"〉18.00〈/价格〉<br /><br />〈/书籍〉<br /><br />〈/参考资料〉</strong></td></tr></tbody></table></font><img src ="http://www.blogjava.net/renyangok/aggbug/82666.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/renyangok/" target="_blank">保尔任</a> 2006-11-22 09:05 <a href="http://www.blogjava.net/renyangok/archive/2006/11/22/82666.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>XML入门精解之结构与语法</title><link>http://www.blogjava.net/renyangok/archive/2006/11/22/82665.html</link><dc:creator>保尔任</dc:creator><author>保尔任</author><pubDate>Wed, 22 Nov 2006 01:04:00 GMT</pubDate><guid>http://www.blogjava.net/renyangok/archive/2006/11/22/82665.html</guid><wfw:comment>http://www.blogjava.net/renyangok/comments/82665.html</wfw:comment><comments>http://www.blogjava.net/renyangok/archive/2006/11/22/82665.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/renyangok/comments/commentRss/82665.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/renyangok/services/trackbacks/82665.html</trackback:ping><description><![CDATA[　　XML文件和HTML文件一样，实际上是一个文本文件。显然大家立刻就会明白，创建XML文件最普通的工具和HTML一样，就是“记事本”了。除了“记事本”之外，当然还有一些更加方便的工具，如XML Notepad、XML Pro、CLIP！XML Editor等，这些工具的一大特点是：能够检查你所建立的XML文件是否符合XML规范。不过，现在这些工具都只有英文版的，并且需要付费使用。当然，你仍然能够使用FrontPage、DreamWeaver等工具，不过使用起来不是很方便。随着XML的逐渐普及，相信在不久后，也会出现非常好用的创建XML文件的工具。<br />　现在我们暂且使用“记事本”来创建我们的XML文件吧。先看一个XML文件： 
<p>　　例1 </p><p>　　〈?xml version="1.0" encoding="gb2312" ?〉 <br />　　 〈参考资料〉 <br />　　 〈书籍〉 <br />　　 〈名称〉XML入门精解〈/名称〉 <br />　　 〈作者〉张三〈/作者〉 <br />　　 〈价格 货币单位="人民币"〉20.00〈/价格〉 <br />　　 〈/书籍〉 <br />　　 〈书籍〉 <br />　　 〈名称〉XML语法〈/名称〉 <br />　　 〈!--此书即将出版--〉 <br />　　 〈作者〉李四〈/作者〉 <br />　　 〈价格 货币单位="人民币"〉18.00〈/价格〉 <br />　　 〈/书籍〉 <br />　　 〈/参考资料〉 </p><p>　　这是一个典型的XML文件，编辑好后保存为一个以.xml为后缀的文件。我们可以将此文件分为文件序言（Prolog）和文件主体两个大的部分。在此文件中的第一行即是文件序言。该行是一个XML文件必须要声明的东西，而且也必须位于XML文件的第一行，它主要是告诉XML解析器如何工作。其中，version是标明此XML文件所用的标准的版本号，必须要有；encoding指明了此XML文件中所使用的字符类型，可以省略，在你省略此声明的时候，后面的字符码必须是Unicode字符码（建议不要省略）。因为我们在这个例子中使用的是GB2312字符码，所以encoding这个声明也不能省略。在文件序言部分还有一些声明语句，我们在后面给予介绍。 </p><p>　　文件的其余部分都是属于文件主体，XML文件的内容信息存放在此。我们可以看到，文件主体是由开始的〈参考资料〉和结束的〈/参考资料〉控制标记组成，这个称为XML文件的“根元素”；〈书籍〉是作为直属于根元素下的“子元素”；在〈书籍〉下又有〈名称〉、〈作者〉、〈价格〉这些子元素。货币单位是〈价格〉元素中的一个“属性”，“人民币”则是“属性值”。 </p><p>　　〈!--此书即将出版--〉这一句同HTML一样，是注释，在XML文件里，注释部分是放在“〈!--”与“--〉”标记之间的部分。 </p><p>　　大家可以看到，XML文件是相当简单的。同HTML一样，XML文件也是由一系列的标记组成，不过，XML文件中的标记是我们自定义的标记，具有明确的含义，我们可以对标记中的内容的含义作出说明。 </p>　　对XML文件有了初步的印象之后，我们就来详细地谈一谈XML文件的语法。在讲语法之前，我们必须要了解一个重要的概念，就是XML解析器（XML Parse）。 
<p>　　1.XML解析器 </p><p>　　解析器的主要功能就是检查XML文件是否有结构上的错误，剥离XML文件中的标记，读出正确的内容，以交给下一步的应用程序处理。XML是一种用来结构化文件信息的标记语言，XML规范中对于如何标记文件的结构性有一个详细的法则，解析器就是根据这些法则写出来的软件（多用Java写成）。同HTML一样，在浏览器中，必须有HTML的解析器，这样浏览器才能够“读懂”各种用HTML标记所组成的网页，将它们显示在我们面前。如果有浏览器的HTML解析器读不懂的标记，将会返回给我们错误信息。 </p><p>　　由于现在的HTML标记实际上相当混乱，存在大量不规范的标记（有的网页用IE能正常显示，而用Netscape Navigator则不行），所以从一开始，XML的设计者就严格规定了XML的语法和结构，我们编写的XML文件必须遵循这些规定，否则XML解析器将毫不留情地给你显示错误信息。 </p><p>　　有两种XML文件，一种是Well-Formed XML文件，一种是Validating XML文件。 </p><p>　　如果一个XML文件满足XML规范中的某些相关法则，且没有使用DTD（文件格式定义——后详述）时，可称这份文件是Well-Formed。而如果一个XML文件是Well-Formed，且正确地使用了DTD，DTD中的语法又是正确的，那么这个文件就是Validating。对应两种XML文件，有两种XML解析器，一种是Well-Formed 解析器，一种是Validating解析器。IE 5中就内含Validating解析器，Validating解析器也可用来解析Well-Formed XML文件。 </p><p>　　检查它是否满足了Well-Formed的条件。我们可以将刚才编辑的第一个XML 文件用IE 5以上版本的浏览器打开。 </p><p>　　大家可能要问为什么在浏览器中的显示和我的源文件一样？没错，因为对于XML文件，我们鼋龉匦乃 的内容，而它的显示形式是交给CSS或XSL来完成的。这里，我们并没有给这个XML文件定义它的CSS或XSL文件，所以它按照原来的形式来显示。实际上，对于电子数据交换，仅仅需要一个XML文件即可，如果要将它以某种形式显示出来，我们就必须编辑CSS或XSL文件（这个问题会在以后讨论）。 </p><p>　　2.Well-Formed的XML文件 </p><p>　　我们知道，XML必须是Well-Formed的，才能够被解析器正确地解析出来，显示在浏览器中。那么什么是Well-Formed的XML文件呢？主要有下面几个准则，我们在创建XML文件的时候，必须满足它们。 </p><p>　　首先，XML文件的第一行必须是声明该文件是XML文件以及它所使用的XML规范版本。在文件的前面不能够有其它元素或者注释。 </p><p>　　第二，在XML文件中有且只能够有一个根元素。我们的第一个例子中，〈参考资料〉... 〈/参考资料〉就是此XML文件的根元素。 </p><p>　　第三，在XML文件中的标记必须正确地关闭，也就是说，在XML文件中，控制标记必 须有与之对应的结束标记。如：〈名称〉标记必须有对应的〈/名称〉结束标记，不像HTML，某些标记的结束标记可有可无。如果在XML文件中遇到自成一个单元的标记，就是类似于HTML 中的〈img src=.....〉的这些没有结束标记的时候，XML把它称为“空元素”，必须用这样的写法：〈空元素名/〉，如果元素中含有属性时写法则为：〈空元素名 属性名=“属性值”/〉。 </p><p>　　第四，标记之间不得交叉。在以前的HTML文件中，可以这样写： </p><p>　　〈B〉〈H〉XXXXXXX〈/B〉〈/H〉,〈B〉和〈H〉 </p><p>　　标记之间有相互重叠的区域，而在XML中，是严格禁止这样标记交错的写法，标记必须以规则性的次序来出现。 <br /><span class="f141"></span></p><p>　　第五，属性值必须要用“ ”号括起来。如第一个例子中的“1.0”、“gb2312”、“人民币”。都是用“ ”号括起来了的，不能漏掉。 </p><p>　　第六，控制标记、指令和属性名称等英文要区分大小写。与HTML不同的是，在HTML中， 类似〈B〉和〈b〉的标记含义是一样的，而在XML中，类似〈name〉、〈NAME〉或〈Name〉这样的标记是不同的</p><p>　　第七，我们知道，在HTML文件中，如果我们要浏览器原封不动地将我们所输入的东西显示出来，可以将这些东西放到〈pre〉〈/pre〉或者〈xmp〉〈/xmp〉标记中间。这对于我们创建HTML教学的网页是必不可少的，因为网页中要显示HTML的源代码。而在XML中，要实现这样的功能，就必须使用CDATA标记。在CDATA标记中的信息被解析器原封不动地传给应用程序，并且不解析该段信息中的任何控制标记。CDATA区域是由：“〈![CDATA[”为开始标记，以“&gt;〉”为结束标记。例如：例2中的源码，除了“〈![CDATA[”和“&gt;〉”符号，其余的内容解析器将原封不动地交给下游的应用程序，即使CDATA区域中的开始和结尾的空白以及换行字符等，都同样会被转交（注意CDATA是大写的字符）。 </p><p>　　例2 </p><p>　　〈![CDATA[飞翔的xml〉〉〉〉〉,:-) <br />　　 oooo〈〈〈〈〈〈〈 <br />　　 &gt;〉 </p><p>　　第八，XML处理空白字符和HTML不一样。HTML标准规定，不管有多少个空白，都当作一个空白来处理；而在XML中规定，所有标记以外的空白，解析器都要忠实地交给下游的应用程序处理。这样，我们有时必须摒弃编写HTML文件时的缩排习惯，因为缩排的空格，解析器也要处理。如： </p><p>　　 〈作者〉张三〈/作者〉 <br />　　 和 <br />　　 〈作者〉 <br />　　 张三 <br />　　 〈/作者〉 </p><p>　　上述内容对于解析器来说是不同的（后者在〈作者〉〈/作者〉标记之内除了张三这个字符以外，还包括两个换行记号以及“张三”前的文字缩排符号）。所以解析器在去掉标记后将信息传给应用程序将有不同的处理结果。 </p><p>　　如果我们想明确地告诉XML程序，标记中的空白有明确的含义，不要随便去掉（如在一些诗中，空格有它具体的意义），则可在标记中加入一个XML内置的属性——xml:space 。如（注意属性名称和值的大小写）： 　　 </p><p>　　〈诗歌 xml:space="preserver"〉 <br />　　 祖国啊！ 祖国！ <br />　　 我的祖国！ <br />　　 〈/诗歌〉 </p><p>　　另外，在XML文件中，如果要用到表1的特殊字符，必须用相应符号代替。 </p><p>　　表1 </p><p>　　特殊字符 替代符号 <br />　　 &amp;&amp; &amp; <br />　　 &lt; &amp;it; <br />　　 &gt; &gt; <br />　　 " " <br />　　 ' &amp;apos; </p><p>　　在此做个小结：符合上述规定的XML文件就是Well-Formed的XML文件。这是编写XML文件的最基本要求。可以看到XML文件的语法规定比HTML要严格多了。由于有这样的严格规定，软件工程师编写XML的解析器就容易多了，不像编写HTML语言的解析器，必须费尽心思去适应不同的网页写法，提高自己浏览器的适应能力。实际上，这对于我们初学者来说，也是一件好事。该怎样就怎样，不必像原来那样去疑惑各种HTML的写法。 </p><p>　　我们看到，在XML文件中，用的大多都是自定义的标记。但是大家考虑一下，如果两个同行业的公司A和B要用XML文件相互交换数据，A公司用〈价格〉标记来表示他们产品的价格信息，而B公司可能用〈售价〉来表示价格信息。如果一个XML应用程序来读取他们各自的XML文件中的信息时，如果它只知道〈价格〉标记里表示的是价格信息，那么B公司的价格信息就读不出来，必将产生错误。显然，对于想利用XML文件来交换信息的实体来说，他们之间必须有一个约定——即编写XML文件可以用哪些标记，母元素中能够包括哪些子元素，各个元素出现的顺序，元素中的属性怎样定义等。这样他们在用XML交换数据时才能够畅通无阻。这种约定称为DTD（Document Type Definition，文档格式定义）。可以把DTD看作编写XML文件的模板。对于同行业之间的XML数据交换，有一个固定的DTD将会方便很多。比如说，如果网上的各大电子商场的XML网页都遵循同一个DTD时，那么我们就可以轻松地依据这个DTD 编写一个应用程序，去网上将我们感兴趣的东西自动抓回来。事实上已经有了好几个定义好的DTD，如前面所说的MathML、SMIL等。 </p><p>　　如果一个XML文件是Well-Formed的，并且它是正确的依据某个DTD建立的，那么，这个XML文件就被称为：Validating XML文件。相应的解析器就称为：Validating Parser。</p><img src ="http://www.blogjava.net/renyangok/aggbug/82665.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/renyangok/" target="_blank">保尔任</a> 2006-11-22 09:04 <a href="http://www.blogjava.net/renyangok/archive/2006/11/22/82665.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>XML入门精解之CSS和XSL</title><link>http://www.blogjava.net/renyangok/archive/2006/11/22/82664.html</link><dc:creator>保尔任</dc:creator><author>保尔任</author><pubDate>Wed, 22 Nov 2006 01:03:00 GMT</pubDate><guid>http://www.blogjava.net/renyangok/archive/2006/11/22/82664.html</guid><wfw:comment>http://www.blogjava.net/renyangok/comments/82664.html</wfw:comment><comments>http://www.blogjava.net/renyangok/archive/2006/11/22/82664.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/renyangok/comments/commentRss/82664.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/renyangok/services/trackbacks/82664.html</trackback:ping><description><![CDATA[　CSS（叠层样式表）和XSL（可扩展样式语言）都可以定义XML文件的显示，这两种方式有哪些不同以及它们在使用中的具体方法，我们将在本文给予介绍。 <br /><br />　　在XML文件中，使用的基本上是自定义的标记，显然一个浏览器是无法理解这些标记的，现在，浏览器仅仅是作为一个XML文件的解析器??只要你的XML文件是Well-Formed的，那么它就将文件原封不动地给你显示出来。在XML中内容与表现形式是分开的，在一个XML的源文件中并没有关于它表现形式的信息。XML的最大特点就是揭示了信息本身的含义，用于自动化的电子文档交换是最优的，如果一个XML文件仅仅用于交换信息，就无需考虑它的显示问题。编辑XML文件，我们仅仅需要关注文件的内容、信息的结构，至于它怎么显示，则交给CSS（叠层样式表）和XSL（可扩展样式语言）来完成。这就使得用户可以根据需要来定义数据的表现形式。 <br /><br />　　■用CSS来表现XML <br />　　CSS在HTML中已经有很好作用，在XML中，CSS同样发挥了它强大的样式表作用。在XML中的CSS和HTML中的CSS差不多。目前的版本是CSS 2.0。 <br /><br />　　我们先来看一段CSS的代码??例1中的first.css。它是为例1中2.xml这个XML文件所作的CSS文件。 <br /><br />　　在2.xml这个XML文件的源文件中，有一行：〈?xml-stylesheet href="first.css" type="text/css"?〉，它指明这个XML文件在显示的时候引用CSS文件，具体的语法如下：〈?xml-stylesheet href="URL" type="text/css"?〉 其中，xml-stylesheet是关键字，表明引用样式表设定；href="URL"用来指定样式表所在的位置，在例1中，因为first.css和2.xml在同一个目录下，所以可以直接写出它的名称，是相对地址；type="text/css"表示该样式表是CSS的样式表。应用CSS前，浏览器显示如图1，应用了样式表后，显示效果如图2所示。 <br /><div align="center"><img src="http://www.netbei.com/Article/UploadFiles/200412/20041202002123298.jpg" border="0" /></div><br />　　下面我们来分析例1中first.css这个文件。大家可以看到，在XML中的CSS和HTML中的CSS语法上实际是一样的。都是通过一些标记来设置标记文字怎样显示。 <br /><br />　　对照表1和表2，来分析这个文件。在这个文件中，每一个区块是针对XML文件中不同的标记来设定的，每个区块用{}符号分割开。像第一个区块，设置了title标记中文字的颜色（COLOR）、显示状态（是否分段：block或inline；隐藏不显示出来：none）、字型（FONT-FAMILY）、大小（FONT-SIZE和FONT-WEIGH）、有无上/下划线（TEXT- DECORATION）。其他区块，大家可以对照表中的一些常用属性来分析。我们可以利用CSS的各种属性组合出丰富多彩的显示效果。这和编程关系不大，因为语法太简单了，关键看你的想像力了。 <br /><br />　　对于同一个XML文件，如果我们赋予它不同的CSS，那么它就有不同的显示效果，如果你的网页用XML来制作，那么为了变换网页的样子，就可以编辑多个CSS文件，隔段时间更换。只需要在XML文件的前面改变“URL”指定的CSS文件就可以。 <br /><br />　　■用XSL来表现XML <br />　　XSL（可扩展样式语言）也是一种显示XML文件的规范。和CSS不同的是：XSL是遵循XML的规范来制定的。也就是说，XSL文件本身符合XML的语法规定。XSL在排版样式的功能上要比CSS强大。比如：CSS适用于那些元素顺序不变的文件，它不能改变XML文件中元素的顺序??元素在XML文件中是什么顺序排列的，那么通过CSS表现出来顺序不能改变。对于那些需要经常按不同元素排序的文件，我们就要用XSL。 <br /><br />　　XSL是怎样工作的呢？XML文件在展开后是一种树状结构，称为“原始树”，XSL处理器（现在只有IE 5支持XSL，在IE 5中的处理器叫：XSL Stylesheet Processor）从这个树状结构读取信息，根据XSL样式的指示对这个“原始树”进行排序、复制、过滤、删除、选择、运算等操作后产生另外一个“结果树”，然后在“结果树”中加入一些新的显示控制信息，如表格、其他文字、图形以及一些有关显示格式的信息。XSL处理器根据XSL样式表的指示读取XML文件中的信息，然后再重新组合后转换产生一个Well-Formed 的HTML文件。浏览器显示HTML文件肯定是没问题的，这样，XML文件中的信息就会以一定的形式显示在我们面前了。 <br /><br /><div align="center"><img src="http://www.netbei.com/Article/UploadFiles/200412/20041202002123756.jpg" border="0" /></div><br />　　同样，我们先来看一个XSL的例子，再来分析它的结构和语法。XML源文件和XSL源文件如例2所示，显示效果如图3。可以看到，要想XML文件使用XSL来表现，在XML文件前面要加上一句：〈?xml-stylesheet href="URL" type="text/xsl" ?〉,和引用CSS是一样的，只不过是指定type="text/xsl"。 <br /><br />　　看看XSL文件，可以发现XSL文件的结构和XML文件的结构是一样的，因为XSL的规则是根据XML的规则制定的。一个XSL文件也必须是Well-Foemed的，因为XSL文件中所用的标记都是W3C定义好的。所以，XSL文件就不需要DTD了。另外，可以看到在XSL文件中可以插入一些HTML的标记，来帮助XML文件的显示，这些HTML的标记也必须是Well-Formed的，例如：必须要有正确的结束标记（不能像在HTML文件中那样可以偷懒了）。 <br /><br />　　XSL文件本身即是一份 XML文件，所以在XSL文件的开头，一样有和XML文件相同的声明。W3C为XSL定义了很多标记（元素），XSL文件就是这些标记和HTML标记的组合。在XSL文件中，必须有：〈xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"〉。 <br /><br />　　其中，xsl:stylesheet是XSL文件的根元素，在根元素中包含了所有的排版样式，样式表就是由这些排版样式组合成的；xmlns:xsl="http://www.w3.org/TR/WD-xsl"这一句主要用来说明该XSL样式表是使用W3C所制定的XSL，设定值就是XSL规范所在的URL地址。 <br /><br />　　XSL文件中，除HTML标记外，其他就是XSL自己的标记了。标记有不同的功能。下面介绍XSL中各种可用的标记，大家可以参照它们的功能说明与使用举例，来看看例3中XSL的源文件。 <br /><br />　　1. xsl:stylesheet：作为XSL样式表中的根元素，在每个XSL文件中都必须有。 <br /><br />　　属性：default-space：决定是否保留XML文件中的空白，仅当值为“default”时保留。 <br /><br />　　indent-result：决定是否保留XSL文件中的空白，值为“yes”时保留。 <br /><br />　　language：设定在XSL文件中使用的脚本语言。 <br /><br />　　例：〈xsl:stylesheet default-space="default"〉 <br /><br />　　2. xsl:template：指定XML文件中的特定标记来定义排版样式。 <br /><br />　　属性：language：指定使用哪种脚本语言。 <br /><br />　　match：设定从XML文件中哪个标记开始来读取信息，如果值为“/”那么表示从XML文件的根元素开始读取信息。 <br /><br />　　例：〈xsl:template mach="data/book"〉：表示从XML文件中的〈book〉标记开始读取信息。 <br /><br />　　3. xsl:value-of：从XML文件中的特定标记中将信息读出来。属性：select：设定读取哪一个标记中的信息。 <br /><br />　　例：〈xsl:template select="title"〉：表示要从〈title〉标记中将信息读出来。<br /><div align="center"><img src="http://www.netbei.com/Article/UploadFiles/200412/20041202002123750.jpg" border="0" /></div><br />　　图3 <br /><br />　　4. xsl:for-each：将排版样式应用到XML文件中相同的标记（类似于循环语句）。 <br /><br />　　属性：select：设定从哪一个标记中读取数据。 <br /><br />　　order-by：在读取信息完成之后，设定依据什么标记来进行排序，值为某一特定标记，如在标记名前用“+”号表示是由大到小的排序，反之用“-”号。例：〈xsl:for-each select="data/book" order-by="-price"〉：因为在XML文件中有多个〈book〉标记，这里设定重复地从〈book〉标记下的子元素中读取信息，将读出来的信息按照价格从小到大进行排序显示。 <br /><br />　　5. xsl:comment：在此元素中的内容，XSL将它作为注释信息，并不显示在浏览器中。 <br /><br />　　6. xsl:apply-templates：指示XSL处理器在该XSL样式表中寻找合适的〈xsl:template〉中设定的样式来用。 <br /><br />　　属性：order-by和select：同xsl:for-each中的属性一样。 <br /><br />　　例：....... <br /><br />　　 〈tr〉〈xsl:apply-templates/〉〈/tr〉 <br /><br />　　 .......... <br /><br />　　 〈xsl:template match="book"〉 <br /><br />　　 〈td〉〈xsl:value-of select="author"/〉〈/td〉 <br /><br />　　 〈/xsl:template〉 <br /><br />　　 ......... <br /><br />　　7. xsl:copy：从XML文件中拷贝标记中的信息到输出的文件中。无属性。 <br /><br />　　例：....... <br /><br />　　〈xsl:template〉 <br /><br />　　 〈xsl:copy〉 <br /><br />　　〈xsl:value-of /〉 <br /><br />　　 〈/xsl:copy〉 <br /><br />　　 〈/xsl:template〉 <br /><br />　　........... <br /><br />　　此例首先使用〈xsl:copy〉将XML文件中的非标记的信息全部读取出来，然后通过〈xsl:value-of /〉将这些复制的信息显示出来。 <br /><br />　　8. xsl:if：与一般程序中的If...Then类似。 <br /><br />　　属性：script：设定script程序所表达的式子。 <br /><br />　　language：设定使用哪种脚本语言。 <br /><br />　　test：设定条件的叙述表达式。只有当script属性的设定值传回“true”时（或test属性设置的条件成立），〈xsl:if〉中的内容才会被XSL处理器处理。 <br /><br />　　例：〈xsl:if test=".[@sex='男']"〉 <br /><br />　　 〈td〉男〈xsl:value-of /〉〈/td〉 <br /><br />　　〈/xsl:if〉 <br /><br />　　9. xsl:choose、xsl:when、xsl:otherwise：这三个元素是用来设定较为复杂的条件式，一般共同配合使用。其中xsl:when有script、language、test三种属性，与前面xsl:if中的属性含义是一样的。 <br /><br />　　例：〈xsl:choose〉 <br /><br />　　 〈xsl:when test="wife"〉 <br /><br />　　 〈td〉妻〈xsl:value-of /〉〈/td〉 <br /><br />　　 〈/xsl:when〉 <br /><br />　　 〈xsl:when test="husband"〉 <br /><br />　　 〈td〉夫〈xsl:value-of /〉〈/td〉 <br /><br />　　 〈/xsl:when〉 <br /><br />　　 〈xsl:otherwise〉 <br /><br />　　 〈td〉未婚〈/td〉 <br /><br />　　 〈/xsl:otherwise〉 <br /><br />　　〈/xsl:choose〉 <br /><br />　　10.xsl:attribute和xsl:element：可以在标记中附加一个属性名称或新建一个标记。XSL样式表不但可以引用HTML标记，而且也可以建立新的标记和属性，然后一起结合XML文件中的信息来显示。其中，xsl:attribute是在标记中新增一个属性，xsl:element是新建一个标记。它们有共同的属性。 <br /><br />　　属性：name：为新建的属性指定属性名。 <br /><br />　　例：假如我们没有〈img〉这种显示图形文件的HTML标记，现在我们在XSL文件中要新增一个这样的标记，名为〈img〉，具有src属性。 <br /><br />　　〈xsl:template match="image"〉 <br /><br />　　〈xsl:element name="img"〉 <br /><br />　　 〈xsl:attribute name="src"〉 <br /><br />　　 〈xsl:value-of /〉 <br /><br />　　 〈/xsl:attribute〉 <br /><br />　　 〈/xsl:element〉 <br /><br />　　XSL是显示XML文件的最好的方法，因为它符合XML文件的标准，一切XML有的优点，XSL都具备，而且在功能上也有比CSS更强的地方，所以我们在想要将XML文件内容显示出来的时候，最好优先考虑使用XSL??为了将来的扩展。 <br /><br />　　例2 2.xml源文件 <br /><br />　　〈?xml version="1.0" encoding="GB2312" ?〉 <br /><br />　　〈?xml-stylesheet href="first.xsl" type="text/xsl" ?〉 <br /><br />　　〈data〉 <br /><br />　　〈book〉 <br /><br />　　〈title〉XML入门精解〈/title〉 <br /><br />　　〈author〉张三〈/author〉 <br /><br />　　〈price unit="人民币"〉20.00〈/price〉 <br /><br />　　〈/book〉 <br /><br />　　〈book〉 <br /><br />　　〈title〉XML语法〈/title〉 <br /><br />　　〈!-- 即将出版 --〉 <br /><br />　　〈author〉李四〈/author〉 <br /><br />　　〈price unit="人民币"〉18.00〈/price〉 <br /><br />　　〈memo〉此书是著名计算机科学专家编著，极具权威性。在书中又穿插许多精彩的例子，所以可读性又极强。〈/memo〉 <br /><br />　　〈/book〉 <br /><br />　　〈/data〉 <br /><br />　　First.xsl源文件 <br /><br />　　〈?xml version="1.0" encoding="GB2312" ?〉 <br /><br />　　〈xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"〉 <br /><br />　　〈xsl:template match="/"〉 <br /><br />　　〈html〉〈body〉 <br /><br />　　〈center〉〈h2〉书籍信息〈/h2〉〈/center〉 <br /><br />　　〈div align="center"〉〈center〉 <br /><br />　　〈table border="1" cellpadding="5" bgcolor="#4EB7DE"〉 <br /><br />　　 〈tr〉 <br /><br />　　 〈th〉书名〈/th〉〈th〉作者〈/th〉〈th〉价格(人民币)〈/th〉 <br /><br />　　 〈th〉备注〈/th〉 <br /><br />　　 〈/tr〉 <br /><br />　　 〈xsl:for-each select="data/book" order-by="title"〉 <br /><br />　　 〈tr〉 <br /><br />　　〈td〉〈xsl:value-of select="title"/〉〈/td〉 <br /><br />　　〈td〉〈xsl:value-of select="author"/〉〈/td〉 <br /><br />　　〈td〉〈xsl:value-of select="price"/〉〈/td〉 <br /><br />　　〈td width="150"〉〈xsl:value-of select="memo"/〉〈/td〉 <br /><br />　　 〈/tr〉 <br /><br />　　 〈/xsl:for-each〉 <br /><br />　　〈/table〉 <br /><br />　　〈/center〉〈/div〉 <br /><br />　　〈/body〉〈/html〉 <br /><br />　　〈/xsl:template〉 <br /><br />　　〈/xsl:stylesheet〉 <br /><br />表1 常用的文字相关属性 属性名称 功能描述 设置值 例 <br />color 文字的颜色 颜色的英文名或十六进制的rgb色 color:red color:#f00f01 <br />font-family 文字字型 字型名称 font-family:宋体  <br />font-size 文字大小 pt、in、cm、px、xx-small、x-small、small、medium、large、x-large、xx-large font-size:x-large font-size:1cm <br />font-weight 文字粗细 extra-light、light、demi-light、medium、demi-bold、bold、extra-bold font-weight:light <br />font-style 字型样式 normal、italic font-style:italic <br />text-align 文字位置 center、right、left text-align:left <br />text-indent 文字缩排 pt（点）in（英寸）cm（厘米）px（像素） text-indent:20pt  <br />text-transform 大小写转换 capitalize、uppercase、lowercase text-transform:uppercase <br />text-decoration 文字加线设置 underline、ouerline、line-through text-decora：underline <br /><br /><br /><br />表2 常用的版面排列属性 属性名称 功能描述 设置值与单位 <br />display 组件的显示状态 none、block、inline <br />width 组件的宽度 pt、in、cm、px <br />background-color 组件的背景颜色 颜色英文名或十六进制rgb <br />padding 组件与四边的距离 pt、in、cm、px <br />padding-left 组件与左边的距离 pt、in、cm、px <br />padding-right 组件与右边的距离 pt、in、cm、px  <br />padding-top 组件与上边的距离 pt、in、cm、px  <br />padding-bottom 组件与下边的距离 pt、in、cm、px <br />border 方形边框  <br />border-left 方形的左边框  <br />border-right 方形的左边框  <br />border-top 方形的上边框  <br />border-bottom 方形的下边框  <br />border-color 方形边框的颜色 颜色的英文名或十六进制rgb <br />border-wide 方形边框的宽度 thin 、medium、thick、pt、in、cm、px <br />border-style 方形边框的样式 none、dotted、solid、double <img src ="http://www.blogjava.net/renyangok/aggbug/82664.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/renyangok/" target="_blank">保尔任</a> 2006-11-22 09:03 <a href="http://www.blogjava.net/renyangok/archive/2006/11/22/82664.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网页头部标签meta详解（两篇文章）</title><link>http://www.blogjava.net/renyangok/archive/2006/11/22/82661.html</link><dc:creator>保尔任</dc:creator><author>保尔任</author><pubDate>Wed, 22 Nov 2006 01:00:00 GMT</pubDate><guid>http://www.blogjava.net/renyangok/archive/2006/11/22/82661.html</guid><wfw:comment>http://www.blogjava.net/renyangok/comments/82661.html</wfw:comment><comments>http://www.blogjava.net/renyangok/archive/2006/11/22/82661.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/renyangok/comments/commentRss/82661.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/renyangok/services/trackbacks/82661.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体">
						<font size="3">
								<span style="FONT-FAMILY: 宋体">
								</span>
								<font size="5">
										<strong>文章一：</strong>
								</font>
								<br />    网页头部有两个标签<span lang="EN-US">titel</span>和<span lang="EN-US">meta, title</span>比较简单，就是网页标题，<span lang="EN-US">meta</span>的内容还是蛮多了，为了自己今后能够比较好的参考，我收集了些资料，也希望对大家有用。<span lang="EN-US"></span></font>
				</span>
		</p>
		<p>
				<font size="3">
						<strong>
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">一、<span lang="EN-US">meta</span>标签的组成</span>
						</strong>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
						</span>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     meta</span>
								<span style="FONT-SIZE: 10.5pt">标签共有两个属性，它们分别是<span lang="EN-US">http-equiv</span>属性和<span lang="EN-US">name</span>属性，不同的属性又有不同的参数值，这些不同的参数值就实现了不同的网页功能。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p style="MARGIN-LEFT: 36pt; TEXT-INDENT: -18pt">
				<font size="3">
						<b>
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">
										<span>
												<font face="宋体">1、</font>
												<span style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; LINE-HEIGHT: normal; FONT-STYLE: normal; FONT-VARIANT: normal" times="" new="" roman="">
												</span>
										</span>
								</span>
						</b>
						<strong>
								<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">name</span>
						</strong>
						<strong>
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">属性</span>
						</strong>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
						</span>
				</font>
		</p>
		<p style="MARGIN-LEFT: 17.95pt; TEXT-INDENT: 15.75pt">
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">name</span>
								<span style="FONT-SIZE: 10.5pt">属性主要用于描述网页，与之对应的属性值为<span lang="EN-US">content</span>，<span lang="EN-US">content</span>中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。<span lang="EN-US">meat</span>标签的<span lang="EN-US">name</span>属性语法格式是：＜<span lang="EN-US">meta name="</span>参数<span lang="EN-US">" content="</span>具体的参数值<span lang="EN-US">"</span>＞ 。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">    </span>
								<span style="FONT-SIZE: 10.5pt">其中<span lang="EN-US">name</span>属性主要有以下几种参数：<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font size="3">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<font face="宋体">     <strong><span style="FONT-FAMILY: 宋体">A</span></strong></font>
						</span>
						<strong>
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">、<span lang="EN-US">Keywords(</span>关键字<span lang="EN-US">)</span></span>
						</strong>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
						</span>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">说明：<span lang="EN-US">keywords</span>用来告诉搜索引擎你网页的关键字是什么。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">举例：＜<span lang="EN-US">meta name ="keywords" content="science, education,culture,politics,ecnomics</span>，<span lang="EN-US">relationships, entertaiment, human"</span>＞<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font size="3">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<font face="宋体">      <strong><span style="FONT-FAMILY: 宋体">B</span></strong></font>
						</span>
						<strong>
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">、<span lang="EN-US">description(</span>网站内容描述<span lang="EN-US">)</span></span>
						</strong>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
						</span>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">说明：<span lang="EN-US">description</span>用来告诉搜索引擎你的网站主要内容。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">举例：＜<span lang="EN-US">meta name="description" content="This page is about the meaning of science, education,culture."</span>＞<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font size="3">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<font face="宋体">     <strong><span style="FONT-FAMILY: 宋体">C</span></strong></font>
						</span>
						<strong>
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">、<span lang="EN-US">robots(</span>机器人向导<span lang="EN-US">)</span></span>
						</strong>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
						</span>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">说明：<span lang="EN-US">robots</span>用来告诉搜索机器人哪些页面需要索引，哪些页面不需要索引。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     content</span>
								<span style="FONT-SIZE: 10.5pt">的参数有<span lang="EN-US">all,none,index,noindex,follow,nofollow</span>。默认是<span lang="EN-US">all</span>。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">举例：＜<span lang="EN-US">meta name="robots" content="none"</span>＞<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font size="3">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<font face="宋体">     <strong><span style="FONT-FAMILY: 宋体">D</span></strong></font>
						</span>
						<strong>
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">、<span lang="EN-US">author(</span>作者<span lang="EN-US">)</span></span>
						</strong>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
						</span>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">说明：标注网页的作者<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">举例：＜<span lang="EN-US">meta name="author" <a href="mailto:***@yahoo.com.con" ＞=""><span style="COLOR: black">content="***@yahoo.com.con"</span><span lang="EN-US" style="COLOR: black"><span lang="EN-US">＞</span></span></a></span></span>
						</font>
				</font>
		</p>
		<p>
				<font size="3">
						<strong>
								<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">    2</span>
						</strong>
						<strong>
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">、<span lang="EN-US">http-equiv</span>属性</span>
						</strong>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
						</span>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     http-equiv</span>
								<span style="FONT-SIZE: 10.5pt">顾名思义，相当于<span lang="EN-US">http</span>的文件头作用，它可以向浏览器传回一些有用的信息，以帮助正确和精确地显示网页内容，与之对应的属性值为<span lang="EN-US">content</span>，<span lang="EN-US">content</span>中的内容其实就是各个参数的变量值。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     meat</span>
								<span style="FONT-SIZE: 10.5pt">标签的<span lang="EN-US">http-equiv</span>属性语法格式是：＜<span lang="EN-US">meta http-equiv="</span>参数<span lang="EN-US">" content="</span>参数变量值<span lang="EN-US">"</span>＞ ；其中<span lang="EN-US">http-equiv</span>属性主要有以下几种参数：<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font size="3">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<font face="宋体">     <strong><span style="FONT-FAMILY: 宋体">A</span></strong></font>
						</span>
						<strong>
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">、<span lang="EN-US">Expires(</span>期限<span lang="EN-US">)</span></span>
						</strong>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
						</span>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">说明：可以用于设定网页的到期时间。一旦网页过期，必须到<font color="#3366cc">服务器</font>上重新传输。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">用法：＜<span lang="EN-US">meta http-equiv="expires" content="Fri, 12 Jan 2001 18:18:18 GMT"</span>＞<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">注意：必须使用<span lang="EN-US">GMT</span>的时间格式。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font size="3">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<font face="宋体">     <strong><span style="FONT-FAMILY: 宋体">B</span></strong></font>
						</span>
						<strong>
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">、<span lang="EN-US">Pragma(cache</span>模式<span lang="EN-US">)</span></span>
						</strong>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
						</span>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">说明：禁止浏览器从本地计算机的缓存中访问页面内容。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">用法：＜<span lang="EN-US">meta http-equiv="Pragma" content="no-cache"</span>＞<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">注意：这样设定，访问者将无法脱机浏览。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font size="3">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<font face="宋体">     <strong><span style="FONT-FAMILY: 宋体">C</span></strong></font>
						</span>
						<strong>
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">、<span lang="EN-US">Refresh(</span>刷新<span lang="EN-US">)</span></span>
						</strong>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
						</span>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">说明：自动刷新并指向新页面。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">用法：＜<span lang="EN-US">meta http-equiv="Refresh" content="2</span>；<span lang="EN-US">URL=http://phigo.bokee.com"</span>＞<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">    </span>
								<span style="FONT-SIZE: 10.5pt">注意：其中的<span lang="EN-US">2</span>是指停留<span lang="EN-US">2</span>秒钟后自动刷新到<span lang="EN-US">URL</span>网址。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font size="3">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<font face="宋体">     <strong><span style="FONT-FAMILY: 宋体">D</span></strong></font>
						</span>
						<strong>
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">、<span lang="EN-US">Set-Cookie(cookie</span>设定<span lang="EN-US">)</span></span>
						</strong>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
						</span>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">    </span>
								<span style="FONT-SIZE: 10.5pt">说明：如果网页过期，那么存盘的<span lang="EN-US">cookie</span>将被删除。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">用法：＜<span lang="EN-US">meta http-equiv="Set-Cookie" content="cookievalue=xxx; expires=Friday, 8-Aug -2008 18:18:18 GMT</span>；<span lang="EN-US"> path=/"</span>＞<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">注意：必须使用<span lang="EN-US">GMT</span>的时间格式。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font size="3">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<font face="宋体">     <strong><span style="FONT-FAMILY: 宋体">E</span></strong></font>
						</span>
						<strong>
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">、<span lang="EN-US">Window-target(</span>显示窗口的设定<span lang="EN-US">)</span></span>
						</strong>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
						</span>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">说明：强制页面在当前窗口以独立页面显示。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">用法：＜<span lang="EN-US">meta http-equiv="Window-target" content="_top"</span>＞<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">注意：用来防止别人在框架里调用自己的页面。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font size="3">
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
								<font face="宋体">     <strong><span style="FONT-FAMILY: 宋体">F</span></strong></font>
						</span>
						<strong>
								<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">、<span lang="EN-US">content-Type(</span>显示字符集的设定<span lang="EN-US">)</span></span>
						</strong>
						<span lang="EN-US" style="FONT-SIZE: 10.5pt">
						</span>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">说明：设定页面使用的字符集。<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p>
				<font face="宋体">
						<font size="3">
								<span lang="EN-US" style="FONT-SIZE: 10.5pt">     </span>
								<span style="FONT-SIZE: 10.5pt">用法：＜<span lang="EN-US">meta http-equiv="content-Type" content="text/html; charset=gb2312"</span>＞<span lang="EN-US"></span></span>
						</font>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt">
				<font size="3">
						<b>
								<span lang="EN-US" style="FONT-FAMILY: 宋体">G</span>
						</b>
						<b>
								<span style="FONT-FAMILY: 宋体">、<span lang="EN-US">Page-Exit /Page-Enter(</span>进入页面、离开页面动画效果<span lang="EN-US">)</span></span>
						</b>
				</font>
		</p>
		<p>
				<span style="FONT-SIZE: 10.5pt">
						<font face="宋体">
								<font size="3">使用<span lang="EN-US">meta</span>标签，我们还可以在进入网页或者离开网页的一刹那实现动画效果，我们只要在页面的<span lang="EN-US">html</span>代码中的＜<span lang="EN-US">head</span>＞＜<span lang="EN-US">/head</span>＞标签之间添加如下代码就可以了：<span lang="EN-US"></span></font>
						</font>
				</span>
		</p>
		<p>
				<span style="FONT-SIZE: 10.5pt">
						<font face="宋体" size="3">＜<span lang="EN-US">meta http-equiv="Page-Enter" content="revealTrans(duration=5, transition=23)"</span>＞</font>
						<span lang="EN-US">
								<br />
						</span>
						<font face="宋体">
								<font size="3">＜<span lang="EN-US">meta http-equiv="Page-Exit" content="revealTrans(duration=5, transition=23)"</span>＞<span lang="EN-US"></span></font>
						</font>
				</span>
		</p>
		<p>
				<font face="宋体">
						<font size="3">一旦上述代码被加到一个网页中后，我们再进出页面时就会看到一些特殊效果，这个功能其实与<span lang="EN-US">FrontPage2000</span>中的<span lang="EN-US">Format/Page Transition</span>一样，但我们要注意的是所加网页不能是一个<span lang="EN-US">Frame</span>页<span lang="EN-US">;</span><b><span lang="EN-US" style="FONT-SIZE: 10pt">Duration</span></b>的值为网页动态过渡的时间，单位为秒。<b><span lang="EN-US" style="FONT-SIZE: 10pt">Transition</span></b><span>是过渡方式，它的值为<span lang="EN-US">0</span>到<span lang="EN-US">23</span>，分别对应<span lang="EN-US">24</span>种过渡方式。如下表：</span><span lang="EN-US" style="FONT-SIZE: 10.5pt"></span></font>
				</font>
		</p>
		<table class="MsoNormalTable" style="WIDTH: 75%" cellpadding="0" width="75%" border="1">
				<tbody>
						<tr>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">0 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">盒状收缩</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">1 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">盒状放射</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
						</tr>
						<tr>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">2 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">圆形收缩</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">3 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">圆形放射</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
						</tr>
						<tr>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">4 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">由下往上</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">5 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">由上往下</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
						</tr>
						<tr>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">6 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">从左至右</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">7 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">从右至左</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
						</tr>
						<tr>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">8 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">垂直百叶窗</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">9 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">水平百叶窗</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
						</tr>
						<tr>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">10 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">水平格状百叶窗</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">11</span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">垂直格状百叶窗</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
						</tr>
						<tr>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">12 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">随意溶解</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">13</span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">从左右两端向中间展开</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
						</tr>
						<tr>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">14</span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">从中间向左右两端展开</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">15</span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">从上下两端向中间展开</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
						</tr>
						<tr>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">16</span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">从中间向上下两端展开</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">17 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">从右上角向左下角展开</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
						</tr>
						<tr>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">18 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">从右下角向左上角展开</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">19 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">从左上角向右下角展开</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
						</tr>
						<tr>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">20 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">从左下角向右上角展开</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">21 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">水平线状展开</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
						</tr>
						<tr>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">22 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">垂直线状展开</span>
												</b>
												<span lang="EN-US" style="FONT-FAMILY: 宋体">
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: rgb(212,208,200); PADDING-RIGHT: 0.75pt; BORDER-TOP: rgb(212,208,200); PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: rgb(212,208,200); PADDING-TOP: 0.75pt; BORDER-BOTTOM: rgb(212,208,200); BACKGROUND-COLOR: transparent">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 16.5pt; TEXT-ALIGN: left" align="left">
												<b>
														<span lang="EN-US" style="FONT-FAMILY: 宋体">23 </span>
												</b>
												<b>
														<span style="FONT-FAMILY: 宋体">随机产生一种过渡方式</span>
												</b>
										</p>
								</td>
						</tr>
				</tbody>
		</table>
		<p>
				<br />－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－<br /><span style="FONT-FAMILY: 宋体"><font size="3"><span style="FONT-FAMILY: 宋体"></span><font size="5"><strong>文章二：<br /></strong></font></font></span><br /> Meta标签详解，在网上转的，希望对大家有用<br />　　引言 </p>
		<p>　　您的个人网站即使做得再精彩，在“浩瀚如海”的网络空间中，也如一叶扁舟不易为人发现，如何推广<br />个人网站，人们首先想到的方法无外乎以下几种：<br />　　<br />　　●　在搜索引擎中登录自己的个人网站<br />　　<br />　　●　在知名网站加入你个人网站的链接 </p>
		<p>
				<br />　　●　在论坛中发帖子宣传你的个人网站 </p>
		<p>
				<br />　　很多人却忽视了HTML标签META的强大功效，一个好的META标签设计可以大大提高你的个人网站被搜索到的可能性，有兴趣吗，谁我来重新</p>
		<p>认识一下META标签吧！ </p>
		<p>
				<br />　　META标签是HTML语言HEAD区的一个辅助性标签，它位于HTML文档头部的&lt;HEAD&gt;标记和&lt;TITLE&gt;标记之间，它提供用户不可见的信息。meta标</p>
		<p>签通常用来为搜索引擎robots定义页面主题，或者是定义用户浏览器上的cookie；它可以用于鉴别作者，设定页面格式，标注内容提要和关键</p>
		<p>字；还可以设置页面使其可以根据你定义的时间间隔刷新自己,以及设置RASC内容等级，等等。 </p>
		<p> </p>
		<p>　　详细介绍 </p>
		<p>
				<br />　　下面介绍一些有关 标记的例子及解释。 </p>
		<p>
				<br />　　META标签分两大部分：HTTP标题信息(HTTP-EQUIV)和页面描述信息(NAME)。 </p>
		<p> </p>
		<p>　　★HTTP-EQUIV </p>
		<p>
				<br />　　HTTP-EQUIV类似于HTTP的头部协议，它回应给浏览器一些有用的信息，以帮助正确和精确地显示网页内容。常用的HTTP-EQUIV类型有： </p>
		<p> </p>
		<p>　　1、Content-Type和Content-Language (显示字符集的设定) </p>
		<p>
				<br />　　说明：设定页面使用的字符集，用以说明主页制作所使用的文字已经语言，浏览器会根据此来调用相应的字符集显示page内容。 </p>
		<p>
				<br />　　用法：&lt;Meta http-equiv="Content-Type" Content="text/html; Charset=gb2312"&gt;<br />　　　　　　&lt;Meta http-equiv="Content-Language" Content="zh-CN"&gt; </p>
		<p>
				<br />　　注意：　该META标签定义了HTML页面所使用的字符集为GB2132，就是国标汉字码。如果将其中的“charset=GB2312”替换成“BIG5”，则</p>
		<p>该页面所用的字符集就是繁体中文Big5码。当你浏览一些国外的站点时，IE浏览器会提示你要正确显示该页面需要下载xx语支持。这个功能就</p>
		<p>是通过读取HTML页面META标签的Content-Type属性而得知需要使用哪种字符集显示该页面的。如果系统里没有装相应的字符集，则IE就提示下</p>
		<p>载。其他的语言也对应不同的charset，比如日文的字符集是“iso-2022-jp ”，韩文的是“ks_c_5601”。<br />　　　　　　<br />　　Content-Type的Content还可以是：text/xml等文档类型；<br />　　Charset选项：ISO-8859-1(英文)、BIG5、UTF-8、SHIFT-Jis、Euc、Koi8-2、us-ascii, x-mac-roman, iso-8859-2, x-mac-ce, iso-</p>
		<p>2022-jp, x-sjis, x-euc-jp,euc-kr, iso-2022-kr, gb2312, gb_2312-80, x-euc-tw, x-cns11643-1,x-cns11643-2等字符集；Content-</p>
		<p>Language的Content还可以是：EN、FR等语言代码。 </p>
		<p>
				<br />　　2、Refresh (刷新) </p>
		<p>
				<br />　　　说明：让网页多长时间（秒）刷新自己，或在多长时间后让网页自动链接到其它网页。<br />　　　用法：&lt;Meta http-equiv="Refresh" Content="30"&gt;<br />　　　　　　&lt;Meta http-equiv="Refresh" Content="5; Url=http://www.xia8.net"&gt;<br />　　　注意：其中的5是指停留5秒钟后自动刷新到URL网址。 </p>
		<p>
				<br />　　3、Expires (期限) </p>
		<p>
				<br />　　　说明：指定网页在缓存中的过期时间，一旦网页过期，必须到服务器上重新调阅。<br />　　　用法：&lt;Meta http-equiv="Expires" Content="0"&gt;<br />　　　　　　&lt;Meta http-equiv="Expires" Content="Wed, 26 Feb 1997 08:21:57 GMT"&gt;<br />　　　注意：必须使用GMT的时间格式，或直接设为0(数字表示多少时间后过期)。 </p>
		<p>
				<br />　　4、Pragma (cach模式) </p>
		<p>
				<br />　　　说明：禁止浏览器从本地机的缓存中调阅页面内容。<br />　　　用法：&lt;Meta http-equiv="Pragma" Content="No-cach"&gt;<br />　　　注意：网页不保存在缓存中，每次访问都刷新页面。这样设定，访问者将无法脱机浏览。 </p>
		<p>
				<br />　　5、Set-Cookie (cookie设定) </p>
		<p>
				<br />　　说明：浏览器访问某个页面时会将它存在缓存中，下次再次访问时就可从缓存中读取，以提高速度。当你希望访问者每次都刷新你广告的</p>
		<p>图标，或每次都刷新你的计数器，就要禁用缓存了。通常HTML文件没有必要禁用缓存，对于ASP等页面，就可以使用禁用缓存，因为每次看到的</p>
		<p>页面都是在服务器动态生成的，缓存就失去意义。如果网页过期，那么存盘的cookie将被删除。<br />　　　用法：&lt;Meta http-equiv="Set-Cookie" Content="cookievalue=xxx; expires=Wednesday,<br />　　　　　　 21-Oct-98 16:14:21 GMT; path=/"&gt;<br />　　　注意：必须使用GMT的时间格式。 </p>
		<p>
				<br />　　6、Window-target (显示窗口的设定) </p>
		<p>
				<br />　　　说明：强制页面在当前窗口以独立页面显示。<br />　　　用法：&lt;Meta http-equiv="Widow-target" Content="_top"&gt;<br />　　　注意：这个属性是用来防止别人在框架里调用你的页面。Content选项：_blank、_top、_self、_parent。 </p>
		<p>
				<br />　　7、Pics-label (网页RSAC等级评定)<br />　　　说明：在IE的Internet选项中有一项内容设置，可以防止浏览一些受限制的网站，而网站的限制级<br />　　　　　　别就是通过该参数来设置的。<br />　　　用法：&lt;META http-equiv="Pics-label" Contect=<br />　　　　　　　　　　　　　　　"(PICS－1.1'http://www.rsac.org/ratingsv01.html'<br />　　　　　　 I gen comment 'RSACi North America Sever' by <a href="mailto:'inet@microsoft.com'">'inet@microsoft.com'</a><br />　　　　　　　for 'http://www.microsoft.com' on '1997.06.30T14:21－0500' r(n0 s0 v0 l0))"&gt; </p>
		<p>
				<br />　　　注意：不要将级别设置的太高。RSAC的评估系统提供了一种用来评价Web站点内容的标准。用户可以设置Microsoft Internet Explorer</p>
		<p>（IE3.0以上）来排除包含有色情和暴力内容的站点。上面这个例子中的HTML取自Microsoft的主页。代码中的（n 0 s 0 v 0 l 0）表示该站点</p>
		<p>不包含不健康内容。级别的评定是由RSAC，即美国娱乐委员会的评级机构评定的，如果你想进一步了解RSAC评估系统的等级内容，或者你需要</p>
		<p>评价自己的网站，可以访问RSAC的站点：<a href="http://www.rsac.org/">http://www.rsac.org/</a>。 </p>
		<p>
				<br />　　8、Page-Enter、Page-Exit (进入与退出) </p>
		<p>
				<br />　　　说明：这个是页面被载入和调出时的一些特效。<br />　　　用法：&lt;Meta http-equiv="Page-Enter" Content="blendTrans(Duration=0.5)"&gt;<br />　　　　　　&lt;Meta http-equiv="Page-Exit" Content="blendTrans(Duration=0.5)"&gt;<br />　　　注意：blendTrans是动态滤镜的一种，产生渐隐效果。另一种动态滤镜RevealTrans也可以用于页面进入与退出效果: </p>
		<p>
				<br />　　　　　　&lt;Meta http-equiv="Page-Enter" Content="revealTrans(duration=x, transition=y)"&gt;<br />　　　　　　&lt;Meta http-equiv="Page-Exit" Content="revealTrans(duration=x, transition=y)"&gt; </p>
		<p>
				<br />　　　　　　　Duration　　表示滤镜特效的持续时间(单位：秒)<br />　　　　　　　Transition　滤镜类型。表示使用哪种特效，取值为0-23。 </p>
		<p>
				<br />　　　　　　　0 矩形缩小<br />　　　　　　　1 矩形扩大<br />　　　　　　　2 圆形缩小<br />　　　　　　　3 圆形扩大<br />　　　　　　　4 下到上刷新<br />　　　　　　　5 上到下刷新<br />　　　　　　　6 左到右刷新<br />　　　　　　　7 右到左刷新<br />　　　　　　　8 竖百叶窗<br />　　　　　　　9 横百叶窗<br />　　　　　　 10 错位横百叶窗<br />　　　　　　 11 错位竖百叶窗<br />　　　　　　 12 点扩散<br />　　　　　　 13 左右到中间刷新<br />　　　　　　 14 中间到左右刷新<br />　　　　　　 15 中间到上下<br />　　　　　　 16 上下到中间<br />　　　　　　 17 右下到左上<br />　　　　　　 18 右上到左下<br />　　　　　　 19 左上到右下<br />　　　　　　 20 左下到右上<br />　　　　　　 21 横条<br />　　　　　　 22 竖条<br />　　　　　　 23 以上22种随机选择一种 </p>
		<p>
				<br />　　9、MSThemeCompatible (XP主题)<br />　　　说明：是否在IE中关闭 xp 的主题<br />　　　用法：&lt;Meta http-equiv="MSThemeCompatible" Content="Yes"&gt;<br />　　　注意：关闭 xp 的蓝色立体按钮系统显示样式，从而和win2k 很象。 </p>
		<p>
				<br />　　10、IE6 (页面生成器)<br />　　　说明：页面生成器generator，是ie6<br />　　　用法：&lt;Meta http-equiv="IE6" Content="Generator"&gt;<br />　　　注意：用什么东西做的，类似商品出厂厂商。 </p>
		<p>
				<br />　　11、Content-Script-Type (脚本相关)<br />　　　说明：这是近来W3C的规范，指明页面中脚本的类型。<br />　　　用法：&lt;Meta http-equiv="Content-Script-Type" Content="text/javascript"&gt;<br />　　　注意： </p>
		<p>
				<br />　　★NAME变量 </p>
		<p>
				<br />　　name是描述网页的，对应于Content（网页内容），以便于搜索引擎机器人查找、分类（目前几乎所有的搜索引擎都使用网上机器人自动查</p>
		<p>找meta值来给网页分类）。<br />　　name的value值（name=""）指定所提供信息的类型。有些值是已经定义好的。例如description(说明)、keyword(关键字)、refresh(刷新)</p>
		<p>等。还可以指定其他任意值，如：creationdate(创建日期) 、<br />document ID(文档编号)和level(等级)等。<br />　　name的content指定实际内容。如：如果指定level(等级)为value(值)，则Content可能是beginner(初级)、intermediate(中级)、</p>
		<p>advanced(高级)。 </p>
		<p> </p>
		<p>　　1、Keywords (关键字)<br />　　　说明：为搜索引擎提供的关键字列表<br />　　　用法：&lt;Meta name="Keywords" Content="关键词1,关键词2，关键词3,关键词4,……"&gt;<br />　　　注意：各关键词间用英文逗号“,”隔开。META的通常用处是指定搜索引擎用来提高搜索质量的关键词。当数个META元素提供文档语言从</p>
		<p>属信息时，搜索引擎会使用lang特性来过滤并通过用户的语言优先参照来显示搜索结果。例如：<br />　　　　　　&lt;Meta name="Kyewords" Lang="EN" Content="vacation,greece,sunshine"&gt;<br />　　　　　　&lt;Meta name="Kyewords" Lang="FR" Content="vacances,grè:ce,soleil"&gt; </p>
		<p>
				<br />　　2、Description (简介)<br />　　　说明：Description用来告诉搜索引擎你的网站主要内容。<br />　　　用法：&lt;Meta name="Description" Content="你网页的简述"&gt;<br />　　　注意： </p>
		<p>
				<br />　　3、Robots (机器人向导)<br />　　　说明：Robots用来告诉搜索机器人哪些页面需要索引，哪些页面不需要索引。Content的参数有all、none、index、noindex、follow、</p>
		<p>nofollow。默认是all。<br />　　　用法：&lt;Meta name="Robots" Content="All|None|Index|Noindex|Follow|Nofollow"&gt;<br />　　　注意：许多搜索引擎都通过放出robot/spider搜索来登录网站，这些robot/spider就要用到meta元素的一些特性来决定怎样登录。 </p>
		<p>
				<br />　　　 all：文件将被检索，且页面上的链接可以被查询；<br />　　　 none：文件将不被检索，且页面上的链接不可以被查询；(和 "noindex, no follow" 起相同作用)<br />　　　 index：文件将被检索；（让robot/spider登录）<br />　　　 follow：页面上的链接可以被查询；<br />　　　 noindex：文件将不被检索，但页面上的链接可以被查询；(不让robot/spider登录)<br />　　　nofollow：文件将不被检索，页面上的链接可以被查询。(不让robot/spider顺着此页的连接往下探找) </p>
		<p>
				<br />　　4、Author (作者)<br />　　　说明：标注网页的作者或制作组<br />　　　用法：&lt;Meta name="Author" Content="张三，<a href="mailto:abc@sina.com">abc@sina.com</a>"&gt;<br />　　　注意：Content可以是：你或你的制作组的名字,或Email </p>
		<p>
				<br />　　5、Copyright (版权)<br />　　　说明：标注版权<br />　　　用法：&lt;Meta name="Copyright" Content="本页版权归Zerospace所有。All Rights Reserved"&gt;<br />　　　注意： </p>
		<p>
				<br />　　6、Generator (编辑器)<br />　　　说明：编辑器的说明<br />　　　用法：&lt;Meta name="Generator" Content="PCDATA|FrontPage|"&gt;<br />　　　注意：Content="你所用编辑器" </p>
		<p>
				<br />　　7、revisit-after (重访)<br />　　　说明：<br />　　　用法：&lt;META name="revisit-after" CONTENT="7 days" &gt;<br />　　　注意： </p>
		<p>
				<br />　　★Head中的其它一些用法 </p>
		<p> </p>
		<p>　　1、scheme (方案)<br />　　　说明：scheme can be used when name is used to specify how the value of content should<br />　　　　　　be interpreted.<br />　　　用法：&lt;meta scheme="ISBN" name="identifier" content="0-14-043205-1" /&gt;<br />　　　注意： </p>
		<p>
				<br />　　2、Link (链接)<br />　　　说明：链接到文件<br />　　　用法：&lt;Link href="soim.ico" rel="Shortcut Icon"&gt;<br />　　　注意：很多网站如果你把她保存在收件夹中后，会发现它连带着一个小图标，如果再次点击进入之后还会发现地址栏中也有个小图标。</p>
		<p>现在只要在你的页头加上这段话，就能轻松实现这一功能。&lt;LINK&gt; 用来将目前文件与其它 URL 作连结，但不会有连结按钮，用於 &lt;HEAD&gt; 标</p>
		<p>记间， 格式如下： <br />　　　　　　　&lt;link href="URL" rel="relationship"&gt; <br />　　　　　　　&lt;link href="URL" rev="relationship"&gt; </p>
		<p>
				<br />　　3、Base (基链接)<br />　　　说明：插入网页基链接属性<br />　　　用法：&lt;Base href="<a href="http://www.xia8.net/">http://www.xia8.net/</a>" target="_blank"&gt;<br />　　　注意：你网页上的所有相对路径在链接时都将在前面加上“http://www.cn8cn.com/”。其中target="_blank"是链接文件在新的窗口中</p>
		<p>打开，你可以做其他设置。将“_blank”改为“_parent”是链接文件将在当前窗口的父级窗口中打开；改为“_self”链接文件在当前窗口（</p>
		<p>帧）中打开；改为“_top”链接文件全屏显示。 </p>
		<p> </p>
		<p>　　以上是META标签的一些基本用法，其中最重要的就是：Keywords和Description的设定。为什么呢？道理很简单，这两个语句可以让搜索引</p>
		<p>擎能准确的发现你，吸引更多的人访问你的站点!根据现在流行搜索引擎(Google，Lycos，AltaVista等)的工作原理，搜索引擎先派机器人自动</p>
		<p>在WWW上搜索，当发现新的网站时，便于检索页面中的Keywords和Description，并将其加入到自己的数据库，然后再根据关键词的密度将网站</p>
		<p>排序。 </p>
		<p>
				<br />　　由此看来，我们必须记住添加Keywords和Description的META标签，并尽可能写好关键字和简介。否则，<br />后果就会是：<br />　　<br />　　●　如果你的页面中根本没有Keywords和Description的META标签，那么机器人是无法将你的站点加入数<br />　　　　据库，网友也就不可能搜索到你的站点。 </p>
		<p>
				<br />　　●　如果你的关键字选的不好，关键字的密度不高，被排列在几十甚至几百万个站点的后面被点击的可<br />　　　　能性也是非常小的。 </p>
		<p>
				<br />　　写好Keywords(关键字)要注意以下几点： </p>
		<p> </p>
		<p>　　●　不要用常见词汇。例如www、homepage、net、web等。 </p>
		<p>
				<br />　　●　不要用形容词，副词。例如最好的，最大的等。 </p>
		<p>
				<br />　　●　不要用笼统的词汇，要尽量精确。例如“爱立信手机”，改用“T28SC”会更好。 </p>
		<p> </p>
		<p>　　“三人之行，必有我师”，寻找合适关键词的技巧是：到Google、Lycos、Alta等著名搜索引擎，搜索与<br />你的网站内容相仿的网站，查看排名前十位的网站的META关键字，将它们用在你的网站上，效果可想而知了。 </p>
		<p>
				<br />　　★小窍门 </p>
		<p>
				<br />　　为了提高搜索点击率，这里还有一些“捷径”可以帮得到你： </p>
		<p>
				<br />　　●　为了增加关键词的密度，将关键字隐藏在页面里(将文字颜色定义成与背景颜色一样)。 </p>
		<p>
				<br />　　●　在图像的ALT注释语句中加入关键字。如：&lt;IMG SRC="xxx.gif" Alt="Keywords"&gt; </p>
		<p>
				<br />　　●　利用HTML的注释语句，在页面代码里加入大量关键字。用法： &lt;!-- 这里插入关键字 --&gt; </p>
		<p> </p>
		<p>&lt;head&gt;　　&lt;title&gt;文件头，显示在浏览器标题区&lt;/title&gt;　　&lt;meta http-equiv="Content-Language" content="zh-cn"&gt;　　&lt;meta http-</p>
		<p>equiv="Content-Type" content="text/html; charset=gb2312"&gt;　　&lt;meta name="GENERATOR" content="Microsoft FrontPage 4.0"&gt;　　</p>
		<p>&lt;meta name="ProgId" content="FrontPage.Editor.Document"&gt;　　&lt;meta name="制作人" content="唐蓉生"&gt;　　&lt;meta name="主题词" </p>
		<p>content="HTML 网页制作 课件"&gt;&lt;/head&gt;<br /> </p>
		<p>
				<br /> <br /></p>
<img src ="http://www.blogjava.net/renyangok/aggbug/82661.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/renyangok/" target="_blank">保尔任</a> 2006-11-22 09:00 <a href="http://www.blogjava.net/renyangok/archive/2006/11/22/82661.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是MIME</title><link>http://www.blogjava.net/renyangok/archive/2006/11/22/82660.html</link><dc:creator>保尔任</dc:creator><author>保尔任</author><pubDate>Wed, 22 Nov 2006 00:59:00 GMT</pubDate><guid>http://www.blogjava.net/renyangok/archive/2006/11/22/82660.html</guid><wfw:comment>http://www.blogjava.net/renyangok/comments/82660.html</wfw:comment><comments>http://www.blogjava.net/renyangok/archive/2006/11/22/82660.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/renyangok/comments/commentRss/82660.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/renyangok/services/trackbacks/82660.html</trackback:ping><description><![CDATA[
		<!--StartFragment -->  
<p><font face="宋体">是multipurpose Internet mail extensions 的缩写。它是一种协议，可使电子邮件除包含一般纯文本以外，还可加上彩色图片、视频、声音或二进位格式的文件。它要求邮件的发送端和接收端必须有解读MIME 协议的电子邮件程序。<br /><br /><br />多媒体文件格式MIME <br />　　最早的HTTP协议中，并没有附加的数据类型信息，所有传送的数据都被客户程序解释为超文本标记语言HTML 文档，而为了支持多媒体数据类型，HTTP协议中就使用了附加在文档之前的MIME数据类型信息来标识数据类型。</font></p><p><font face="宋体">　　MIME意为多目Internet邮件扩展，它设计的最初目的是为了在发送电子邮件时附加多媒体数据，让邮件客户程序能根据其类型进行处理。然而当它被HTTP协议支持之后，它的意义就更为显著了。它使得HTTP传输的不仅是普通的文本，而变得丰富多彩。</font></p><p><font face="宋体">　　每个MIME类型由两部分组成，前面是数据的大类别，例如声音audio、图象image等，后面定义具体的种类。</font></p><p><font face="宋体">常见的MIME类型</font></p><p><font face="宋体">超文本标记语言文本 .html,.html text/html <br />普通文本 .txt text/plain <br />RTF文本 .rtf application/rtf <br />GIF图形 .gif image/gif <br />JPEG图形 .ipeg,.jpg image/jpeg <br />au声音文件 .au audio/basic <br />MIDI音乐文件 mid,.midi audio/midi,audio/x-midi <br />RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio <br />MPEG文件 .mpg,.mpeg video/mpeg <br />AVI文件 .avi video/x-msvideo <br />GZIP文件 .gz application/x-gzip <br />TAR文件 .tar application/x-tar </font></p><p><font face="宋体" dragover="true">　　Internet中有一个专门组织IANA来确认标准的MIME类型，但 Internet发展的太快，很多应用程序等不及IANA来确认他们使用的MIME类型为标准类型。因此他们使用在类别中以x-开头的方法标识这个类别还没有成为标准，例如：x-gzip，x-tar等。事实上这些类型运用的很广泛，已经成为了事实标准。只要客户机和服务器共同承认这个MIME类型，即使它是不标准的类型也没有关系，客户程序就能根据MIME类型，采用具体的处理手段来处理数据。而Web服务器和浏览器（包括操作系统）中，缺省都设置了标准的和常见的MIME类型，只有对于不常见的 MIME类型，才需要同时设置服务器和客户浏览器，以进行识别。</font></p><p><font face="宋体">　　由于MIME类型与文档的后缀相关，因此服务器使用文档的后缀来区分不同文件的MIME类型，服务器中必须定义文档后缀和MIME类型之间的对应关系。而客户程序从服务器上接收数据的时候，它只是从服务器接受数据流，并不了解文档的名字，因此服务器必须使用附加信息来告诉客户程序数据的MIME类型。服务器在发送真正的数据之前，就要先发送标志数据的MIME类型的信息，这个信息使用Content-type关键字进行定义，例如对于HTML文档，服务器将首先发送以下两行MIME标识信息,这个标识并不是真正的数据文件的一部分。</font></p><p><font face="宋体">　　Content-type: text/html</font></p><p><font face="宋体">　　注意，第二行为一个空行，这是必须的，使用这个空行的目的是将MIME信息与真正的数据内容分隔开。</font></p><img src ="http://www.blogjava.net/renyangok/aggbug/82660.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/renyangok/" target="_blank">保尔任</a> 2006-11-22 08:59 <a href="http://www.blogjava.net/renyangok/archive/2006/11/22/82660.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>深入学习HTML：细说ID和Name属性的区别</title><link>http://www.blogjava.net/renyangok/archive/2006/11/22/82658.html</link><dc:creator>保尔任</dc:creator><author>保尔任</author><pubDate>Wed, 22 Nov 2006 00:57:00 GMT</pubDate><guid>http://www.blogjava.net/renyangok/archive/2006/11/22/82658.html</guid><wfw:comment>http://www.blogjava.net/renyangok/comments/82658.html</wfw:comment><comments>http://www.blogjava.net/renyangok/archive/2006/11/22/82658.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/renyangok/comments/commentRss/82658.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/renyangok/services/trackbacks/82658.html</trackback:ping><description><![CDATA[
		<span id="ContentLabel" style="PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px">
				<p align="center">可以说几乎每个做过Web开发的人都问过，到底元素的ID和Name有什么区别阿？为什么有了ID还要有Name呢?! 而同样我们也可以得到最classical的答案：ID就像是一个人的身份证号码，而Name就像是他的名字，ID显然是唯一的，而Name是可以重复的。</p>
				<p>　　上周我也遇到了ID和Name的问题，在页面里输入了一个input type="hidden"，只写了一个ID='SliceInfo'，赋值后submit，在后台用Request.Params ["SliceInfo"]却怎么也去不到值。后来恍然大悟因该用Name来标示，于是在input里加了个Name='SliceInfo'，就一切 ok了。</p>
				<p>　　第一段里对于ID和Name的解答说的太笼统了，当然那个解释对于ID来说是完全对的，它就是Client端HTML元素的Identity。而Name其实要复杂的多，因为Name有很多种的用途，所以它并不能完全由ID来代替，从而将其取消掉。具体用途有：</p>
				<p>    用途1: 作为可与服务器交互数据的HTML元素的服务器端的标示，比如input、select、textarea、和button等。我们可以在服务器端根据其Name通过Request.Params取得元素提交的值。<br />    用途2: HTML元素Input type='radio'分组，我们知道radio button控件在同一个分组类，check操作是mutex的，同一时间只能选中一个radio，这个分组就是根据相同的Name属性来实现的。<br />    用途3: 建立页面中的锚点，我们知道&lt;a href="URL"&gt;link&lt;/a&gt;是获得一个页面超级链接，如果不用href属性，而改用Name，如：&lt;a name="PageBottom"&gt;&lt;/a&gt;，我们就获得了一个页面锚点。<br target="_blank" />    用途4: 作为对象的Identity，如Applet、Object、Embed等元素。比如在Applet对象实例中，我们将使用其Name来引用该对象。<br />    用途5: 在IMG元素和MAP元素之间关联的时候，如果要定义IMG的热点区域，需要使用其属性usemap，使usemap="#name"(被关联的MAP元素的Name)。<br />    用途6: 某些特定元素的属性，如attribute，meta和param。例如为Object定义参数&lt;PARAM NAME = "appletParameter" VALUE = "value"&gt;或Meta中&lt;META NAME = "Author" CONTENT = "Dave Raggett"&gt;。</p>
				<p>    显然这些用途都不是能简单的使用ID来代替掉的，所以HTML元素的ID和Name的却别并不是身份证号码和姓名这样的区别，它们更本就是不同作用的东西。</p>
				<p>    当然HTML元素的Name属性在页面中也可以起那么一点ID的作用，因为在DHTML对象树中，我们可以使用 document.getElementsByName来获取一个包含页面中所有指定Name元素的对象数组。Name属性还有一个问题，当我们动态创建可包含Name属性的元素时，不能简单的使用赋值element.name = "..."来添加其Name，而必须在创建Element时，使用document.createElement('&lt;element name = "myName"&gt;&lt;/element&gt;')为元素添加Name属性。这是什么意思啊？看下面的例子就明白了。</p>
				<p class="code">&lt;script language="JavaScript"&gt;<br />var input = document.createElement('INPUT');<br />input.id = 'myId';<br />input.name = 'myName';<br />alert(input.outerHTML);<br />&lt;/script&gt;</p>
				<p>    消息框里显示的结果是：&lt;INPUT id=myId&gt;。</p>
				<p class="code">&lt;script language="JavaScript"&gt;<br />var input = document.createElement('&lt;INPUT name="myName"&gt;');<br />input.id = 'myId';<br />alert(input.outerHTML);<br />&lt;/script&gt;</p>
				<p>    消息框里显示的结果是：&lt;INPUT id=myId name=myName&gt;。</p>
				<p>    初始化Name属性的这个设计不是IE的缺陷，因为MSDN里说了要这么做的，可是这样设计的原理什么呢？我暂时没有想太明白。</p>
				<p>    这里再顺便说一下，要是页面中有n(n&gt;1)个HTML元素的ID都相同了怎么办？在DHTML对象中怎么引用他们呢？如果我们使用ASPX页面，这样的情况是不容易发生的，因为aspnet进程在处理aspx页面时根本就不允许有ID非唯一，这是页面会被抛出异常而不能被正常的render。要是不是动态页面，我们硬要让ID重复那IE怎么搞呢？这个时候我们还是可以继续使用document.getElementById获取对象，只不过我们只能获取ID重复的那些对象中在HTML Render时第一个出现的对象。而这时重复的ID会在引用时自动变成一个数组，ID重复的元素按Render的顺序依次存在于数组中。<br /><br />－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－<br /><br />表单元素(form  input  textarea  select)与框架元素(iframe  frame)用  name  <br />这些元素都与表单(框架元素作用于form的target)提交有关,  在表单的接收页面只  <br />接收有name的元素,  赋ID的元素通过表单是接收不到值的.  <br /> <br />当然上述元素也可以赋ID值,  赋ID值的时候引用这些元素的方法就要变一下了.  <br />赋  name:  document.formName.inputName        document.frames("frameName")  <br />赋  ID    :  document.all.inputID                      document.all.frameID  <br /> <br />只能赋ID不能赋name的元素:(除去与表单相关的元素都只能赋ID)  <br />body  li  a  table  tr  td  th  p  div  span  pre  dl  dt  dd  font  b  等等</p>
		</span>
<img src ="http://www.blogjava.net/renyangok/aggbug/82658.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/renyangok/" target="_blank">保尔任</a> 2006-11-22 08:57 <a href="http://www.blogjava.net/renyangok/archive/2006/11/22/82658.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>标准HTML标签的属性扩展</title><link>http://www.blogjava.net/renyangok/archive/2006/11/22/82657.html</link><dc:creator>保尔任</dc:creator><author>保尔任</author><pubDate>Wed, 22 Nov 2006 00:56:00 GMT</pubDate><guid>http://www.blogjava.net/renyangok/archive/2006/11/22/82657.html</guid><wfw:comment>http://www.blogjava.net/renyangok/comments/82657.html</wfw:comment><comments>http://www.blogjava.net/renyangok/archive/2006/11/22/82657.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/renyangok/comments/commentRss/82657.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/renyangok/services/trackbacks/82657.html</trackback:ping><description><![CDATA[
		<p>作者： tomzc      Email:tangzc@gmail.com</p>
		<p>   我们常用的HTML其实就是规范化后的XML，在XML中任何一个节点都可以有他自定义的标签属性。在HTML中也一样可以，我们通过增加标签的属性可以大大加强了script对标签的操控能力。</p>
		<p>例如：</p>
		<p>   &lt;input type = "text" name = "text1" value = "111"&gt;</p>
		<p>   上面这个input标签它的属性，例如：name、value、type都是他的标准属性，但是我们也可以增加一些特有的标签，例如：</p>
		<p>    &lt;input type = "text" name = "text1" value = "111" dataType = "int" isnull="false" chineseName = "工资"&gt;</p>
		<p>  这样子一来我们就可以把这个标签描述的很清楚了，这个标签的数据类型为int，不允许为空，标签的中文名为“工资”。我们可以编写一个通用的判断函数，只要在表单提交之前遍历一下所有控件看看是否符合定义。这样子一来就可以省下很多重复的工作了。除了这个其实还有很多很多好的想法，这里我就不一一描述了。大家回去多点实践实践。</p>
<img src ="http://www.blogjava.net/renyangok/aggbug/82657.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/renyangok/" target="_blank">保尔任</a> 2006-11-22 08:56 <a href="http://www.blogjava.net/renyangok/archive/2006/11/22/82657.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Frame和iFrame异同</title><link>http://www.blogjava.net/renyangok/archive/2006/11/22/82653.html</link><dc:creator>保尔任</dc:creator><author>保尔任</author><pubDate>Wed, 22 Nov 2006 00:51:00 GMT</pubDate><guid>http://www.blogjava.net/renyangok/archive/2006/11/22/82653.html</guid><wfw:comment>http://www.blogjava.net/renyangok/comments/82653.html</wfw:comment><comments>http://www.blogjava.net/renyangok/archive/2006/11/22/82653.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/renyangok/comments/commentRss/82653.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/renyangok/services/trackbacks/82653.html</trackback:ping><description><![CDATA[
		<p>首先我们了解下一 Frameset标签 的相关属性:</p>
		<p>&lt;frameset cols=数字或比例,数字或比例&gt;(左右分割框架)或<br />&lt;frameset rows=数字或比例,数字或比例&gt;(上下分割框架)</p>
		<p>代码也可以写成这样 : <br />&lt;frameset cols=120,*&gt;</p>
		<p>用*的意思是左边的页面长度为120，而剩余的空间都留给右边的页面显示和使用。</p>
		<p>在&lt;frameset&gt;之后还要加上&lt;frame&gt;的代码:<br />1、如果左边页面的显示网页为left.htm， 而右边页面显示的网页为right.htm，代码将如下所示 : </p>
		<p>&lt;frameset cols=120,*&gt;<br />&lt;frame src="left.htm"&gt;<br />&lt;frame src="right.htm"&gt;<br />&lt;/frameset&gt; </p>
		<p>2、如果上边页面的显示网页为top.htm， 而下边页面显示的网页为foot.htm，代码将如下所示 : <br />&lt;frameset rows=30,*&gt;<br />&lt;frame src="top.htm"&gt;<br />&lt;frame src="foot.htm"&gt;<br />&lt;/frameset&gt;</p>
		<p>■&lt;frameset&gt;标签控制属性如下 : </p>
		<p>framespacing=控制两个frame之間的距离； <br />frameborder=控制frame外框的粗细； <br />border=控制外框粗细，不外框便设成0 <br />要分割页面的原始码如下，不須加上&lt;body&gt;标签 :</p>
		<p>&lt;html&gt;<br />&lt;head&gt;<br />&lt;title&gt; <br />我的网站<br />&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;frameset cols=200,* frameborder="0" framespacing="0" border="0"&gt;<br />&lt;frame src="left.htm"&gt;<br />&lt;frame src="right.htm"&gt;<br />&lt;/frameset&gt;<br />&lt;/html&gt; </p>
		<p>
				<br />■frame标签的其它属性如下：<br />&lt;frame&gt;是用来表述被分割的每一个小窗口的情况的，其主要属性有：</p>
		<p>src：指定每个frame链接文件的路径，即链接文件所在的目录。</p>
		<p>marginwidth：设置文件与左右边框的距离。</p>
		<p>marginheight：设置文件与上下边框的距离。</p>
		<p>noresize：禁止浏览者改变frame的大小。</p>
		<p>scrolling：设置滚动条是否显示，一共有三个参数：yes（显示）、no（不显示）和auto（由浏览器自动判断是否显示滚动条），缺省值是auto。</p>
		<p>name：设置frame的名字。(可控制超链接出现位置)</p>
		<p>
				<br />&lt;frame src="left.htm" name="left"&gt;<br />&lt;frame src="right.htm" name="right"&gt;</p>
		<p>比如我们想要在按下左边页面里的的链接时，只改变右边页面的內容，则在在左边页面的链接目标里要加上: <br />&lt;a href="<a href="http://bbs.cuiz.net">http://bbs.cuiz.net</a>" target="right"&gt;回论坛首页&lt;/a&gt;</p>
		<p>请注意链接中target的定义为_parent，这属于4个特殊的保留值。它们是： <br />_parent：在当前FRAMESET位置显示新href； <br />_top：   在当前整个窗口位置显示新href，比如本身FRAMESET位于另一个FRAMESET中； <br />_self：  强制在当前FRAME中显示新href； <br />_blank： 在新窗口中显示href；</p>
		<p>这里定义的是右边框架内显示。</p>
		<p>◆◆下面简要说明一下&lt;iframe&gt;标签的用法与属性◆◆</p>
		<p>  一、&lt;iframe&gt;也应该是框架的一种形式，它与&lt;frame&gt;不同的是，iframe可以嵌在网页中的任意部分。我们举第一个例子，具体代码如：<br />&lt;iframe width=420 height=330 frameborder=0 scrolling=auto src=URL&gt;&lt;/iframe&gt;，这里的URL可以是相对路径，也可以是绝对路径</p>
		<p>width表示宽度，height表示高度，可根据实际情况调整。<br />scrolling表示是否显示页面滚动条，可选的参数为auto、yes、no，如果省略这个参数，则默认为auto。</p>
		<p>  二、如何实现页面上的超链接指向这个嵌入的网页<br />只要给这个iframe命名就可以了。方法是&lt;iframe name=**&gt;，例如我命名为player，写入这句HTML语言&lt; iframe width=640 height=25 name=player frameborder=0 src=http://www.cuiz.net/player.htm&gt; &lt;/iframe&gt;，<br />然后，网页上的超链接语句应该写为：&lt;a href=URL target=cuiz&gt;打开播放器&lt;/a&gt;</p>
		<p>
				<br /> 下面是一个&lt;iframe&gt;标签实例：</p>
		<p>  &lt;iframe name="exobud_mp" src="PlayerMP/exobud.html"<br />   width="640" height="25" marginwidth="0" marginheight="0"<br />   border="0" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;</p>
		<p> ☆以上设定框架大小的数值仅供参考。一般来说，长条形状的播放器会占用面积大约为 640~760px(像素) 的宽度乘以 20~25px(像素) 的高度。<br /> (若使用字幕功能，需额外增加 60px 的高度)</p>
		<p>☆☆☆☆下面给出几个播放器加入页面内的范例☆☆☆☆</p>
		<p>  1、使用网页框架 (frameset) 方式的嵌入法范例(上下型--播放器在下边)：</p>
		<p>  &lt;frameset rows="*,25" framespacing="0" border="0" frameborder="0"&gt;<br />    &lt;frame name="index" src="<a href="http://bbs.cuiz.net">http://bbs.cuiz.net</a>" noresize&gt;<br />    &lt;frame name="exobudmp" src="PlayerMP/exobud.html" scrolling="no" noresize&gt;<br />  &lt;/frameset&gt;</p>
		<p>  2、使用网页框架 (frameset) 方式的嵌入法范例(上下型--播放器在上边)：</p>
		<p>  &lt;frameset rows="30,*" framespacing="0" border="0" frameborder="0"&gt;<br />    &lt;frame name="exobudmp" src="PlayerMP/exobud.html" scrolling="no" noresize&gt;<br />    &lt;frame name="index" src="<a href="http://bbs.cuiz.net">http://bbs.cuiz.net</a>" noresize&gt;<br />  &lt;/frameset&gt;</p>
		<p>  3、使用网页框架 (frameset) 方式的嵌入法范例(左右型--播放器在左边)：</p>
		<p>  &lt;frameset cols="200,*" framespacing="0" border="0" frameborder="0"&gt;<br />    &lt;frame name="exobudmp" src="PlayerMP/exobud.html" scrolling="no" noresize&gt;<br />    &lt;frame name="index" src="<a href="http://bbs.cuiz.net">http://bbs.cuiz.net</a>" noresize&gt;<br />  &lt;/frameset&gt;</p>
		<p>☆☆进行播放器嵌入网站的动作时，请注意：</p>
		<p>  1. 您必须了解HTML的框架语法如何应用，以及懂得利用纯文本编辑器来设定框架<br />     语法。若您仍未掌握框架语法的写法，请先在网路上搜索有关资料了解一下。</p>
		<p>  2. 无论使用任何方式的语法 (包括Javascript等) 将播放器嵌入网站，您都必须<br />     确保当浏览者转换网页时，不会同时整理播放器所在的网页，因而影响播放器<br />     的动作。</p>
		<p>  3. 如果您不熟悉HTML语法，最好不要使用以内嵌框架 (iframe) 的方式将播放器<br />     嵌入网站，除非您已明白您的网站版面设计适合使用以此方式嵌入播放器。</p>
		<p>  4. 以上说明使用框架 (frameset或iframe) 的方式将播放器嵌入网站，并不适用<br />     于以弹出式窗口 (Pop-up Window) 打开的播放器。(以上说明参考部分繁体版说明) </p>
<img src ="http://www.blogjava.net/renyangok/aggbug/82653.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/renyangok/" target="_blank">保尔任</a> 2006-11-22 08:51 <a href="http://www.blogjava.net/renyangok/archive/2006/11/22/82653.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>