一,什么是XML
XML(eXtensible Markup Language)即可扩展标记语言,它与HTML一样,都是处于SGML,标准通用语言。
XML是The Extensible Markup Language(可扩展标识语言)的简写。目前推荐遵循的是W3C于2000年10月6日发布的XML1.0,参考(http://www.w3.org/TR/2000/REC-XML-20001006)。和HTML一样,XML同样来源于SGML,但XML是一种能定义其他语言的语。XML最初设计的目的是弥补HTML的不足,以强大的扩展性满足网络信息发布的需要,后来逐渐用于网络数据的转换和描述。关于XML的好处和技术规范细节这里就不多说了,网上有很多资料,也有很多书籍可以参考。
XML与Access,Oracle和SQL Server等数据库不同,XML仅仅是展示数据。
XML的简单使其易于在任何应用程序中读写数据,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。
XML不象HTML,HTML仅仅提供了在页面上显示信息的通用方法(没有上下文相关和动态功能) ,XML则对数据赋予上下文相关功能,它继承了SGML的大部分功能,却使用了不太复杂的技术。
二,XML相关语法
XML去掉了之前令许多开发人员头疼的SGML的随意语法。在XML中,采用了如下的语法:
1 任何的起始标签都必须有一个结束标签。
2 可以采用另一种简化语法,例如<tag />。XML解析器会将其翻译成<tag></tag>。
3 标签必须按合适的顺序进行嵌套
4 所有的特性都必须有值。
5 所有的特性都必须在值的周围加上双引号。
每个XML文档都由XML序言开始,在前面的代码中的第一行便是XML序言,<?xml version="1.0"?>。这一行代码会告诉解析器和浏览器,这个文件应该按照前面讨论过的XML规则进行解析。第二行代码,<books>,则是文档元素(document element),它是文件中最外面的标签(我们认为元素(element)是起始标签和结束标签之间的内容)。所有其他的标签必须包含在这个标签之内来组成一个有效的XML文件。XML文件的第二行并不一定要包含文档元素;如果有注释或者其他内容,文档元素可以迟些出现。
范例文件中的第三行代码是注释,你会发现它与HTML中使用的注释风格是一样的。这是XML从SGML中继承的语法元素之一。
页面再往下的一些地方,可以发现<desc>标签里有一些特殊的语法。<![CDATA[ ]]>代码用于表示无需进行解析的文本,允许诸如大于号和小于号之类的特殊字符包含在文本中,而无需担心破坏XML的语法。文本必须出现在<![CDATA[和]]>之间才能合适地避免被解析。这样的文本称为Character Data Section,简称CData Section。
下面的一行就是在第二本书的定义之前的:
<?page render multiple authors ?>
虽然它看上去很像XML序言,但实际上是一种称为处理指令(processing instruction)的不同类型的语法。处理指令(以下简称PI)的目的是为了给处理页面的程序(例如XML解析器)提供额外的信息。PI通常情况下是没有固定格式的,唯一的要求是紧随第一个问号必须至少有一个字母。在此之后,PI可以包含除了小于号和大于号之外的任何字符串序列。
最常见的PI是用来指定XML文件的样式表:
这个PI一般会直接放在XML序言之后,通常由Web浏览器使用,来将XML数据以特殊的样式显示出来。
三,xml用途
丰富文件(Rich Documents)- 自定文件描述并使其更丰富
属于文件为主的XML技术应用
标记是用来定义一块数据应该如何呈现
解释数据(Metadata)- 描述其它文件或在线信息
属于数据为主的XML技术应用
标记是用来说明一块资料的意义
组态档案(Configuration Files)- 描述软件的组态参数
四,XML文件的简单配置方法
<servlet>
<!--
servlet-name与"<servlet-mapping>"中的name一致,服务器会自动由此name找到"<servlet-name>"对应的"<jsp-file>",执行相应的jvl.jsp页面
-->
<servlet-name>J_V_L</servlet-name>
<jsp-file>/WEB-INF/jvl.jsp</jsp-file>
</servlet>
<servlet>
<!--
servlet-name与"<servlet-mapping>"中的name一致,服务器会自动由此name找到"<servlet-class>"对应的WEB-INF/classes中的类,执行对应的servlet文件
-->
<servlet-name>servlet</servlet-name>
<servlet-class>cn.jevy.servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>jevy</servlet-name>
<url-pattern>/jvl</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>servlet</servlet-name>
<url-pattern>/servlet/formServlet</url-pattern>
</servlet-mapping>
本课主题:什么是XML
相关主题:
关于XML解决方案
XML的技术优势
请拨打热线:0571-86586571

