HTML和XML笔记

HTML对布局、外观方面很擅长,却极度缺乏对内容,也就是信息含义的表达能力.
XML将信息的存储和信息的显示分别开来.

XML文档必须是well-formed.
包括:
    所有元素都要正确地关闭;
    标签之间不能交叉;
    所有属性都得包上引号;

XML文档必须是valid的.
    用DTD(Document Type Definition)来定义在XML文档中出现的元素.也发展为XML Schema.在DTD中定义的称为词汇.


名称空间的原始目的,只是用来对一份文件中不同的语汇加以区分,指定 哪个网址不见得重要,只要能将词汇区分开来就好,所用的网址甚至不需要存在.
名称空间的规定用的是URI,而不是URL或者URN.
XML软件在处理文件之前,会先将所有前置字串(namespace prefix)还原成它们所代表的URI.
名称空间是借着属性来声明的,所以必须依附在一个元素标签里面.至于该放在哪个元素里,要看实际需要而定.
一般的做法是,在最外围的根元素标签里,先把所有的名称空间和要指定的前置字串都一一定义好.
XML有一个预设的名称空间,当然可用自己指定.

技巧:
    可以用名称空间的scope来将Html或者其它格式的语句添加到XML文件中.
<?xml version="1.0" encoding="GB2312" ?>
<?xml-stylesheet href="ie5_needs.css" type="text/css" ?>
<测试 xmlns="http://put-your-URL-here"
    xmlns:html="http://www.w3.org/TR/REC-html40">
<html:a href="http://2tigers.net">连接到两只老虎</html:a>
<html:form method="post" action="put-your-action-here">
<html:input type="submit" value="按我" name="clickme" />
</html:form>
</测试>

XHTML就像是XML和HTML的结合,无论是从结构上还是从功能上。
XHTML文档也被XML解析器来解析,并交给下游程序。
CDATA标记表示让解析器不动这个标记中的字符,把它们完全相同地交给下游程序,如浏览器,这样,对于内嵌的css或者javascript还是由浏览器来处理。

XSL在早期被分成两个部分,一部分就是现在的XSLT,主要用来将XML文件转换为其它形式的文件,如HTML等,另一个部分叫做FO(Fommatting Object),主要用来负责对转换后文件的显示。
XSLT的转换工作由XML处理器完成。但是,它的转换需要XML解析器的支持。具体的过程是:
    XML解析器将XML源文件和DTD文件解析,生成两颗源树,然后XSLT处理器便将这两颗源树结合并生成一颗结果树。这颗结果树可以是Html文件。

从具体的例子来看,XSL文件实际上定义了XML文件中各个标记的转换的原则。


从总的来看,

XML是对HTML缺点的一个补充,与xml有关还有css,xsl和dtd。

对于css,它是xml文件显示的一种方式,它只是定义xml中的若干标记的显示属性,比如字体大小、颜色等,在xml文件中,用<?xml-stylesheet href="**.css" type="text/css"?>来引用。如果引用后,在用浏览器打开某一个xml文件时,就会自动调用该css,用于显示。

对于xsl,它的应用方式是<?xml-stylesheet href="**.xsl" type="text/xsl"?>。xsl文件格式也严格遵守xml的格式。它实际上定义了许多的规则,以转换为HTML文件为例,在xsl文件中借助一些模版和预定义的命令,来转换xml文件。当然,要借助xsl处理器来调用该xsl文件。

而dtd文件,则是指定xml文件有效的标准,这个标准可以自己定义,也可用通用的标准。在dtd文件中,实际上是以某种格式化的形式,定义了xml文件中出现若干标记。只有在dtd文件中出现了的标记,才被xml解析器认为是valid的标记,也就实现了xml的有效化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值