【HTML/XML 11】XML和HTML的混合使用

导读:在前面介绍了很多关于XML和HTML的东西,他们其实各有各的好处,在很多时候都需要结合起来使用。现在已经有XML和HTML结合的产物:XHTML(可扩展超文本标记语言)。在本篇博客中,则主要介绍通过引入命名空间的方法,进行XML和HTML混合使用的例子。


一、在XML中使用HTML

1.1,代码

<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css"?>
<!--HTML命名空间声明-->
<body xmlns:html="http://www.w3.org/TR/RCE-html40">
<html:h2 align="center">Angel测试XML中的HTML<html:hr></html:hr></html:h2>
<content>
	<h1 align="center">XML中的h1标签</h1>
	<html:h1 align="center">HTML中的h1标签</html:h1>
</content>
</body></span>

1.2,说明


在<body xmlns:html="http://www.w3.org/TR/RCE-html40">中,引入了HTML的命名空间,所以在XML文档中,通过增加前缀HTML,就可以使用HTML的标签和语法。如果,没有这句话,则会出现下面的结果:




二、在HTML中使用XML

2.1,代码

<span style="font-family:KaiTi_GB2312;font-size:18px;"><!--XML命名空间声明-->
<html xmlns:test>
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
	<title>测试HTML中的XML</title>
	<body>
		<h1 align="center">测试HTML中XML使用</h1>
		<hr></hr>
		<test:text style="display:block;position:relative;font-size:30;color:red;">这是XML标签的内容</test:text>
	</body>
</head></span>

2.2,说明


在<html xmlns:test>中,引入了xml的命名空间test,在代码中使用<test:text><./test:text>,而不是<text><./text>,是在告诉浏览器test并不是HTML的标记,是一个自定义的标记,所以浏览器会根据style属性设置的样式来显示text标记中定义的内容。如果没有前缀,那么浏览器会根据默认的格式来显示它,因为<text><./text>并不属于HTML标记。

没有前缀的效果:


三、扩展:数据岛

在HTML文档中使用<XML></XML>标记来嵌入xml数据时,就在HTML文档中形成了一个XML数据岛(data island)。数据岛是指存在于HTML页面中的xml代码。数据岛允许在HTML页面中集成XML,对于XML编写脚本,不需要通过脚本或<OBJECT>标签读取XML。几乎所有能够存在于一个结构完整的XML文档中的数据都能存在于一个数据岛中,包括处理指示、DOCTYPE声明和内部子集。

使用数据岛最为方便的方法是将XML数据保存为单独的XML文档,然后用<xml src="XML文档名称">。注意:编码串不能放在数据岛中。


四、总结

XML和HTML文档的混合使用,都是在各自的文档中引入对方的命名空间,从而进行操作。这就和做系统时的命名空间是一样的,当我们引入了一个命名空间后,就可以调用里面的方法。后续会接着深入的学习Schema文件和XPath语言等,有所收获的时候,会接着总结。接下来会了解一下XHTML,以及URI、URN、URL等基本知识点。

转载于:https://www.cnblogs.com/hhx626/p/6010367.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值