JAVA xml XHTML、DHTML、SHTML
DHTML
http://user.qzone.qq.com/170475387/blog/1190130375
DHTML
http://zhidao.baidu.com/question/21494758.html?fr=qrl3
http://zhidao.baidu.com/question/10046642.html?fr=qrl3 http://zhidao.baidu.com/question/24644830.html?fr=qrl3 http://baike.baidu.com/view/8389.htm wc3 html validator http://validator.w3.org/check dhtml、shtml、 xhtml DHTML=html4.0+cssl+dom+css(asp) XHTML=html4.0+xhtml1.0(jsp) SHTML=ssi(unix) shtml: shtml是一种用于SSI技术的文件。 也就是Server Side Include--SSI 服务器端包含指令。 一些Web Server有SSI功能的话。 会对shtml文件特殊招待。 先扫一次shtml文件看没有特殊的SSI指令存在。 有就按Web Server设定规则解释SSI指令。 解释完后跟一般html一起调去客户端。问起SHTML和HTML的区别,如果用一句话来解释就是:SHTML 不是HTML而是一种服务器 API,shtml是服务器动态产成的html. shtml: 问起SHTML和HTML的区别,如果用一句话来解释就是:SHTML 不是HTML而是一种服务器 API,shtml是服务器动态产成的html. 虽然两者都是超文本格式,但shtml是一种用于SSI技术的文件。 也就是Server Side Include--SSI 服务器端包含指令。 如果Web Server有SSI功能的话(大多数(尤其是基于Unix平台)的WEB服务器如Netscape Enterprise Server等均支持SSI命令)。 会对shtml文件特殊招待。 先扫一次shtml文件看没有特殊的SSI指令现在。 有就按Web Server设定规则解释SSI指令。 解释完后跟一般html一起掉去客户端。 shtml 使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为"服务器端嵌入"或者叫"服务器端包含",是一种类似于ASP的基于服务器的网页制作技术。 SSI工作原理: 将内容发送到浏览器之前,可以使用“服务器端包含 (SSI)”指令将文本、图形或应用程序信息包含到网页中。例如,可以使用 SSI 包含时间/日期戳、版权声明或供客户填写并返回的表单。对于在多个文件中重复出现的文本或图形,使用包含文件是一种简便的方法。将内容存入一个包含文件中即可,而不必将内容输入所有文件。通过一个非常简单的语句即可调用包含文件,此语句指示 Web 服务器将内容插入适当网页。而且,使用包含文件时,对内容的所有更改只需在一个地方就能完成。 因为包含 SSI 指令的文件要求特殊处理,所以必须为所有 SSI 文件赋予 SSI 文件扩展名。默认扩展名是 .stm、.shtm 和 .shtml Web 服务器在处理网页的同时处理 SSI 指令。当 Web 服务器遇到 SSI 指令时,直接将包含文件的内容插入 HTML 网页。如果“包含文件”中包含 SSI 指令,则同时插入此文件。除了用于包含文件的基本指令之外,还可以使用 SSI 指令插入文件的相关信息(如文件的大小)或者运行应用程序或 shell 命令。 网站维护常常碰到的一个问题是,网站的结构已经固定,却为了更新一点内容而不得不重做一大批网页。SSI提供了一种简单、有效的方法来解决这一问题,它将一个网站的基本结构放在几个简单的HTML文件中(模板),以后我们要做的只是将文本传到服务器,让程序按照模板自动生成网页,从而使管理大型网站变得容易。 所以,利用SHTML格式的页面目的和 ASP 差不多,但是因为是 API 所以运转速度更快,效率更高,比ASP快,比HTML慢,但由于可以使用服务器端包含,因此使页面更新容易(特别是批量更新banner,版权等),想象一下吧,你有一段 HTML,要在中间穿插一些特殊的服务端脚本,比如插入其他 HTML 段落,你选择 ASP 来完成这个任务,但是如果任务更繁重,需要更多的时间,比如 5 s,这个时候你不用 ASP 而用 SHTML,或许处理时间就只用 4 s 了. dhtml: 确切地说,DHTML只是一种制作网页的概念,实际上没有一个组织或机构推出过所谓的DHTML标准或技术规范之类的。DHTML不是一种技术、标准或规范,DHTML只是一种将目前已有的网页技术、语言标准整和运用,制作出能在下载后仍然能实时变换页面元素效果的网页的设计概念。 DHTML 就是动态的html,Dynamic HTML 传统的html页面是静态的,Dhtml就是在html页面上加入了javascript脚本,使其能根据用户的动作作出一定的响应,如鼠标移动到图片上,图片改变颜色,移动到导航栏,弹出一个动态菜单,等等效果 DHTML大致包含以下网页技术、标准或规范: HTML 4.0 没什么好说的,网页的基础语言标准。 CSSL 注意!不是CSS,是CSSL,它是Clent-Side Scripting Language的缩写,译作“客户端脚本语言”,主要有JavaScript(JS),VBScript(VBS),JScript。Netscape主要支持JS,IE主要支持JS,VBS和JScript。 DOM Document Object Model的缩写,译作“文档对象模型”,是W3C日前极力推广的web技术标准之一,它将网页中的内容抽象成对象,每个对象拥有各自的属性(Properties)、方法(Method)和事件(Events),这些都可以通过上面讲到的CSSL来进行控制。IE和NS的对象模型都是以W3C的公布的DOM为基准,加上自己的Extended Object(扩展对象)来生成的。 CSS 这才是Cascading Style Sheets(层叠样式表单)的缩写,也是在论坛讨论最多的技术规范,它是HTML的辅助设计规范,用来弥补HTML在排版上的所受的限制导致的不足,它是DOM的一部分。理论上说通过CSSL动态地改变CSS属性可以做出任何你想要的页面视觉效果。 所以,简单地说,要实现DHTML,就是以HTML为基础,运用DOM将页面元素对象化,利用CSSL控制这些对象的CSS属性以达到网页的动态视觉效果。 xhtml: div+css+vml。。。 HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言,看起来与HTML有些相象,只有一些小的但重要的区别,XHTML就是一个扮演着类似HTML的角色的XML,所以,本质上说,XHTML是一个过渡技术,结合了XML(有几分)的强大功能及HTML(大多数)的简单特性。 2000年底,国际W3C(World Wide Web Consortium)组织公布发行了XHTML 1.0版本。XHTML 1.0是一种在HTML 4.0基础上优化和改进的的新语言,目的是基于XML应用。XHTML是一种增强了的HTML,它的可扩展性和灵活性将适应未来网络应用更多的需求。下面是W3C的HTML工作组主席Steven Pemberton回答的关于XHTML的常见基础问题。 (1)XHTML解决HTML语言所存在的严重制约其发展的问题。 HTML发展到今天存在三个主要缺点: 不能适应现在越多的网络设备和应用的需要,比如手机、PDA、信息家电都不能直接显示HTML;由于HTML代码不规范、臃肿,浏览器需要足够智能和庞大才能够正确显示HTML; 数据与表现混杂,这样你的页面要改变显示,就必须重新制作HTML。因此HTML需要发展才能解决这个问题,于是W3C又制定了XHTML,XHTML是HTML向XML过度的一个桥梁。 (2)XML是web发展的趋势,所以人们急切的希望加入XML的潮流中。XHTML是当前替代HTML4标记语言的标准,使用XHTML 1.0,只要你小心遵守一些简单规则,就可以设计出既适合XML系统,又适合当前大部分HTML浏览器的页面。这个意思就是说,你可以立刻设计使用XML,而不需要等到人们都使用支持XML的浏览器。这个指导方针可以使web平滑的过渡到XML。 (3)使用XHTML的另一个优势是:它非常严密。当前网络上的HTML的糟糕情况让人震惊,早期的浏览器接受私有的HTML标签,所以人们在页面设计完毕后必须使用各种浏览器来检测页面,看是否兼容,往往会有许多莫名其妙的差异,人们不得不修改设计以便适应不同的浏览器。 (4)XHTML是能与其它基于XML的标记语言、应用程序及协议进行良好的交互工作。 (5)XHTML是Web标准家族的一部分,能很好在无线设备等其它用户代理上。 (6)在网站设计方面,XHTML可助你去掉表现层代码的恶习,帮助你养成标记校验来测试页面工作的习惯。 XML: 结构化的信息中包含了一些内容(例如文字,图片等)和一些指示出内容的重现手段的标记(例如,在一个章节头部的信息和其脚注处的信息是有不同含义的。)所有的文档都有不同的结构。一种标记语言,是定义文档结构的机制。XML规范定义了一个对文档进行标记的标准。 |
HTML4.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>MyHtml.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
This is my HTML page. <br>
</body>
</html>
XHTML
- • 什么是XHTML
- • XHTML简介
- • XHTML1.0的标准定义
- • XHTML 1.0最主要的优势
- • 什么是XHTML
- • XHTML简介
- • XHTML1.0的标准定义
- • XHTML 1.0最主要的优势
http://www.hoodong.com/wiki/XHTML
<script src="http://www.hoodong.com/js/doccatalog.js" type="text/javascript"></script>
XHTML是The Extensible HyperText Markup Language(可扩展标识语言)的缩写。HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言,看起来与HTML有些相 象,只有一些小的但重要的区别,XHTML就是一个扮演着类似HTML 的角色的XML ,所以,本质上说,XHTML是一个过渡技术,结合了部分XML的强大功能及大多数HTML的简单特性。
2000年底,国际W3C 组 织(World Wide Web Consortium)组织公布发行了XHTML 1.0版本。XHTML 1.0是一种在HTML 4.0基础上优化和改进的的新语言,目的是基于XML应用。XHTML是一种增强了的HTML,它的可扩展性和灵活性将适应未来网络应用更多的需求。 XML虽然数据转换能力强大,完全可以替代HTML,但面对成千上万已有的基于HTML语言设计的网站,直接采用XML还为时过早。因此,在 HTML4.0的基础上,用XML的规则对其进行扩展,得到了XHTML。所以,建立XHTML的目的就是实现HTML向XML的过渡。目前国际上在网站 设计中推崇的WEB标准 就是基于XHTML的应用(即通常所说的CSS+DIV )。
XHTML - XHTML简介
XHTML是当前和未来的文档标准之一,是对HTML4的重述、延伸和扩展。XHTML文档类型是基于XML,并最终为XML客户端服务的。
XHTML1.0是XHTML的第一个版本,它是作为XML1.0的应用对HTML4的三个版本的重新陈述。它将成为一种既符合XML标准,又能被HTML标准浏览器所识别的文档标记语言。
那些转向XHTML的开发者将会发掘下列优点:
XHTML是和XML保持一致的,同样地,它也是能被将来的XML工具察看、编辑和验证的。
XHTML文档在旧的基于HTML的浏览器中能够表现得和在新的基于XHTML的浏览器中一样出色。
XHTML在应用上,既能够利用HTML的文档对象模块(DOM),又能利用XML的文档对象模块。
在XHTML家族的发展过程中,XHTML格式的文档将会活跃在各类多种多样的XHTML环境之中。
XHTML是英特网发展的新的一步。在逐步转向XHTML的今日,文档开发者们能在保持向后和向前的兼容性的同时进入XML的殿堂并享受随之而来的种种优点。
XHTML - XHTML1.0的标准定义
1. 文档格式
1.1 严格定义的文档
一份严格定义的XHTML文档是一份符合下列标准的文档:
应该通过三种之一的DTD的验证。
文档的根元素应该是<html>。
文档的根元素必须通过xmlns属性来指定XHTML词汇表。XHTML词汇表应该定义成http://www.w3.org/1999/xhtml 在文档里的根元素之前应该有文档类型申明的语句。文档类型申明中的public标识符必须引用,并使用三种DTD中的一种的正式public标识符引用。改变系统标识符可以用来反映本地的系统约定。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "DTD/xhtml1-frameset.dtd">
以下是一个短小的XHTML文档示范
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml " xml:lang="en" lang="en">
<head>
<title>Virtual Library</title>
</head>
<body>
<p>Moved to <a href="http://vlib.org/">vlib.org</a>.</p >
</body>
</html>
请注意,在上述例子中包含了XML申明。像上述的XML申明并不是所有XML文档必须的。XHTML文档作者们强烈建议在所有文档中使用XML申明。当字符集超出了默认的UTF-8或UTF-16的范围时,这样一个申明是必须的。
1.2 XHTML和其它词汇表一起使用
XHTML词汇表可以和其它词汇表一起使用,即使这样一份文档并不是上述严格定义的。今
后W3C将对这类混合使用词汇表的文档进行标准的格式化定义。
下面是一个在XHTML1.0中使用MATHML的例子:
<html xmlns="http://www.w3.org/1999/xhtml " xml:lang="en" lang="en">
<head>
<title>A Math Example</title>
</head>
<body>
<p>The following is MathML markup:</p>
<math xmlns="http://www.w3.org/1998/Math/MathML ">
<apply> <log/>
<logbase>
<cn> 3 </cn>
</logbase>
<ci> x </ci>
</apply>
</math>
</body>
</html>
下面是XHTML1.0在其他类型的XML词汇表中使用的例子:
<?xml version="1.0" encoding="UTF-8"?>
<!-- initially, the default namespace is "books" -->
<book xmlns='urn:loc.gov:books'
xmlns:isbn='urn:ISBN:0-395-36341-6' xml:lang="en" lang="en">
<title>Cheaper by the Dozen</title>
<isbn:number>1568491379</isbn:number>
<notes>
<!-- make HTML the default namespace for a hypertext commentary -->
<p xmlns='http://www.w3.org/1999/xhtml'>
This is also available <a
href="http://www.w3.org/">online</a >.
</p>
</notes>
</book>
2. 客户端兼容性
一个和XHTML兼容的客户端必须符合以下标准:
为符合XML1.0推荐标准,客户端必须分析和评估XHTML文档是否是格式化(Well-Formedness)的。如果是一个验证了(validating)的客户端,那它必须进一步按照DTD验证文
档是否有效(validate)。
当客户端是申明支持本规范定义的设备(Facilities),或按照本规范进行标准的引用,那么也必须按照规范定义来验证设备。
当客户端按照普通XML文档来处理XHTML文档时,应该只有id属性被作为片断标识符。
当客户端遇到不能识别的元素时,其内容将被返回。
当客户端遇到不能识别的属性时,应该忽略整个属性内容(包括属性的名称和值)。
当客户端遇到不能识别的属性的值时,应该使用默认的属性值代替。
当客户端遇到不能识别的实体引用(可能是在外部的未读子集中)时,将返回用来代替实体的字符(以&开头,以;结尾)。
当客户端再返回内容的时候,如果遇到能识别但不能返回的字符或字符实体引用时,客户端应该以一种让用户清晰地知道文档难以用普通的方法返回的途径显示文档。
以下字符在XML中被定义为纯空字符(whitespace):
Space ( )
Tab ( )
Carriage return (
)
Line feed (
)
XML处理器将不同系统的行终止符处理成一种简单的Line-feed字符来传递给应用程序。
并且在XHTML处理器中,下列字符也必须被识别为纯空子符:
Form feed ( )
Zero-width space (?)
在处理元素时,当"xml:space"属性被置为"preserve"时,所有的纯空字符将被原封不动
地保留(开头和结尾的纯空字符将被删除)。否则,纯空子符将按照以下规则处理:
围绕块元素的纯空子符将被删除。
删除整个注释并不影响纯空子符的处理。在注释两头的纯空子符将加倍处理。
在块元素内部开头和结尾的纯空子符将被删除。
在块元素内部,line feed字符将被转换成space字符("xml:space"被置成"preserve"的情况除外)。
连续的纯空字符将被置换成一个单独的space字符("xml:space"被置成"preserve"的情况除外)。
关 于译文,客户端应用最适合于撰写文档的语言的风格来返回文档内容。在一个以拉丁文为主的脚本中,ASCII的空格字符被象征性地用来为拉丁语法规范的单词 分界和排字纯空字符编码;在一个以NAGARI文为主的脚本中,语法规则中的单词分界将被编码成ZW空格,而在排字输出的时候则不会被象征性地表现出来; 阿拉伯语的脚本中,排字纯空字符用space字符来做编码,也使用ZW空格来做“内部”分界的编码;而一个中文脚本通常不使用上述方法编码。
3. XHTML和HTML4的区别
3.1 文档必须是结构化的
“结构化”是XML提出的新的概念。从本质上来说,就是所有的元素都必须有结束标签(或者以一种特殊的方式呈现——下述),并且符合嵌套规则。
即使交错标签在SGML中是非法的,可是目前很多浏览器仍然允许这种写法。
正确:符合嵌套规则
<p>here is an emphasized<em>paragraph</em>.</p>
错误:交错标签
<p>here is an emphasized<em>paragraph.</p></em>
3.2 元素和属性的名称必须是小写的
XHTML文档在使用HTML的元素和属性时必须使用小写字母。导致这种差异的原因是,XML区分大小些。
3.3 非空的元素必须有结束标签
在基于SGML的HTML4中,这样的元素被允许忽略结束标签;在这些元素后有隐藏的结束标签。在基于XML的XHTML中,这种忽略是非法的。除了在DTD中申明的空元素,所有元素必须有结束标签。
正确:结尾了的元素<p>here is a paragraph.</p><p>here is another paragraph.</p>
错误:未结尾的元素
<p>here is a paragraph.<p>here is another paragraph.
3.4 所有属性值必须用引号引用
所有属性值必须用引号引用,即使是属性值为数字的属性。
正确:使用引号的属性值
<table rows="3">
错误:未使用引号的属性值
<table rows=3>
3.5 关于简化属性
XHTML不支持简化属性。属性-值必须成对完整出现。
正确:非简化属性
<dl compact="compact">
错误:简化属性
<dl compact>
3.6 关于空元素
空元素必须有结束标签或以/>结尾。例如:<br/>或<hr></hr>
正确:结束了的空标签
<br/><hr/>
错误:未结束的空标签
<br><hr>
3.7 属性值中纯空字符的处理
在属性值中,客户端将跳过开始和结尾的纯空字符并把连续的纯空字符转换为单一的空格。
3.8 脚本和样式属性
在XHTML中,脚本和样式属性被申明成能包含#PCDATA类内容的属性。结 果,<和&将被处理成标记的开始,像<和&这样的实体将被客户端各自处理成对于<和&的实体引用。在一个有 CDATA标记的部分外放置脚本和样式属性,将不支持这种扩展。
<script>
<![CDATA[
... unescaped script content ...
]]>
</script>
可以选择使用扩展脚本和样式元素。
3.9 SGML禁令
SGML给DTD撰写者以禁止某些特定元素嵌套在另一元素内的能力。这在XML里是无法实现的。例如,HTML 4 Strict DTD里禁止了在一个a元素里嵌套另一个a元素。这在XML里是无法描述的。
3.10 伴随元素的“id”和“name”属性
HTML4 给a, applet, form, frame, iframe, img和map定义了name属性。HTML4也推出了id属性。它们都被用作片断标识符。
在XML中,片断标识符是ID类型,并且每个元素只能拥有单一的ID类型。所以,在XHTML1.0中,id属性就被定义为了ID类型。为了确定一份XHTML文档是结构化了的XML文档,必须用id属性来做片断标识符,即使某元素曾经拥有name属性。
请注意,在XHTML1.0中,name元素是不推荐使用的,并将在以后的版本中去除。
XHTML - XHTML 1.0最主要的优势
XML是web发展的趋势,所以人们急切的希望加入XML的潮流中。使用XHTML 1.0,只要你小心遵守一些简单规则,就可以设计出既适合XML系统,又适合当前大部分HTML浏览器的页面。这个意思就是说,你可以立刻设计使用 XML,而不需要等到人们都使用支持XML的浏览器。这个指导方针可以使web平滑的过渡到XML。
另一个使用XHTML的优势是:它非常严密。当前网络上的HTML的糟糕情况让人震惊,早期的浏览器接受私有的HTML标签,所以人们在页面设计完毕后必须使用各种浏览器来检测页面,看是否兼容,往往会有许多莫名其妙的差异,人们不得不修改设计以便适应不同的浏览器。
用XML我们可以重新建立制度,浏览器制造商联合采用"严格的错误防御标准",如果XML代码不兼容,浏览器拒绝显示页面,这样设计工作在发布前必须修正每一个错误。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>MyXhtml.xhtml</title>
<meta http-equiv="keywords" content="enter,your,keywords,here" />
<meta http-equiv="description" content="A short description of this page." />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<!--<link rel="stylesheet" type="text/css" href="styles.css">-->
</head>
<body>
<p>
This is my XHTML page.
</p>
</body>
</html>
表格中有两行 左边是超链右边是显示点击超链后的另一个页面
<html>
<head>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<title>这是第一个HTML</title>
</head>
<frameSet rows="10%,*" border="1">
<frame name="top" src="top.html" bordercolor="1">
<frameSet cols="20%,*" border="1">
<frame name="left" src="left.html" frameborder="1">
<frameSet rows="80%,*" border="1">
<frame name="body" src="body.html" SCROLLING="NO" frameborder="1">
<frame name="foot" src="foot.html" SCROLLING="NO" frameborder="1">
</frameSet>
</frameSet>
</frameSet>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>LeftRight.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<div title="title" align="center">left</div>
<a href="body4left.html" target="body" >body.html</a>
</body>
</html>
表格中有两行 左边是超链右边是显示点击超链后的另一个页面
一种方式在右边td中使用iframe ,然后用iframe.src=×××
<html>
<body>
<div>
<span
style="width: 20%; height: 500px; float: left; background-color: #999900;">
<a href="gs.gif" target="a">链接一</a> <br>
<a href="js.gif" target="b">链接二</a>
</span>
<table>
<tr>
<td> <iframe name="a"></iframe></td>
<td> <iframe name="b"></iframe></td>
</tr>
</table>
</div>
</body>
</html>
另一种是用innerHTML方式