⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xml.html

📁 xml开源解析代码.版本为libxml2-2.6.29,可支持GB3212.网络消息发送XML时很有用.
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"    "http://www.w3.org/TR/html4/loose.dtd"><html><head>  <title>The XML C parser and toolkit of Gnome</title>  <meta name="GENERATOR" content="amaya 8.5, see http://www.w3.org/Amaya/">  <meta http-equiv="Content-Type" content="text/html"></head><body bgcolor="#ffffff"><h1 align="center">The XML C parser and toolkit of Gnome</h1><h1>Note: this is the flat content of the <a href="index.html">website</a></h1><h1 style="text-align: center">libxml, a.k.a. gnome-xml</h1><p></p><pstyle="text-align: right; font-style: italic; font-size: 10pt">"Programmingwith libxml2 is like the thrilling embrace of an exotic stranger." <ahref="http://diveintomark.org/archives/2004/02/18/libxml2">MarkPilgrim</a></p><p>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 <a href="http://www.opensource.org/licenses/mit-license.html">MITLicense</a>. 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 <ahref="python.html">a variety of language bindings</a> make it available inother environments.</p><p>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, ...)</p><p>Libxml2 implements a number of existing standards related to markuplanguages:</p><ul>  <li>the XML standard: <a    href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a></li>  <li>Namespaces in XML: <a    href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</a></li>  <li>XML Base: <a    href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a></li>  <li><a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt">RFC 2396</a> :    Uniform Resource Identifiers <a    href="http://www.ietf.org/rfc/rfc2396.txt">http://www.ietf.org/rfc/rfc2396.txt</a></li>  <li>XML Path Language (XPath) 1.0: <a    href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a></li>  <li>HTML4 parser: <a    href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a></li>  <li>XML Pointer Language (XPointer) Version 1.0: <a    href="http://www.w3.org/TR/xptr">http://www.w3.org/TR/xptr</a></li>  <li>XML Inclusions (XInclude) Version 1.0: <a    href="http://www.w3.org/TR/xinclude/">http://www.w3.org/TR/xinclude/</a></li>  <li>ISO-8859-x encodings, as well as <a    href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt">rfc2044</a> [UTF-8]    and <a href="http://www.cis.ohio-state.edu/rfc/rfc2781.txt">rfc2781</a>    [UTF-16] Unicode encodings, and more if using iconv support</li>  <li>part of SGML Open Technical Resolution TR9401:1997</li>  <li>XML Catalogs Working Draft 06 August 2001: <a    href="http://www.oasis-open.org/committees/entity/spec-2001-08-06.html">http://www.oasis-open.org/committees/entity/spec-2001-08-06.html</a></li>  <li>Canonical XML Version 1.0: <a    href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n</a>    and the Exclusive XML Canonicalization CR draft <a    href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n</a></li>  <li>Relax NG, ISO/IEC 19757-2:2003, <a    href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">http://www.oasis-open.org/committees/relax-ng/spec-20011203.html</a></li>  <li>W3C XML Schemas Part 2: Datatypes <a    href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">REC 02 May    2001</a></li>  <li>W3C <a href="http://www.w3.org/TR/xml-id/">xml:id</a> Working Draft 7    April 2004</li></ul><p>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 <ahref="http://www.oasis-open.org/committees/xml-conformance/">OASIS XML TestsSuite</a>.</p><p>To some extent libxml2 provides support for the following additionalspecifications but doesn't claim to implement them completely:</p><ul>  <li>Document Object Model (DOM) <a    href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>    the document model, but it doesn't implement the API itself, gdome2 does    this on top of libxml2</li>  <li><a href="http://www.cis.ohio-state.edu/rfc/rfc959.txt">RFC 959</a> :    libxml2 implements a basic FTP client code</li>  <li><a href="http://www.cis.ohio-state.edu/rfc/rfc1945.txt">RFC 1945</a> :    HTTP/1.0, again a basic HTTP client code</li>  <li>SAX: a SAX2 like interface and a minimal SAX1 implementation compatible    with early expat versions</li></ul><p>A partial implementation of <ahref="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/">XML Schemas Part1: Structure</a> is being worked on but it would be far too early to make anyconformance statement about it at the moment.</p><p>Separate documents:</p><ul>  <li><a href="http://xmlsoft.org/XSLT/">the libxslt page</a> providing an    implementation of XSLT 1.0 and common extensions like EXSLT for  libxml2</li>  <li><a href="http://gdome2.cs.unibo.it/">the gdome2 page</a>    : a standard DOM2 implementation for libxml2</li>  <li><a href="http://www.aleksey.com/xmlsec/">the XMLSec page</a>: an    implementation of <a href="http://www.w3.org/TR/xmldsig-core/">W3C XML    Digital Signature</a> for libxml2</li>  <li>also check the related links section below for more related and active    projects.</li></ul><!--  ----------------<p>Results of the <ahref="http://xmlbench.sourceforge.net/results/benchmark/index.html">xmlbenchbenchmark</a> on sourceforge February 2004 (smaller is better):</p><p align="center"><img src="benchmark.png"alt="benchmark results for Expat Xerces libxml2 Oracle and Sun toolkits"></p>------------  --><p>Logo designed by <a href="mailto:liyanage@access.ch">Marc Liyanage</a>.</p><h2><a name="Introducti">Introduction</a></h2><p>This document describes libxml, the <ahref="http://www.w3.org/XML/">XML</a> C parser and toolkit developed for the<a href="http://www.gnome.org/">Gnome</a> project. <ahref="http://www.w3.org/XML/">XML is a standard</a> for building tag-basedstructured documents/data.</p><p>Here are some key points about libxml:</p><ul>  <li>Libxml2 exports Push (progressive) and Pull (blocking) type parser    interfaces for both XML and HTML.</li>  <li>Libxml2 can do DTD validation at parse time, using a parsed document    instance, or with an arbitrary DTD.</li>  <li>Libxml2 includes complete <a    href="http://www.w3.org/TR/xpath">XPath</a>, <a    href="http://www.w3.org/TR/xptr">XPointer</a> and <a    href="http://www.w3.org/TR/xinclude">XInclude</a> implementations.</li>  <li>It is written in plain C, making as few assumptions as possible, and    sticking closely to ANSI C/POSIX for easy embedding. Works on    Linux/Unix/Windows, ported to a number of other platforms.</li>  <li>Basic support for HTTP and FTP client allowing applications to fetch    remote resources.</li>  <li>The design is modular, most of the extensions can be compiled out.</li>  <li>The internal document representation is as close as possible to the <a    href="http://www.w3.org/DOM/">DOM</a> interfaces.</li>  <li>Libxml2 also has a <a    href="http://www.megginson.com/SAX/index.html">SAX like interface</a>;    the interface is designed to be compatible with <a    href="http://www.jclark.com/xml/expat.html">Expat</a>.</li>  <li>This library is released under the <a    href="http://www.opensource.org/licenses/mit-license.html">MIT    License</a>. See the Copyright file in the distribution for the precise    wording.</li></ul><p>Warning: unless you are forced to because your application links with aGnome-1.X library requiring it,  <strong><spanstyle="background-color: #FF0000">Do Not Use libxml1</span></strong>, uselibxml2</p><h2><a name="FAQ">FAQ</a></h2><p>Table of Contents:</p><ul>  <li><a href="FAQ.html#License">License(s)</a></li>  <li><a href="FAQ.html#Installati">Installation</a></li>  <li><a href="FAQ.html#Compilatio">Compilation</a></li>  <li><a href="FAQ.html#Developer">Developer corner</a></li></ul><h3><a name="License">License</a>(s)</h3><ol>  <li><em>Licensing Terms for libxml</em>    <p>libxml2 is released under the <a    href="http://www.opensource.org/licenses/mit-license.html">MIT    License</a>; see the file Copyright in the distribution for the precise    wording</p>  </li>  <li><em>Can I embed libxml2 in a proprietary application ?</em>    <p>Yes. The MIT License allows you to keep proprietary the changes you    made to libxml, but it would be graceful to send-back bug fixes and    improvements as patches for possible incorporation in the main    development tree.</p>  </li></ol><h3><a name="Installati">Installation</a></h3><ol>  <li><strong><span style="background-color: #FF0000">Do Not Use    libxml1</span></strong>, use libxml2</li>  <p></p>  <li><em>Where can I get libxml</em> ?    <p>The original distribution comes from <a    href="ftp://xmlsoft.org/libxml2/">xmlsoft.org</a> or <a    href="ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/">gnome.org</a></p>    <p>Most Linux and BSD distributions include libxml, this is probably the    safer way for end-users to use libxml.</p>    <p>David Doolin provides precompiled Windows versions at <a    href="http://www.ce.berkeley.edu/~doolin/code/libxmlwin32/         ">http://www.ce.berkeley.edu/~doolin/code/libxmlwin32/</a></p>  </li>  <p></p>  <li><em>I see libxml and libxml2 releases, which one should I install ?</em>    <ul>      <li>If you are not constrained by backward compatibility issues with        existing applications, install libxml2 only</li>      <li>If you are not doing development, you can safely install both.        Usually the packages <a        href="http://rpmfind.net/linux/RPM/libxml.html">libxml</a> and <a        href="http://rpmfind.net/linux/RPM/libxml2.html">libxml2</a> are        compatible (this is not the case for development packages).</li>      <li>If you are a developer and your system provides separate packaging        for shared libraries and the development components, it is possible        to install libxml and libxml2, and also <a        href="http://rpmfind.net/linux/RPM/libxml-devel.html">libxml-devel</a>        and <a        href="http://rpmfind.net/linux/RPM/libxml2-devel.html">libxml2-devel</a>        too for libxml2 &gt;= 2.3.0</li>      <li>If you are developing a new application, please develop against        libxml2(-devel)</li>    </ul>  </li>  <li><em>I can't install the libxml package, it conflicts with libxml0</em>    <p>You probably have an old libxml0 package used to provide the shared    library for libxml.so.0, you can probably safely remove it. The libxml    packages provided on <a    href="ftp://xmlsoft.org/libxml2/">xmlsoft.org</a> provide    libxml.so.0</p>  </li>  <li><em>I can't install the libxml(2) RPM package due to failed    dependencies</em>    <p>The most generic solution is to re-fetch the latest src.rpm , and    rebuild it locally with</p>    <p><code>rpm --rebuild libxml(2)-xxx.src.rpm</code>.</p>    <p>If everything goes well it will generate two binary rpm packages (one    providing the shared libs and xmllint, and the other one, the -devel    package, providing includes, static libraries and scripts needed to build    applications with libxml(2)) that you can install locally.</p>  </li></ol><h3><a name="Compilatio">Compilation</a></h3><ol>  <li><em>What is the process to compile libxml2 ?</em>    <p>As most UNIX libraries libxml2 follows the "standard":</p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -