XML三部曲之HTML的孪生兄弟


        HTML的孪生兄弟是谁?毫无疑问要说的是XML,作为一对孪生兄弟它们两个基本的语法类似,但外表和内在是不等价的。虽然XML很像HTML,但它们两个之间却有着本质的区别。

一、XML与HTML


       XML( eXtensible Markup Language)是一种可扩展的标记语言,和HTML语言语法类似,同属于标记语言。那到底如何区分它们呢?

  1、设计区别

       XML被设计为 传输和保存数据,其焦点是数据的内容。而HTML被设计用来 显示数据,其焦点是数据的外观。可以说HTML旨在显示信息,XML旨在传输信息。

  2、语法区别

        HTML的格式多样,其中有些标记可以不成对出现,XML要求所有的标记都必须成对出现;
        HTML的标签是固定的样式有限,XML可以进行任何扩展,标签类型可以自己定义;
        HTML可以有多个标记头,XML只允许有一个标记头;
        HTML标记不区分大小写,XML区分大小写。

二、XML详解


         曾记否在开发系统时使用的系统配置文档,是的它就是xml文档。作为系统的配置文件是xml的主要应用,同时它也可以用在Ajax或Web Services中传输数据。


  1、XML历史


        在详细了解XML基本用法前,我们先来看看标记语言的发展历史。
        XML的前身是SGML(The  Standard  Generalized  Markup  Language),它同时也是在HTML的基础上优化得到的。SGML是GML整理规范后的一种标准,但是SGML是一种非常严谨的文本描述法,过于庞大复杂,难以理解。同时W3C(万维网联盟)也发现了HTML的问题,如:不能解释类似影音文件、化学公式等其它形式的内容,且性能较差不易于扩展、弹性差等问题。为了解决上述问题,专家们使用SGML简易制作,并依照HTML的发展经验开发了XML。    

  2、XML用法


   先看一个XML实例
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/xsl' href='content.xsl'?>
<book>
	<书籍列表>
		<计算机书籍>
			<bookname isbn="xxx1234567"><<XML应用大全>></bookname>
			<price>39.00</price>
		</计算机书籍>
	</书籍列表>
<!-- 我加上的注释 -->
	<书籍列表>
		<计算机书籍>
			<bookname><![CDATA[Oracle应用大全《《《》》》‘’;;‘’“”]]></bookname>
			<price>39.00</price>
		</计算机书籍>
		<计算机书籍>
			<bookname>Java应用大全</bookname>
			<price>39.00</price>
		</计算机书籍>
	</书籍列表>
</book>


   2.1 声明


        格式良好的XML文件,要以XML声明开始,即上面示例中的<?xml version="1.0" encoding="utf-8"?>,它提供了关于文档的基本信息。其中encoding表示XML文件呢使用的字符编码方式,要保存的XML文档编码格式必须是encoding属性值。

  2.2 元素


        元素是开始标签、结束标签及两者之间的所有内容。
        和HTML基本组成相同,XML也是有基本的标签构成,其中标签的格式和HTML标签相同,不同的是XML标签有开始标签就必须要有结束标签,而且严格区分大小写。它允许标签格式嵌套,但必须正确嵌套。
        XML结构上是一种树状结构,它的内容必须只有一个根元素,其它的元素必须嵌套在根元素内。如:上例中的<book></book>即为根元素。


  2.3实体引用


        实体引用即使用特定的格式在XML文档中打印出一些特殊的符号,类似于下面要说的CDATA中的文本。
<book>
	<书籍列表>
		<计算机书籍>
			<bookname isbn="xxx1234567"><<XML应用大全>></bookname>
			<price>39.00</price>
		</计算机书籍>
	</书籍列表>
</book>
<!-- 使用IE打开上面的代码查看下结果 -->

        基本的实体引用不在详述。


  2.4 特殊标签


        CDATA是特殊的标签,它能够使在其内的所有内容以文本的形式打印输出。形式如下:
<![CDATA[文本内容]]>

<?xml version='1.0' encoding='utf-8'?>
<书籍列表>
		<计算机书籍>
			<bookname><![CDATA[Oracle应用大全《《《》》》‘’;;‘’“”]]></bookname>
			<price>39.00</price>
		</计算机书籍>
<书籍列表>


  2.5 杂烩


         (1)XML文档用图整理出来其实是一种树状结构,在显示时常使用IE打开;
         (2)XML标签中属性的值必须使用引号括起来(单引号或双引号,但必须保证一致);
         (3)在含有复杂内结构的XML文档中可以使用xsl格式美化xml的显示, 格式: <?xml-stylesheet type='text/xsl' href=' 需要转换的 XML 文档名称 .xsl'?>。

三、注意


    1、要有声明:<?xml version="" encoding=""?>;
    2、在保存时要根据encoding中的编码类型保存成相应的类型,在保存时别忘记选择保存类型;
    3、只有一个顶元素;
    4、大小写敏感
    5、属性的值必须使用引号括起来(单引号或双引号);
    6、要有始有终;
    7、嵌套形式要正确。
   
    上面对XML的基本应用进行了讨论,XML很简单吧。是不是XML就这些内容了呢?当然不是,从它的基本名字中可以看出它也是一种编程语言,那就应该具有编程语言的一些特性,如一些语言中的模板或者Java中的API。是的,XML也可以定义自己的语法结构,可以向编程语言一样编写模板函数,只是在XML中它叫做合法的XML,即接下来要说的经DTD或Schema验证的合法的XML。
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值