Chinaunix首页 | 论坛 | 博客
  • 博客访问: 500475
  • 博文数量: 1496
  • 博客积分: 79800
  • 博客等级: 大将
  • 技术积分: 9940
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-09 13:22
文章分类

全部博文(1496)

文章存档

2011年(1)

2008年(1495)

我的朋友

分类:

2008-09-09 13:30:45


  JAXP API--嵌入不同的解释器
  
  SAX解释器+DOM解释器+XSL转换器
  
  javax.xml.parsers中加载XML文档的类:
  DocumentBuilder
  DocumentBuildrFactory
  SAXParser
  SAXParserFactory
  =====================================
  SAX API
  
  SAX的XML解释器:Apache的Xerces或Crimson
  
  处理XML文档的接口:
  ContentHandler
  EntityResolver
  ErroHandler
  DTDHandler
  
  DeclHandler
  LexicalHandler
  ======================================
  DOM API
  
  两个DOM标准:DOM Level1 DOM Level 2 Core
  
  节点
  Node-节点类型接口层次结构的根。
  Document-树结构的根
  Element-XML元素
  Text-元素内的文本
  Attr-元素的特性
  CDATA Sectionn-CDATA
  NodeList-子节点的集合
  ProcessingInstruction-指令
  Comment-包含注释的信息
  DocumentFragment-Document的消减版,用于在树中移动节点
  DocumentType-文档类型定义的子集。
  Entity-DTD中的实体标记
  EntityReference-XML文档中的实体引用
  Notation-DTD中的符号标记
  
  从程序中读取X M L文档基本上有三种方式:
  
  1把X M L只当做一个文件读取,然后自己挑选出其中的标签。这是黑客们的方法,我们不推荐这种方式。
  
  你很快会发现处理所有的特殊情况(包括不同的字符编码,例外约定,内部和外部实体,缺省属性等)比想象的困难得多;
  
  你可能不能够正确地处理所有的特殊情况,这样你的程序会接收到一个非常规范的X M L文档,却不能正确地处理它。
  
  要避免这种想法:XML解析器似乎并不昂贵(大多数是免费的)。
  
  2可以用解析器分析文档并在内存里创建对文档内容树状的表达方式:解析器将输出传递给文档对象模型,即DOM。
  
  这样程序可以从树的顶部开始遍历,按照从一个树单元到另一个单元的引用,从而找到需要的信息。
  
  3也可以用解析器读取文档,当解析器发现标签时告知程序它发现的标签。
  
  例如它会告知它何时发现了一个开始标签,何时发现了一些特征数据,以及何时发现了一个结束标签。
  
  这叫做事件驱动接口,因为解析器告知应用程序它遇到的有含义的事件。
  
  如果这正是你需要的那种接口,可以使用SAX。
  
  SAX是只读的
  
  DOM可以从XML原文件中读取文档,也可以创建和修改内存中的文档。相比较而言,SAX是用来读取XML文档而不是书写文档。
  
  可扩展样式语言(XSL,eXtensible Sytlesheet Language)是一种基于XML的语言,它被设计用来转换XML文档到另一种XML文档或转换XML文档为可翻译对象。
  
  原始的XSL语言已经被分割成三种不同的语言:
  
  1转换工具(XSLT)是一种转换XML文档到其他XML文档的语言
  
  2翻译工具(XSLF—可以包括X S LT的使用)
  
  3XML分级命令处理工具(XPath)
  
  XSL有它自已的根,不管是在层叠样式表()中还是在一种叫DSSSL(文档样式语义和规格语言—读为'deessel')的语言中。
  
  随着它的发展,XSL的样式表现变得更接近于和远离DSSSL
【责编:admin】

--------------------next---------------------

阅读(90) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~