gb50016 下载:XML C解析器和工具的Gnome 的libxml

来源:百度文库 编辑:偶看新闻 时间:2024/04/30 13:34:25

“与libxml2的编程就像是一个异国的陌生人惊心动魄的怀抱。 “马克朝圣

libxml2的是为Gnome项目(但可用的GNOME平台外)开发的XML C解析器和工具包,它是免费软件,可根据MIT许可。 XML本身是一种元语言设??计的标记语言,即文字语言的语义和结构都使用额外的“标记”之间的尖括号内的信息内容添加到。 HTML是最知名的标记语言。 虽然库是用C写各种语言绑定 ,在其他环境中亦能使用。

libxml2的是已知的非常便携,库应建立和各种系统(Linux,Unix系统,Windows中,Cygwin的,是MacOS,MacOS X系统,RISC OS,OS / 2,VMS,QNX,MVS,VxWorks的工作没有严重的问题... ...)

libxml2的实现现有标准标记语言:

  • XML标准: http://www.w3.org/TR/REC-xml
  • 在XML命名空间: http://www.w3.org/TR/REC-xml-names/
  • XML的基地: http://www.w3.org/TR/xmlbase/
  • RFC 2396 :统一资源标识符http://www.ietf.org/rfc/rfc2396.txt
  • XML路径语言(XPath)1.0: http://www.w3.org/TR/xpath
  • HTML4的解析器: http://www.w3.org/TR/html401/
  • XML指针语言(XPointer的)1.0版: http://www.w3.org/TR/xptr
  • XML的夹杂物(XInclude的)1.0版: http://www.w3.org/TR/xinclude/
  • ISO - 8859 - X编码,以及rfc2044 [UTF - 8]和rfc2781 [UTF - 16]的Unicode编码,如果使用的iconv支持
  • SGML开放技术性决议,TR9401部分:1997年
  • XML目录工作草案2001年08月06日: http://www.oasis-open.org/committees/entity/spec-2001-08-06.html
  • 规范XML 1.0版: http://www.w3.org/TR/xml-c14n和专用XML规范化CR草案http://www.w3.org/TR/xml-exc-c14n
  • RELAX NG,ISO / IEC 19757-2:2003, http://www.oasis-open.org/committees/relax-ng/spec-20011203.html
  • W3C XML架构第2部分:数据类型拍摄2001年05月02日
  • W3C XML:ID工作草案,2004年4月7日

在大多数情况下的libxml2试图实现在一个比较严格的兼容的方式的规范。 版本2.4.16,libxml2的OASIS XML测试通过,从1800 +的测试。

在一定程度上的libxml2提供下列额外规格的支持,但不主张完全实现它们:

  • 文档对象模型(DOM) http://www.w3.org/TR/DOM-Level-2-Core/文档模型,但还没有实现的API本身,gdome2这个libxml2的顶部
  • RFC 959 :libxml2的实现一个基本的FTP客户端代码
  • RFC 1945年 :HTTP/1.0的,再一个基本的HTTP客户端代码
  • SAX:像SAX2的接口和一个最小的SAX1实施与早期版本的外籍兼容

一个部分实现的XML架构第1部分:结构正在工作,但它会还为时过早,目前关于它的任何一致性声明。

单独的文件:

  • 提供libxml2的执行XSLT 1.0和共同喜欢的EXSLT扩展的libxslt页
  • gdome2页 :libxml2的一个标准DOM2的实施
  • XMLSec页 :实施libxml2的W3C XML数字签名
  • 还检查为更多相关的和积极的项目的相关链接部分。

主机赞助的开源CMS服务的AOE媒体。

标志设计马克Liyanage 。


"Programmingwith libxml2 is like the thrilling embrace of an exotic stranger." MarkPilgrim

Libxml2 is the XML C parser and toolkit developed for the Gnome project(but usable outside of the Gnome platform), it is free software availableunder the MITLicense. XML itself is a metalanguage to design markup languages, i.e.text language where semantic and structure are added to the content usingextra "markup" information enclosed between angle brackets. HTML is the mostwell-known markup language. Though the library is written in C a variety of language bindings make it available inother environments.

Libxml2 is known to be very portable, the library should build and workwithout serious troubles on a variety of systems (Linux, Unix, Windows,CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, VxWorks, ...)

Libxml2 implements a number of existing standards related to markuplanguages:

  • the XML standard: http://www.w3.org/TR/REC-xml
  • Namespaces in XML: http://www.w3.org/TR/REC-xml-names/
  • XML Base: http://www.w3.org/TR/xmlbase/
  • RFC 2396 : Uniform Resource Identifiers http://www.ietf.org/rfc/rfc2396.txt
  • XML Path Language (XPath) 1.0: http://www.w3.org/TR/xpath
  • HTML4 parser: http://www.w3.org/TR/html401/
  • XML Pointer Language (XPointer) Version 1.0: http://www.w3.org/TR/xptr
  • XML Inclusions (XInclude) Version 1.0: http://www.w3.org/TR/xinclude/
  • ISO-8859-x encodings, as well as rfc2044 [UTF-8] and rfc2781 [UTF-16] Unicode encodings, and more if using iconv support
  • part of SGML Open Technical Resolution TR9401:1997
  • XML Catalogs Working Draft 06 August 2001: http://www.oasis-open.org/committees/entity/spec-2001-08-06.html
  • Canonical XML Version 1.0: http://www.w3.org/TR/xml-c14n and the Exclusive XML Canonicalization CR draft http://www.w3.org/TR/xml-exc-c14n
  • Relax NG, ISO/IEC 19757-2:2003, http://www.oasis-open.org/committees/relax-ng/spec-20011203.html
  • W3C XML Schemas Part 2: Datatypes REC 02 May 2001
  • W3C xml:id Working Draft 7 April 2004

In most cases libxml2 tries to implement the specifications in arelatively strictly compliant way. As of release 2.4.16, libxml2 passed all1800+ tests from the OASIS XML TestsSuite.

To some extent libxml2 provides support for the following additionalspecifications but doesn't claim to implement them completely:

  • Document Object Model (DOM) http://www.w3.org/TR/DOM-Level-2-Core/ the document model, but it doesn't implement the API itself, gdome2 does this on top of libxml2
  • RFC 959 : libxml2 implements a basic FTP client code
  • RFC 1945 : HTTP/1.0, again a basic HTTP client code
  • SAX: a SAX2 like interface and a minimal SAX1 implementation compatible with early expat versions

A partial implementation of XML Schemas Part1: Structure is being worked on but it would be far too early to make anyconformance statement about it at the moment.

Separate documents:

  • the libxslt page providing an implementation of XSLT 1.0 and common extensions like EXSLT for libxml2
  • the gdome2 page : a standard DOM2 implementation for libxml2
  • the XMLSec page: an implementation of W3C XML Digital Signature for libxml2
  • also check the related links section for more related and active projects.

Hosting sponsored by Open Source CMS services from AOE media.

Logo designed by Marc Liyanage.