日期:2014-05-16  浏览次数:20376 次

JSP和XML入门
一,XML相关定义 1,HTML只是静态文档,不能适应需求。XML的互联网联合组织(W3C)创建的一组规范,以便于软件开发人员和内容创作者在网页上组织信息,其目的不 仅在于满足不断增长的网络应用需求,同时还希望借此确保在通过网络进行交互作用时,具有良好的可靠性与操作性

  一,XML相关定义

  1,HTML只是静态文档,不能适应需求。XML的互联网联合组织(W3C)创建的一组规范,以便于软件开发人员和内容创作者在网页上组织信 息,其目的不仅在于满足不断增长的网络应用需求,同时还希望借此确保在通过网络进行交互作用时,具有良好的可靠性与操作性。XML源自 SGML(Standard Generalize Markup Language),保留了SGML80%的功能,使复杂程度降低了20%.它具有HTML所不具有的伸缩性的与灵活性。它其实的一种定义语言,即保用者 可以定义无穷无尽的标记来描述文件中的任何数据元素,从而突破了HTML固定标记集合的约束,使文件内容更丰富更复杂并组成一个完整的信息体系。

  2,XML主要有3个要素:Schema(模式)、XSL(eXtensibleStylesheetLanguage)和 XLL(eXtensibleLinkLanguage)。Schema规定了XML文件的逻辑结构,定义了XML文件中的元素、元素的属性以及元素和元 素的属性之间的关系,它可以帮助XML的分析程序校验XML文件的合法性。XSL是用于规定XML文档样式的语言,它能在客户端使Web浏览器改变文档的 表示法。从而不需要再与服务器进行通信。XLL将进一步扩展目前Web上已有的简单链接。

  3,XML提供的是一种来制作标签的规则。按照这种规则我们制作出DTD(Document Type Definition)文件,供浏览器和阅读者查阅。它是一种用以描述文件结构的主语意的标记语言。XML所描述的是文件的结构和意义而并非外观(由 Style sheet完成)。

  4,XML的优点

1)定义专业领域的标记语言。
2)通用的数据格式(文本格式)。
3)易于作数据交换
4)结构化的数据。可以指定元素间的关系。还提供一种特殊的机制将数据从多个来源合并,再以单一文件的方式显示。还能依据使用者的动作来决定部分数据的显示或隐藏。

XSL(本身就是XML文件)是一种专门为XML所设计的样式表,描述XML的显现方式。XLL是XML的连结语法。包括XLinks,XPointers

  5,XML标准规范。

  声明:<?XML version="1.0"standalone="yes"?> 之前不能有空格或其它字符。standalone指是否有一个配套的dtd文件。

   <!-- -->中间表示注释

   凡是以XML宣告起头,标签有头有尾,我们就称为形式良好的XML。

  二,XML语法

1,声明 推荐加入。处理指令的一种。version是必需的,standalone,encoding(GB2312,BIG5,UTF8)可选。如果标签是用中文写的,必须是GB2312
2,元素 <tag>value</tag> 一个文件至少有一个根元素(又称为文件标记)。
[声明]
[DTD标记]
[根元素]
value中的特殊字符(<>&".)时必须用它的实体引用来代替

< &lt;
> &gt;
" &quot;
& &amp;
. &apos;
3,XML标记
一个XML文件中至少应该有一个标记。
区分大小写。开始标记和结束标记必须严格对应。若无标记体可以用<tab param=value... />表示
标记名可以以字母数字下划线或冒号(不推荐)开头。后面跟字母数字句号冒号下划线或连字符-,但是中间不能有空格,而且任何标记不能以xml起始。
标记中属性个数不限制。标记名长度理论上无限制。
“”属性值务必用双引号括起来。
4,<![CDATA[ ***** ]]> 其中*****处可以是除了]]> 之外的任意字符。
5,注释
<!--comment--> comment中不能出现-,--,>等,也不能嵌套。

三,JSP的XML语法

<%=exper%> <jsp:expression>exper</jsp:expression>
<%seg%> <jsp:scriptlet>seg</jsp:scriptlet>
<%!decl%> <jsp:declaration>decl</jsp:declaration>
<%--comment--%> <!--comment-->
<%@page param=value%> <jsp:derective.page param=value />
<%@include file="f"%> <jsp:derective.include file="f" />
动作元素原本就是XML格式,仅需要在使用请求时间属性时,将传统格式的value="<%=expression%>" 转换成XML格式的value="%=expression%"(在标准标记或自定义标记中使用)