mirror of
https://gitlab.gnome.org/GNOME/libxml2
synced 2025-03-28 21:33:13 +00:00
applied patch from Graham Bennett adding 4 convenience functions to the
* include/libxml/xmlreader.h xmlreader.c: applied patch from Graham Bennett adding 4 convenience functions to the reader API. Daniel
This commit is contained in:
parent
9638d4c20f
commit
e2811270e8
@ -1,3 +1,8 @@
|
||||
Tue Oct 19 11:06:39 CEST 2004 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
* include/libxml/xmlreader.h xmlreader.c: applied patch from
|
||||
Graham Bennett adding 4 convenience functions to the reader API.
|
||||
|
||||
Fri Oct 15 11:22:48 PDT 2004 William Brack <wbrack@mmm.com.hk>
|
||||
|
||||
* debugXML.c: excluded a few nodes (with no content) from the
|
||||
|
@ -217,7 +217,8 @@ pnode=pxmlDoc->children->children;</pre>
|
||||
<p>Website: <a
|
||||
href="http://pmade.org/pjones/software/xmlwrapp/">http://pmade.org/pjones/software/xmlwrapp/</a></p>
|
||||
</li>
|
||||
--></ul></li>
|
||||
-->
|
||||
</ul></li>
|
||||
<li>How to validate a document a posteriori ?
|
||||
<p>It is possible to validate documents which had not been validated at
|
||||
initial parsing time or documents which have been built from scratch
|
||||
|
362
doc/index.html
362
doc/index.html
@ -12,8 +12,7 @@ H2 {font-family: Verdana,Arial,Helvetica}
|
||||
H3 {font-family: Verdana,Arial,Helvetica}
|
||||
A:link, A:visited, A:active { text-decoration: underline }
|
||||
</style>
|
||||
<title>The XML C parser and toolkit of Gnome
|
||||
</title>
|
||||
<title>The XML C parser and toolkit of Gnome</title>
|
||||
</head>
|
||||
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
|
||||
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center">
|
||||
@ -46,10 +45,8 @@ A:link, A:visited, A:active { text-decoration: underline }
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<h1>The XML C parser and toolkit of Gnome
|
||||
</h1>
|
||||
<h2>libxml
|
||||
</h2>
|
||||
<h1>The XML C parser and toolkit of Gnome</h1>
|
||||
<h2>libxml</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@ -72,8 +69,7 @@ A:link, A:visited, A:active { text-decoration: underline }
|
||||
<tr>
|
||||
<td colspan="1" bgcolor="#eecfa1" align="center">
|
||||
<center>
|
||||
<b>Main Menu
|
||||
</b>
|
||||
<b>Main Menu</b>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
@ -85,80 +81,61 @@ A:link, A:visited, A:active { text-decoration: underline }
|
||||
</form>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="index.html">Home
|
||||
</a>
|
||||
<a href="index.html">Home</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="intro.html">Introduction
|
||||
</a>
|
||||
<a href="intro.html">Introduction</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="FAQ.html">FAQ
|
||||
</a>
|
||||
<a href="FAQ.html">FAQ</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="docs.html" style="font-weight:bold">Developer Menu
|
||||
</a>
|
||||
<a href="docs.html" style="font-weight:bold">Developer Menu</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="bugs.html">Reporting bugs and getting help
|
||||
</a>
|
||||
<a href="bugs.html">Reporting bugs and getting help</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="help.html">How to help
|
||||
</a>
|
||||
<a href="help.html">How to help</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="downloads.html">Downloads
|
||||
</a>
|
||||
<a href="downloads.html">Downloads</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="news.html">Releases
|
||||
</a>
|
||||
<a href="news.html">Releases</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="XMLinfo.html">XML
|
||||
</a>
|
||||
<a href="XMLinfo.html">XML</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="XSLT.html">XSLT
|
||||
</a>
|
||||
<a href="XSLT.html">XSLT</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="xmldtd.html">Validation & DTDs
|
||||
</a>
|
||||
<a href="xmldtd.html">Validation & DTDs</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="encoding.html">Encodings support
|
||||
</a>
|
||||
<a href="encoding.html">Encodings support</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="catalog.html">Catalog support
|
||||
</a>
|
||||
<a href="catalog.html">Catalog support</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="namespaces.html">Namespaces
|
||||
</a>
|
||||
<a href="namespaces.html">Namespaces</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="contribs.html">Contributions
|
||||
</a>
|
||||
<a href="contribs.html">Contributions</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="examples/index.html" style="font-weight:bold">Code Examples
|
||||
</a>
|
||||
<a href="examples/index.html" style="font-weight:bold">Code Examples</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="html/index.html" style="font-weight:bold">API Menu
|
||||
</a>
|
||||
<a href="html/index.html" style="font-weight:bold">API Menu</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="guidelines.html">XML Guidelines
|
||||
</a>
|
||||
<a href="guidelines.html">XML Guidelines</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="ChangeLog.html">Recent Changes
|
||||
</a>
|
||||
<a href="ChangeLog.html">Recent Changes</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
@ -168,8 +145,7 @@ A:link, A:visited, A:active { text-decoration: underline }
|
||||
<tr>
|
||||
<td colspan="1" bgcolor="#eecfa1" align="center">
|
||||
<center>
|
||||
<b>Related links
|
||||
</b>
|
||||
<b>Related links</b>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
@ -177,44 +153,34 @@ A:link, A:visited, A:active { text-decoration: underline }
|
||||
<td bgcolor="#fffacd">
|
||||
<ul>
|
||||
<li>
|
||||
<a href="http://mail.gnome.org/archives/xml/">Mail archive
|
||||
</a>
|
||||
<a href="http://mail.gnome.org/archives/xml/">Mail archive</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://xmlsoft.org/XSLT/">XSLT libxslt
|
||||
</a>
|
||||
<a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2
|
||||
</a>
|
||||
<a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec
|
||||
</a>
|
||||
<a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="ftp://xmlsoft.org/">FTP
|
||||
</a>
|
||||
<a href="ftp://xmlsoft.org/">FTP</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries
|
||||
</a>
|
||||
<a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://garypennington.net/libxml2/">Solaris binaries
|
||||
</a>
|
||||
<a href="http://garypennington.net/libxml2/">Solaris binaries</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries
|
||||
</a>
|
||||
<a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings
|
||||
</a>
|
||||
<a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker
|
||||
</a>
|
||||
<a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
@ -236,227 +202,77 @@ A:link, A:visited, A:active { text-decoration: underline }
|
||||
<td bgcolor="#fffacd">
|
||||
<p></p>
|
||||
<p style="text-align: right; font-style: italic; font-size: 10pt">"Programming
|
||||
with libxml2 is like the thrilling embrace of an exotic stranger."
|
||||
<a href="http://diveintomark.org/archives/2004/02/18/libxml2">Mark
|
||||
Pilgrim
|
||||
</a>
|
||||
</p>
|
||||
with libxml2 is like the thrilling embrace of an exotic stranger." <a href="http://diveintomark.org/archives/2004/02/18/libxml2">Mark
|
||||
Pilgrim</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 available
|
||||
under the
|
||||
<a href="http://www.opensource.org/licenses/mit-license.html">MIT
|
||||
License
|
||||
</a>
|
||||
. XML itself is a metalanguage to design markup languages, i.e.
|
||||
under the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
|
||||
License</a>. XML itself is a metalanguage to design markup languages, i.e.
|
||||
text language where semantic and structure are added to the content using
|
||||
extra "markup" information enclosed between angle brackets. HTML is the most
|
||||
well-known markup language. Though the library is written in C
|
||||
<a href="python.html">a variety of language bindings
|
||||
</a>
|
||||
make it available in
|
||||
other environments.
|
||||
</p>
|
||||
well-known markup language. Though the library is written in C <a href="python.html">a variety of language bindings</a> make it available in
|
||||
other environments.</p>
|
||||
<p>Libxml2 is known to be very portable, the library should build and work
|
||||
without serious troubles on a variety of systems (Linux, Unix, Windows,
|
||||
CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, ...)
|
||||
</p>
|
||||
CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, ...)</p>
|
||||
<p>Libxml2 implements a number of existing standards related to markup
|
||||
languages:
|
||||
</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>
|
||||
|
||||
|
||||
languages:</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 a
|
||||
relatively strictly compliant way. As of release 2.4.16, libxml2 passed all
|
||||
1800+ tests from the
|
||||
<a href="http://www.oasis-open.org/committees/xml-conformance/">OASIS XML Tests
|
||||
Suite
|
||||
</a>
|
||||
.
|
||||
</p>
|
||||
1800+ tests from the <a href="http://www.oasis-open.org/committees/xml-conformance/">OASIS XML Tests
|
||||
Suite</a>.</p>
|
||||
<p>To some extent libxml2 provides support for the following additional
|
||||
specifications 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>
|
||||
|
||||
specifications 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>
|
||||
|
||||
|
||||
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
|
||||
<a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/">XML Schemas Part
|
||||
1: Structure
|
||||
</a>
|
||||
is being worked on but it would be far too early to make any
|
||||
conformance 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
|
||||
<p>A partial implementation of <a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/">XML Schemas Part
|
||||
1: Structure</a> is being worked on but it would be far too early to make any
|
||||
conformance 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://www.cs.unibo.it/~casarini/gdome2/">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>
|
||||
|
||||
|
||||
libxml2</li>
|
||||
<li><a href="http://www.cs.unibo.it/~casarini/gdome2/">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>Logo designed by
|
||||
<a href="mailto:liyanage@access.ch">Marc Liyanage
|
||||
</a>
|
||||
.
|
||||
</p>
|
||||
<p>Logo designed by <a href="mailto:liyanage@access.ch">Marc Liyanage</a>.</p>
|
||||
<p>
|
||||
<a href="bugs.html">Daniel Veillard
|
||||
</a>
|
||||
<a href="bugs.html">Daniel Veillard</a>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -150,6 +150,8 @@ XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderQuoteChar (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderReadState (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);
|
||||
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlTextReaderConstBaseUri (xmlTextReaderPtr reader);
|
||||
@ -226,6 +228,8 @@ XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderMoveToElement (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderNormalization (xmlTextReaderPtr reader);
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlTextReaderConstEncoding (xmlTextReaderPtr reader);
|
||||
|
||||
/*
|
||||
* Extensions
|
||||
@ -263,6 +267,10 @@ XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
|
||||
xmlRelaxNGPtr schema);
|
||||
#endif
|
||||
XMLPUBFUN const xmlChar * XMLCALL
|
||||
xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
|
||||
XMLPUBFUN int XMLCALL
|
||||
xmlTextReaderStandalone (xmlTextReaderPtr reader);
|
||||
|
||||
/*
|
||||
* New more complete APIs for simpler creation and reuse of readers
|
||||
|
109
xmlreader.c
109
xmlreader.c
@ -2629,6 +2629,34 @@ xmlTextReaderReadAttributeValue(xmlTextReaderPtr reader) {
|
||||
return(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* xmlTextReaderConstEncoding:
|
||||
* @reader: the xmlTextReaderPtr used
|
||||
*
|
||||
* Determine the encoding of the document being read.
|
||||
*
|
||||
* Returns a string containing the encoding of the document or NULL in
|
||||
* case of error. The string is deallocated with the reader.
|
||||
*/
|
||||
const xmlChar *
|
||||
xmlTextReaderConstEncoding(xmlTextReaderPtr reader) {
|
||||
xmlDocPtr doc = NULL;
|
||||
if (reader == NULL)
|
||||
return(NULL);
|
||||
if (reader->doc != NULL)
|
||||
doc = reader->doc;
|
||||
else if (reader->ctxt != NULL)
|
||||
doc = reader->ctxt->myDoc;
|
||||
if (doc == NULL)
|
||||
return(NULL);
|
||||
|
||||
if (doc->encoding == NULL)
|
||||
return(NULL);
|
||||
else
|
||||
return(CONSTSTR(doc->encoding));
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* *
|
||||
* Acces API to the current node *
|
||||
@ -3799,6 +3827,87 @@ xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader, const char *rng) {
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* xmlTextReaderIsNamespaceDecl:
|
||||
* @reader: the xmlTextReaderPtr used
|
||||
*
|
||||
* Determine whether the current node is a namespace declaration
|
||||
* rather than a regular attribute.
|
||||
*
|
||||
* Returns 1 if the current node is a namespace declaration, 0 if it
|
||||
* is a regular attribute or other type of node, or -1 in case of
|
||||
* error.
|
||||
*/
|
||||
int
|
||||
xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader) {
|
||||
xmlNodePtr node;
|
||||
if (reader == NULL)
|
||||
return(-1);
|
||||
if (reader->node == NULL)
|
||||
return(-1);
|
||||
if (reader->curnode != NULL)
|
||||
node = reader->curnode;
|
||||
else
|
||||
node = reader->node;
|
||||
|
||||
if (XML_NAMESPACE_DECL == node->type)
|
||||
return(1);
|
||||
else
|
||||
return(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* xmlTextReaderConstXmlVersion:
|
||||
* @reader: the xmlTextReaderPtr used
|
||||
*
|
||||
* Determine the XML version of the document being read.
|
||||
*
|
||||
* Returns a string containing the XML version of the document or NULL
|
||||
* in case of error. The string is deallocated with the reader.
|
||||
*/
|
||||
const xmlChar *
|
||||
xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader) {
|
||||
xmlDocPtr doc = NULL;
|
||||
if (reader == NULL)
|
||||
return(NULL);
|
||||
if (reader->doc != NULL)
|
||||
doc = reader->doc;
|
||||
else if (reader->ctxt != NULL)
|
||||
doc = reader->ctxt->myDoc;
|
||||
if (doc == NULL)
|
||||
return(NULL);
|
||||
|
||||
if (doc->version == NULL)
|
||||
return(NULL);
|
||||
else
|
||||
return(CONSTSTR(doc->version));
|
||||
}
|
||||
|
||||
/**
|
||||
* xmlTextReaderStandalone:
|
||||
* @reader: the xmlTextReaderPtr used
|
||||
*
|
||||
* Determine the standalone status of the document being read.
|
||||
*
|
||||
* Returns 1 if the document was declared to be standalone, 0 if it
|
||||
* was declared to be not standalone, or -1 if the document did not
|
||||
* specify its standalone status or in case of error.
|
||||
*/
|
||||
int
|
||||
xmlTextReaderStandalone(xmlTextReaderPtr reader) {
|
||||
xmlDocPtr doc = NULL;
|
||||
if (reader == NULL)
|
||||
return(-1);
|
||||
if (reader->doc != NULL)
|
||||
doc = reader->doc;
|
||||
else if (reader->ctxt != NULL)
|
||||
doc = reader->ctxt->myDoc;
|
||||
if (doc == NULL)
|
||||
return(-1);
|
||||
|
||||
return(doc->standalone);
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
* *
|
||||
* Error Handling Extensions *
|
||||
|
Loading…
x
Reference in New Issue
Block a user