预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

使用PHP与XML进行网站编程 一、HTML的局限性分析 1.HTML的可扩展性差。虽然作为一般的应用,HTML应经够用了,但是在处理数学和化学 等符号时,HTML有明显的缺点,而且它无法进行扩展,这样使它的发展收到了极大的限制。 2.链路丢失后不能自动纠正。由于Web页面的URL地址经常改变,而在改变URL地址时必 须手工修改这些信息,否则就会遇到“404URL地址未找到”的信息,这大大加重了Web页面 的维护工作量。 3.数据搜索的时间长。由于HTML主要用来对网页的显示进行控制,导致了同一个数据在 不同的网页中有不同的存储格式,这样在进行数据搜索时就无法快速找到所需的资料。 4.HTML对双字节或者多国文字的支持不够。例如中文信息页面在不同的平台下会出现无 法显示等问题。 正是由于这些缺点,人们研究了能够代替HTML的Web页面制作语言。其中已经投入使用 的有:可扩展标记语言XML、层叠样式表(CSS)以及动态HTML(DHTML)等。 二、XML的组成 这里简要列举几种主要的XML技术: 1.DTD(文档类型声明) DTD的主要功能是定义XML的内容模式;限制XML标记的数据范围;定义属性的数据类型。 但由于它不是用XML编写的,因此扩展性比较差;而且只提供了有限的几种数据类型,因此 它的作用是有限的。 2.XMLSchema XMLSchema的作用和DTD类似。但不同的是,Schema文件所描述的是引用它的XML文件中 的元素和属性的具体类型。另外,由于它是由XML编写的,Schema和DTD相比较还有以下优点: ◆XMLSchema内容模型是开放的,可以随意扩充,而DTD无法解析扩充的内容。 ◆DTD只能把内容类型定义为一个字符串,而XMLSchema允许把内容类型定义为整型、 浮点型、布尔型或者许多其它的简单数据类型。 ◆XMLSchema利用Namespaces将文档中特殊的节点与Schema相联系,一个XML文件可以 有多个对应的Schema,而一个XML文件只能有一个DTD。 3.XLink 作为一种Web语言,XML的链接能力是非常重要的。XML的链接和定址机制包括XLink、 XPath和XPointer。XLink提供功能强大的链接方法,可以在文档之间建立单向或多向的复杂 联结关系,还有注释链接、概要链接、扩展链接集等多种链接功能。XPath在XSLT和XPointer 中使用,支持在XML文档中相对于节点和节点集的定位。XPointer在XPath的基础上提供对XML 文档的内容的内部结构(如一个字符串或者选择的一个段落)的定位。XML的链接能力比HTML 有了很大的增强。 4.CSS与XSL XML的一大特点就是内容与格式分离,也就是说,XML文档中并不包含如何显示/表示文 档的信息。CSS与XSL(XMLStyleLanguage)解决了XML文档的显示问题。 CSS(层叠样式表)也可以用在HTML和XML中。XSL完全使用XML的语法,功能比CSS要强 大得多。 5.DOM 文档对象模型(DOM)是一个与平台、语言无关的程序接口,它提供了动态访问和更新 文档的内容、结构与风格的手段。可以对文当作进一步的处理,并将处理的结果更新到表示 页面。 DOM的目标就是为XML和HTML定义一个标准的编程接口,它包括核心、HTML和XML三部分。 DOM的核心部分建立了一套底层的对象集,它们可以表示任何结构化的文档。HTML和XML提供 了高层的接口,可以作为更方便的文档视图。DOM规范由对象和方法组成。程序员使用它们 可以更容易地对特定类型的文档进行访问和操作。 6.Namespaces Namespaces是用URL加以区别的、在XML文件的元素和属性中出现的所有名称的集合。在 XML中,用户可以自己定义标记和元素。因此,如果把多个XML文件合并为一个,就很可能出 现冲突。Namespaces则解决了这个问题。 三、PHP对XML的支持 PHP对XML提供了的强大的支持。它使用了一个XML的“解析器”,并且为了支持这个解 析器,它提供了20(PHP4)个XML的解析函数。下面是几个最常用的PHP解析函数。 1.xml_parse booleanxml_parse(intparser,stringdata,int[isFinal]); 本函数用来解析XML格式的文件资料。参数parser为解析代码。参数data为解析 的资料区块(chunk)。参数isFinal可省略,若设为true则系统会自动送出最后的资料 部分(piece)给data参数。若无错误则返回true值。 2.xml_parser_create intxml_parser