XHTML与HTML之间的差异(转)

本文介绍了从HTML到XHTML的转换技巧,包括元素正确嵌套、元素关闭、小写字母使用、属性值加引号及避免属性简写等内容。同时对比了XHTML与HTML文档类型的声明方式。

HTML融入了许多XML规范,XHTML与HTML 4.01标准没有太多的不同,你只需要注意以下几点,并养成良好的习惯就可以从HTML转变为XHTML。

  • XHTML元素必须被正确地嵌套。
  • XHTML元素必须被关闭。
  • 标记名和属性名必须用小写。
  • 属性值必须加引号。
  • 属性不能简写。
  • 使用XHTML DTD声明文档类型。

另外,有些使用方法在XHTML中不鼓励使用,虽然现在的版本还支持,但应该尽量避免使用。

1、XHTML元素必须被正确地嵌套

在HTML中,某些元素可以像这样彼此不正确地嵌套:

<b><i>This text is bold and italic</b></i>

在XHTML中,所有元素必须彼此正确地嵌套:

<b><i>This text is bold and italic</i></b>

2、XHTML元素必须被关闭

在XHTML中,所有成对儿的标记必须要保留结束标记,不能只写开始标记。比如:

<p>This is a paragraph

上面的写法中,<p>标记没有关闭,正确的写法是:

<p>This is a paragraph</p>

在XHTML中,所有单个的标记也必须关闭。比如:<br>应写为<br />,<img href="t.gif">应写为<img href="t.gif" />等。

注意:有些版本的浏览器不能识别类似<br/>的标记,但在“/>”前加个空格就能识别了,所以应写为<br />。

3、标记名和属性名必须用小写

<P ALIGN="CENTER">This is a paragraph</P>

上面的写法中,标记名p、属性名align都应该改成小写。

4、属性值必须加引号

<img href="t.gif" width="80" onclick="setImg('t.gif')" />

上面的写法中,各属性值的引号不能省略。如果属性值内部需要引号,可以改为单引号进行分界(注:也可以外面用单引号,内部用双引号)。

5、属性不能简写

在HTML中,有些属性只有单一固定的值,这时可以只写属性名,不写属性值,但在XHTML中应该完整书写。如:

<input type="radio" checked>

checked是一个简写的属性,在XHTML中应该改为:

<input type="radio" checked="checked" />

与此类似的属性还有 readonly、noresize、selected、disable 等。

6、使用XHTML DTD声明文档类型

在每个XHTML文档中都必须使用XHTML DTD声明文档的类型,这才能保证你制作的是XHTML网页。

 HTML/XHTML文档结构
回顶部

以下是HTML 4.01文档结构:

<! doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
 
</head>
<body>
 
</body>
</html>

以下是XHTML 1.0文档结构:

<! 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">
<head>
 
</head>
<body>
 
</body>
</html>

doctype就是文档类型声明,前者声明文档是HTML 4.01,后者声明文档是XHTML 1.0。

在doctype声明中,声明了文档的根元素是 html,它在公共标识符被定义为 "-//W3C//DTD XHTML 1.0 Transitional//EN" 的DTD中进行了定义。浏览器将明白如何寻找匹配此公共标识符的DTD。如果找不到,浏览器将使用公共标识符后面的URL作为寻找DTD的位置。

注:doctype并非XHTML文档自身组成部分,它不是XHTML元素,不需要关闭。

<html>...</html>是文档的开始和结束,所有文档内容都放在这个区域里。

<head>...</head>是文档的头部,文档的说明和参数定义放在这个区域里。

<body>...</body>是文档的主体,需要在浏览器中显示的内容都放在这个区域里。

基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)内容概要:本文围绕“基于数据驱动的Koopman算子的递归神经网络模型线性化”展开,旨在研究纳米定位系统的预测控制问题,并提供完整的Matlab代码实现。文章结合数据驱动方法Koopman算子理论,利用递归神经网络(RNN)对非线性系统进行建模线性化处理,从而提升纳米级定位系统的精度动态响应性能。该方法通过提取系统隐含动态特征,构建近似线性模型,便于后续模型预测控制(MPC)的设计优化,适用于高精度自动化控制场景。文中还展示了相关实验验证仿真结果,证明了该方法的有效性和先进性。; 适合人群:具备一定控制理论基础和Matlab编程能力,从事精密控制、智能制造、自动化或相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于纳米级精密定位系统(如原子力显微镜、半导体制造设备)中的高性能控制设计;②为非线性系统建模线性化提供一种结合深度学习现代控制理论的新思路;③帮助读者掌握Koopman算子、RNN建模模型预测控制的综合应用。; 阅读建议:建议读者结合提供的Matlab代码逐段理解算法实现流程,重点关注数据预处理、RNN结构设计、Koopman观测矩阵构建及MPC控制器集成等关键环节,并可通过更换实际系统数据进行迁移验证,深化对方法泛化能力的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值