导读:在前面介绍了很多关于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等基本知识点。

【HTML/XML 11】XML和HTML的混合使用的更多相关文章

  1. 报错:Unable to load configuration. - action - file:/E:/apache-tomcat-8.0.37/webapps/20161102-struts2-3/WEB-INF/classes/struts.xml:11:73

    第一种报错: 严重: Exception starting filter struts2Unable to load configuration. - action - file:/E:/apache ...

  2. Unable to load configuration. - action - file:/F:/apache-tomcat-8.0.30/webapps/test1Struts2/WEB-INF/classes/struts.xml:11:71

    Unable to load configuration. - action - file:/F:/apache-tomcat-8.0.30/webapps/test1Struts2/WEB-INF/ ...

  3. Linq to XML 读取XML 备忘笔记

    本文转载:http://www.cnblogs.com/infozero/archive/2010/07/13/1776383.html Linq to XML 读取XML 备忘笔记 最近一个项目中有 ...

  4. XML.ObjTree -- XML source code from/to JavaScript object like E4X

    转载于:http://www.kawa.net/works/js/xml/objtree-try-e.html // ========================================= ...

  5. Querying Microsoft SQL Server 2012 读书笔记:查询和管理XML数据 1 -使用FOR XML返回XML结果集

    XML 介绍 <CustomersOrders> <Customer custid="1" companyname="Customer NRZBB&qu ...

  6. File Templates for web.xml & web-fragment.xml (Servlet 2.3, 2.4, 2.5 + 3.0)

    As I sometimes need these, I have compiled a list of the valid headers of the web.xml and web-fragme ...

  7. hadoop三个配置文件的参数含义说明core-site.xml,hdfs-site.xml,mapred-site.xml

    配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-site.xml三个配置文件,默认下来,这些配置文件都是空的,所以很难知道这些配置文件有哪些配置可以生 ...

  8. Spring基础——配置文件pom.xml,web.xml,ApplicationContext.xml

    Spring配置文件——复制粘贴即用 为了以后兼容SSM框架,直接创建Maven Project,包结构如下图. pom.xml <project xmlns="http://mave ...

  9. XML和XML解析

    1. XML文件: 什么是XML?XML一般是指可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 2.XML文件的优点: 1)XML文档内容和结构完全分离. 2 ...

随机推荐

  1. 四层LB和七层LB

    总结: 基于MAC地址玩的是二层(虚拟MAC地址接收请求,然后再分配到真实的MAC地址),      基于IP地址玩的是三层(虚拟IP地址接收请求,然后再分配到真实的IP地址),      基于IP地 ...

  2. [HTMLDOM]onmousedown、onmouseup 以及onclick事件触发顺序

    摘自w3school:http://www.w3school.com.cn/htmldom/dom_events.asp onmousedown.onmouseup 以及 onclick 事件是鼠标点 ...

  3. semanage: 未找到命令

    [root@hn ~]# semanage port -l|grep ssh-bash: semanage: 未找到命令 yum -y install policycoreutils-python

  4. Java注解处理器--annotation学习四

    Java中的注解(Annotation)是一个很神奇的东西,特别现在有很多Android库都是使用注解的方式来实现的.一直想详细了解一下其中的原理.很有幸阅读到一篇详细解释编写注解处理器的文章.本文的 ...

  5. 基于HTML5的多张图片上传

    图片上传之前也有写过demo,不过是单张上传的,最近有个业务需求是需要多张上传的,于是乎从新改写了一下 HTML结构: 1 2 3 4 <div class="container&qu ...

  6. jQuery如何动态添加具有删除按钮的行

    代码实例如下: <!DOCTYPE html><html><head><meta charset=" utf-8"><meta ...

  7. wpf mvvm使用问题集锦

    问题一.usercontrol1控件使用了mvvm数据绑定,usercontrol2也使用了mvvm数据绑定,则 以下是伪代码 <usercontrol2 datacontent="{ ...

  8. Wix安装包权限问题

    Wix在安装完成之后,如果遇到非管理员用户(域用户或Win7+系统,UAC权限问题等),修改配置文件(setting.ini)文件时,会遇到文件权限为只读,无法修改问题: 解决方案有两种: 首先添加U ...

  9. proxmox3.2安装FreeBSD或者FreeNAS注意事项

    别的不多说了,白般尝试,终于安装成功,原来硬件要如下设置才行,如下: 1)内存要开大点,512M  800M都不行,最后开导2G才可以,如下: 2)kvm硬件虚拟化一定要选择“否”,默认是“是”,这里 ...

  10. 最大公约数Greatest Common Divisor(GCD)

    一 暴力枚举法 原理:试图寻找一个合适的整数i,看看这个整数能否被两个整形参数numberA和numberB同时整除.这个整数i从2开始循环累加,一直累加到numberA和numberB中较小参数的一 ...