mirror of
https://github.com/darlinghq/darling-libxml2.git
synced 2024-11-30 07:30:26 +00:00
Added XPath code (http://www.w3.org/TR/xpath), updated HTML support and docs, Daniel
This commit is contained in:
parent
d79d787092
commit
1566d3a91b
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
||||
Thu Jul 15 16:17:16 CEST 1999 Daniel Veillard <Daniel.Veillard@w3.org>
|
||||
|
||||
* configure.in: upgraded to version 1.4.0
|
||||
* xpath.c, xpath.h, testXPath.c, makefile.am: added code for the XPath
|
||||
draft from W3C. Will be used by XPointer, Xlink, XSL, and possibly
|
||||
XML query language, see http://www.w3.org/TR/xpath for more details.
|
||||
* parser.c, parser.h: added CHAR* related string functions for XPath
|
||||
* HTMLparser.[ch], HTMLtree.c: a bit of cleanup on entities.
|
||||
* doc/gnome-xml.sgml, doc/html/* : added XPath and HTML documentation,
|
||||
rebuild the docs.
|
||||
* Makefile.am, test/XPath/*, result/XPath/*: added an XPathtests target
|
||||
and regression testing capabilities for XPath.
|
||||
|
||||
Mon Jul 12 12:36:39 CEST 1999 Daniel Veillard <Daniel.Veillard@w3.org>
|
||||
|
||||
* parser.c, HTMLparser.c: applied patch from John Ellson <ellson@lucent.com>
|
||||
|
@ -456,6 +456,7 @@ htmlEntityDesc html40EntitiesTable[] = {
|
||||
*/
|
||||
{ 34, "quot", "quotation mark = APL quote, U+0022 ISOnum" },
|
||||
{ 38, "amp", "ampersand, U+0026 ISOnum" },
|
||||
{ 39, "apos", "single quote" },
|
||||
{ 60, "lt", "less-than sign, U+003C ISOnum" },
|
||||
{ 62, "gt", "greater-than sign, U+003E ISOnum" },
|
||||
|
||||
|
@ -37,8 +37,10 @@ htmlDtdDump(xmlBufferPtr buf, xmlDocPtr doc) {
|
||||
if (cur->ExternalID != NULL) {
|
||||
xmlBufferWriteChar(buf, " PUBLIC ");
|
||||
xmlBufferWriteQuotedString(buf, cur->ExternalID);
|
||||
xmlBufferWriteChar(buf, " ");
|
||||
xmlBufferWriteQuotedString(buf, cur->SystemID);
|
||||
if (cur->SystemID != NULL) {
|
||||
xmlBufferWriteChar(buf, " ");
|
||||
xmlBufferWriteQuotedString(buf, cur->SystemID);
|
||||
}
|
||||
} else if (cur->SystemID != NULL) {
|
||||
xmlBufferWriteChar(buf, " SYSTEM ");
|
||||
xmlBufferWriteQuotedString(buf, cur->SystemID);
|
||||
@ -127,7 +129,6 @@ htmlNodeListDump(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur) {
|
||||
*/
|
||||
static void
|
||||
htmlNodeDump(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur) {
|
||||
int i;
|
||||
htmlElemDescPtr info;
|
||||
|
||||
if (cur == NULL) {
|
||||
|
57
Makefile.am
57
Makefile.am
@ -6,7 +6,7 @@ INCLUDES = -I@srcdir@ @CORBA_CFLAGS@ $(VERSION_FLAGS)
|
||||
|
||||
VERSION_FLAGS = -DLIBXML_VERSION=\"@LIBXML_VERSION@\"
|
||||
|
||||
noinst_PROGRAMS=tester testSAX testHTML
|
||||
noinst_PROGRAMS=tester testSAX testHTML testXPath
|
||||
|
||||
bin_SCRIPTS=xml-config
|
||||
|
||||
@ -21,9 +21,10 @@ libxml_la_SOURCES = \
|
||||
error.c \
|
||||
parser.c \
|
||||
HTMLparser.c \
|
||||
HTMLtree.c \
|
||||
debugXML.c \
|
||||
tree.c \
|
||||
HTMLtree.c \
|
||||
xpath.c \
|
||||
valid.c
|
||||
|
||||
xmlincdir = $(includedir)/gnome-xml
|
||||
@ -32,10 +33,12 @@ xmlinc_HEADERS = \
|
||||
encoding.h \
|
||||
parser.h \
|
||||
HTMLparser.h \
|
||||
HTMLtree.h \
|
||||
parserInternals.h \
|
||||
debugXML.h \
|
||||
xml-error.h \
|
||||
tree.h \
|
||||
xpath.h \
|
||||
xmlIO.h \
|
||||
valid.h
|
||||
|
||||
@ -57,9 +60,14 @@ testHTML_LDFLAGS =
|
||||
testHTML_DEPENDENCIES = $(DEPS)
|
||||
testHTML_LDADD= $(LDADDS)
|
||||
|
||||
testXPath_SOURCES=testXPath.c
|
||||
testXPath_LDFLAGS =
|
||||
testXPath_DEPENDENCIES = $(DEPS)
|
||||
testXPath_LDADD= $(LDADDS)
|
||||
|
||||
check-local: tests
|
||||
|
||||
testall : tests SVGtests SAXtests
|
||||
testall : tests SVGtests SAXtests XPathtests
|
||||
|
||||
tests: HTMLtests XMLtests
|
||||
HTMLtests : testHTML
|
||||
@ -110,6 +118,35 @@ SVGtests : tester
|
||||
rm result.`basename $$i` result2.`basename $$i` ; \
|
||||
fi ; fi ; done)
|
||||
|
||||
XPathtests : testXPath
|
||||
@(DIR=`pwd`; cd $(srcdir) ; \
|
||||
for i in test/XPath/expr/* ; do \
|
||||
if [ ! -d $$i ] ; then \
|
||||
if [ ! -f result/XPath/expr/`basename $$i` ] ; then \
|
||||
echo New test file `basename $$i` ; \
|
||||
$$DIR/testXPath -f --expr $$i > result/XPath/expr/`basename $$i` ; \
|
||||
else \
|
||||
echo Testing `basename $$i` ; \
|
||||
$$DIR/testXPath -f --expr $$i > result.`basename $$i` ; \
|
||||
diff result/XPath/expr/`basename $$i` result.`basename $$i` ; \
|
||||
rm result.`basename $$i` ; \
|
||||
fi ; fi ; done)
|
||||
@(DIR=`pwd`; cd $(srcdir) ; \
|
||||
for i in test/XPath/docs/* ; do \
|
||||
if [ ! -d $$i ] ; then \
|
||||
name=`basename $$i`; \
|
||||
for j in test/XPath/tests/$$name* ; do \
|
||||
if [ ! -d $$j ] ; then \
|
||||
if [ ! -f result/XPath/tests/`basename $$j` ] ; then \
|
||||
echo New test file `basename $$i` ; \
|
||||
$$DIR/testXPath -f -i $$i $$j > result/XPath/tests/`basename $$j` ; \
|
||||
else \
|
||||
echo Testing `basename $$j` ; \
|
||||
$$DIR/testXPath -f -i $$i $$j > result.`basename $$j` ; \
|
||||
diff result/XPath/tests/`basename $$j` result.`basename $$j` ; \
|
||||
rm result.`basename $$j` ; \
|
||||
fi ; fi ; done ; fi ; done)
|
||||
|
||||
SAXtests : testSAX
|
||||
@(DIR=`pwd`; cd $(srcdir) ; \
|
||||
for i in test/* ; do \
|
||||
@ -124,20 +161,6 @@ SAXtests : testSAX
|
||||
rm result.`basename $$i` ; \
|
||||
fi ; fi ; done)
|
||||
|
||||
#tests : tester
|
||||
# @(for i in $(srcdir)/test/* ; do \
|
||||
# if [ ! -d $$i ] ; then \
|
||||
# j=`echo $$i | sed -e 's,^.*/,,'`; \
|
||||
# if [ ! -f $(srcdir)/result/$$j ] ; then \
|
||||
# echo New test file $$j ; \
|
||||
# ./tester $$i > $(srcdir)/result/$$j ; \
|
||||
# else \
|
||||
# echo Testing $$j ; \
|
||||
# ./tester $$i > result.$$j ; \
|
||||
# diff $(srcdir)/result/$$j result.$$j ; \
|
||||
# rm result.$$j ; \
|
||||
# fi ; fi ; done)
|
||||
|
||||
## Put `exec' in the name because this should be installed by
|
||||
## `install-exec', not `install-data'.
|
||||
|
||||
|
@ -4,7 +4,7 @@ AC_INIT(entities.h)
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
|
||||
LIBXML_MAJOR_VERSION=1
|
||||
LIBXML_MINOR_VERSION=3
|
||||
LIBXML_MINOR_VERSION=4
|
||||
LIBXML_MICRO_VERSION=0
|
||||
LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION
|
||||
LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
|
||||
|
@ -113,7 +113,7 @@ void xmlDebugDumpAttrList(FILE *output, xmlAttrPtr attr, int depth) {
|
||||
}
|
||||
}
|
||||
|
||||
void xmlDebugDumpNode(FILE *output, xmlNodePtr node, int depth) {
|
||||
void xmlDebugDumpOneNode(FILE *output, xmlNodePtr node, int depth) {
|
||||
int i;
|
||||
char shift[100];
|
||||
|
||||
@ -187,6 +187,10 @@ void xmlDebugDumpNode(FILE *output, xmlNodePtr node, int depth) {
|
||||
if (ent != NULL)
|
||||
xmlDebugDumpEntity(output, ent, depth + 1);
|
||||
}
|
||||
}
|
||||
|
||||
void xmlDebugDumpNode(FILE *output, xmlNodePtr node, int depth) {
|
||||
xmlDebugDumpOneNode(output, node, depth);
|
||||
if (node->childs != NULL)
|
||||
xmlDebugDumpNodeList(output, node->childs, depth + 1);
|
||||
}
|
||||
|
@ -12,6 +12,7 @@
|
||||
extern void xmlDebugDumpString(FILE *output, const CHAR *str);
|
||||
extern void xmlDebugDumpAttr(FILE *output, xmlAttrPtr attr, int depth);
|
||||
extern void xmlDebugDumpAttrList(FILE *output, xmlAttrPtr attr, int depth);
|
||||
extern void xmlDebugDumpOneNode(FILE *output, xmlNodePtr node, int depth);
|
||||
extern void xmlDebugDumpNode(FILE *output, xmlNodePtr node, int depth);
|
||||
extern void xmlDebugDumpNodeList(FILE *output, xmlNodePtr node, int depth);
|
||||
extern void xmlDebugDumpDocument(FILE *output, xmlDocPtr doc);
|
||||
|
@ -4,6 +4,10 @@
|
||||
<!entity entities SYSTEM "sgml/entities.sgml">
|
||||
<!entity error SYSTEM "sgml/xml-error.sgml">
|
||||
<!entity valid SYSTEM "sgml/valid.sgml">
|
||||
<!entity xpath SYSTEM "sgml/xpath.sgml">
|
||||
<!entity SAX SYSTEM "sgml/SAX.sgml">
|
||||
<!entity HTMLparser SYSTEM "sgml/HTMLparser.sgml">
|
||||
<!entity HTMLtree SYSTEM "sgml/HTMLtree.sgml">
|
||||
<!entity parserInternals SYSTEM "sgml/parserInternals.sgml">
|
||||
]>
|
||||
|
||||
@ -15,11 +19,15 @@
|
||||
<chapter id="libxml">
|
||||
<title>Gnome XML Library</title>
|
||||
&parser; The parser general interfaces
|
||||
&SAX; The parser SAX interfaces
|
||||
&tree; Manipulation the tree generated by the parser
|
||||
&entities; Routines for handling entities
|
||||
&valid; All the stuff defined in DTDs
|
||||
&error; Callbacks in case of parsing error
|
||||
&parserInternals; Access to the parser internal routines
|
||||
&HTMLparser; parsing HTML and generating a tree
|
||||
&HTMLtree; printing HTML trees
|
||||
&xpath; A on-going XPath implementation
|
||||
</chapter>
|
||||
</book>
|
||||
|
||||
|
@ -83,6 +83,21 @@ HREF="gnome-xml-xml-error.html"
|
||||
HREF="gnome-xml-parserinternals.html"
|
||||
>parserInternals</A
|
||||
> — </DT
|
||||
><DT
|
||||
><A
|
||||
HREF="gnome-xml-htmlparser.html"
|
||||
>HTMLparser</A
|
||||
> — </DT
|
||||
><DT
|
||||
><A
|
||||
HREF="gnome-xml-htmltree.html"
|
||||
>HTMLtree</A
|
||||
> — </DT
|
||||
><DT
|
||||
><A
|
||||
HREF="gnome-xml-xpath.html"
|
||||
>xpath</A
|
||||
> — </DT
|
||||
></DL
|
||||
></DD
|
||||
></DL
|
||||
|
@ -115,7 +115,7 @@ SIZE="3"
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
NAME="AEN3522"
|
||||
NAME="AEN3575"
|
||||
></A
|
||||
><H2
|
||||
>Name</H2
|
||||
@ -123,7 +123,7 @@ NAME="AEN3522"
|
||||
><DIV
|
||||
CLASS="REFSYNOPSISDIV"
|
||||
><A
|
||||
NAME="AEN3525"
|
||||
NAME="AEN3578"
|
||||
></A
|
||||
><H2
|
||||
>Synopsis</H2
|
||||
@ -260,13 +260,27 @@ HREF="gnome-xml-tree.html#XMLDOCPTR"
|
||||
HREF="gnome-xml-tree.html#CHAR"
|
||||
>CHAR</A
|
||||
> *name);
|
||||
const <A
|
||||
HREF="gnome-xml-tree.html#CHAR"
|
||||
>CHAR</A
|
||||
>* <A
|
||||
HREF="gnome-xml-entities.html#XMLENCODEENTITIES"
|
||||
>xmlEncodeEntities</A
|
||||
> (<A
|
||||
HREF="gnome-xml-tree.html#XMLDOCPTR"
|
||||
>xmlDocPtr</A
|
||||
> doc,
|
||||
const <A
|
||||
HREF="gnome-xml-tree.html#CHAR"
|
||||
>CHAR</A
|
||||
> *input);
|
||||
<A
|
||||
HREF="gnome-xml-tree.html#CHAR"
|
||||
>CHAR</A
|
||||
>* <A
|
||||
HREF="gnome-xml-entities.html#XMLENCODEENTITIES"
|
||||
>xmlEncodeEntities</A
|
||||
> (<A
|
||||
HREF="gnome-xml-entities.html#XMLENCODEENTITIESREENTRANT"
|
||||
>xmlEncodeEntitiesReentrant</A
|
||||
> (<A
|
||||
HREF="gnome-xml-tree.html#XMLDOCPTR"
|
||||
>xmlDocPtr</A
|
||||
> doc,
|
||||
@ -316,7 +330,7 @@ HREF="gnome-xml-entities.html#XMLENTITIESTABLEPTR"
|
||||
><DIV
|
||||
CLASS="REFSECT1"
|
||||
><A
|
||||
NAME="AEN3574"
|
||||
NAME="AEN3631"
|
||||
></A
|
||||
><H2
|
||||
>Description</H2
|
||||
@ -326,14 +340,14 @@ NAME="AEN3574"
|
||||
><DIV
|
||||
CLASS="REFSECT1"
|
||||
><A
|
||||
NAME="AEN3577"
|
||||
NAME="AEN3634"
|
||||
></A
|
||||
><H2
|
||||
>Details</H2
|
||||
><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3579"
|
||||
NAME="AEN3636"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -349,7 +363,7 @@ CELLPADDING="6"
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>#define XML_INTERNAL_GENERAL_ENTITY 1</PRE
|
||||
>#define XML_INTERNAL_GENERAL_ENTITY</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
@ -359,7 +373,7 @@ CLASS="PROGRAMLISTING"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3584"
|
||||
NAME="AEN3641"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -375,7 +389,7 @@ CELLPADDING="6"
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>#define XML_EXTERNAL_GENERAL_PARSED_ENTITY 2</PRE
|
||||
>#define XML_EXTERNAL_GENERAL_PARSED_ENTITY</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
@ -385,7 +399,7 @@ CLASS="PROGRAMLISTING"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3589"
|
||||
NAME="AEN3646"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -401,7 +415,7 @@ CELLPADDING="6"
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>#define XML_EXTERNAL_GENERAL_UNPARSED_ENTITY 3</PRE
|
||||
>#define XML_EXTERNAL_GENERAL_UNPARSED_ENTITY</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
@ -411,7 +425,7 @@ CLASS="PROGRAMLISTING"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3594"
|
||||
NAME="AEN3651"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -427,7 +441,7 @@ CELLPADDING="6"
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>#define XML_INTERNAL_PARAMETER_ENTITY 4</PRE
|
||||
>#define XML_INTERNAL_PARAMETER_ENTITY</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
@ -437,7 +451,7 @@ CLASS="PROGRAMLISTING"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3599"
|
||||
NAME="AEN3656"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -453,7 +467,7 @@ CELLPADDING="6"
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>#define XML_EXTERNAL_PARAMETER_ENTITY 5</PRE
|
||||
>#define XML_EXTERNAL_PARAMETER_ENTITY</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
@ -463,7 +477,7 @@ CLASS="PROGRAMLISTING"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3604"
|
||||
NAME="AEN3661"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -479,7 +493,7 @@ CELLPADDING="6"
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>#define XML_INTERNAL_PREDEFINED_ENTITY 6</PRE
|
||||
>#define XML_INTERNAL_PREDEFINED_ENTITY</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
@ -489,33 +503,20 @@ CLASS="PROGRAMLISTING"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3609"
|
||||
NAME="AEN3666"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
NAME="XMLENTITYPTR"
|
||||
></A
|
||||
>xmlEntityPtr</H3
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#D6E8FF"
|
||||
WIDTH="100%"
|
||||
CELLPADDING="6"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>typedef xmlEntity *xmlEntityPtr;</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3614"
|
||||
NAME="AEN3670"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -531,7 +532,7 @@ CELLPADDING="6"
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>#define XML_MIN_ENTITIES_TABLE 32</PRE
|
||||
>#define XML_MIN_ENTITIES_TABLE</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
@ -541,33 +542,20 @@ CLASS="PROGRAMLISTING"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3619"
|
||||
NAME="AEN3675"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
NAME="XMLENTITIESTABLEPTR"
|
||||
></A
|
||||
>xmlEntitiesTablePtr</H3
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#D6E8FF"
|
||||
WIDTH="100%"
|
||||
CELLPADDING="6"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>typedef xmlEntitiesTable *xmlEntitiesTablePtr;</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3624"
|
||||
NAME="AEN3679"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -637,7 +625,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the document</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -654,7 +642,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the entity name</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -671,7 +659,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the entity type XML_xxx_yyy_ENTITY</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -688,7 +676,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the entity external ID if available</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -705,7 +693,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the entity system ID if available</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -722,7 +710,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the entity content</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -732,7 +720,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3664"
|
||||
NAME="AEN3719"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -802,7 +790,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the document</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -819,7 +807,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the entity name</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -836,7 +824,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the entity type XML_xxx_yyy_ENTITY</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -853,7 +841,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the entity external ID if available</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -870,7 +858,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the entity system ID if available</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -887,7 +875,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the entity content</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -897,7 +885,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3704"
|
||||
NAME="AEN3759"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -953,7 +941,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the entity name</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -968,7 +956,7 @@ CLASS="EMPHASIS"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
>NULL if not, othervise the entity</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -978,7 +966,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3725"
|
||||
NAME="AEN3780"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -1040,7 +1028,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the document referencing the entity</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1057,7 +1045,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the entity name</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1072,7 +1060,7 @@ CLASS="EMPHASIS"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
>A pointer to the entity structure or NULL if not found.</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -1082,7 +1070,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3751"
|
||||
NAME="AEN3806"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -1143,7 +1131,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the document referencing the entity</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1160,7 +1148,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the entity name</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1175,7 +1163,7 @@ CLASS="EMPHASIS"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
>A pointer to the entity structure or NULL if not found.</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -1185,7 +1173,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3777"
|
||||
NAME="AEN3832"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -1201,10 +1189,10 @@ CELLPADDING="6"
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
><A
|
||||
>const <A
|
||||
HREF="gnome-xml-tree.html#CHAR"
|
||||
>CHAR</A
|
||||
>* xmlEncodeEntities (<A
|
||||
>* xmlEncodeEntities (<A
|
||||
HREF="gnome-xml-tree.html#XMLDOCPTR"
|
||||
>xmlDocPtr</A
|
||||
> doc,
|
||||
@ -1222,6 +1210,119 @@ and non ASCII values with their entities and CharRef counterparts.</P
|
||||
>TODO !!!! Once moved to UTF-8 internal encoding, the encoding of non-ascii
|
||||
get erroneous.</P
|
||||
><P
|
||||
>TODO This routine is not reentrant, the interface
|
||||
should not be modified though.</P
|
||||
><P
|
||||
>People must migrate their code to xmlEncodeEntitiesReentrant !</P
|
||||
><P
|
||||
></P
|
||||
><DIV
|
||||
CLASS="INFORMALTABLE"
|
||||
><P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
WIDTH="100%"
|
||||
BGCOLOR="#FFD0D0"
|
||||
CELLSPACING="0"
|
||||
CELLPADDING="4"
|
||||
CLASS="CALSTABLE"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="20%"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
><TT
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>doc</I
|
||||
></TT
|
||||
> :</TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="20%"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
><TT
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>input</I
|
||||
></TT
|
||||
> :</TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="20%"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
><I
|
||||
CLASS="EMPHASIS"
|
||||
>Returns</I
|
||||
> :</TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
></DIV
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3861"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
NAME="XMLENCODEENTITIESREENTRANT"
|
||||
></A
|
||||
>xmlEncodeEntitiesReentrant ()</H3
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#D6E8FF"
|
||||
WIDTH="100%"
|
||||
CELLPADDING="6"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
><A
|
||||
HREF="gnome-xml-tree.html#CHAR"
|
||||
>CHAR</A
|
||||
>* xmlEncodeEntitiesReentrant (<A
|
||||
HREF="gnome-xml-tree.html#XMLDOCPTR"
|
||||
>xmlDocPtr</A
|
||||
> doc,
|
||||
const <A
|
||||
HREF="gnome-xml-tree.html#CHAR"
|
||||
>CHAR</A
|
||||
> *input);</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
>Do a global encoding of a string, replacing the predefined entities
|
||||
and non ASCII values with their entities and CharRef counterparts.
|
||||
Contrary to xmlEncodeEntities, this routine is reentrant, and result
|
||||
must be deallocated.</P
|
||||
><P
|
||||
>TODO !!!! Once moved to UTF-8 internal encoding, the encoding of non-ascii
|
||||
get erroneous.</P
|
||||
><P
|
||||
></P
|
||||
><DIV
|
||||
CLASS="INFORMALTABLE"
|
||||
@ -1249,7 +1350,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the document containing the string</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1266,7 +1367,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> A string to convert to XML.</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1281,7 +1382,7 @@ CLASS="EMPHASIS"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
>A newly allocated string with the substitution done.</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -1291,7 +1392,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3804"
|
||||
NAME="AEN3888"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -1342,7 +1443,7 @@ CLASS="EMPHASIS"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
>the xmlEntitiesTablePtr just created or NULL in case of error.</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -1352,7 +1453,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3820"
|
||||
NAME="AEN3904"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -1408,7 +1509,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> An entity table</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1423,7 +1524,7 @@ CLASS="EMPHASIS"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
>the new xmlEntitiesTablePtr or NULL in case of error.</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -1433,7 +1534,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3841"
|
||||
NAME="AEN3925"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -1486,7 +1587,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> An entity table</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -1496,7 +1597,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3857"
|
||||
NAME="AEN3941"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -1553,7 +1654,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> An XML buffer.</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1570,7 +1671,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> An entity table</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
|
1409
doc/html/gnome-xml-htmlparser.html
Normal file
1409
doc/html/gnome-xml-htmlparser.html
Normal file
File diff suppressed because it is too large
Load Diff
671
doc/html/gnome-xml-htmltree.html
Normal file
671
doc/html/gnome-xml-htmltree.html
Normal file
@ -0,0 +1,671 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>HTMLtree</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Gnome XML Library Reference Manual"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Gnome XML Library"
|
||||
HREF="libxml.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="HTMLparser"
|
||||
HREF="gnome-xml-htmlparser.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="xpath"
|
||||
HREF="gnome-xml-xpath.html"></HEAD
|
||||
><BODY
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
BGCOLOR="#000000"
|
||||
CELLPADDING="1"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="4"
|
||||
ALIGN="center"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="5"
|
||||
>Gnome XML Library Reference Manual</FONT
|
||||
></TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="25%"
|
||||
BGCOLOR="#C00000"
|
||||
ALIGN="left"
|
||||
><A
|
||||
HREF="gnome-xml-htmlparser.html"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
><<< Previous Page</B
|
||||
></FONT
|
||||
></A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="25%"
|
||||
BGCOLOR="#0000C0"
|
||||
ALIGN="center"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
><A
|
||||
HREF="book1.html"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
>Home</B
|
||||
></FONT
|
||||
></A
|
||||
></B
|
||||
></FONT
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="25%"
|
||||
BGCOLOR="#00C000"
|
||||
ALIGN="center"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
><A
|
||||
HREF="libxml.html"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
>Up</B
|
||||
></FONT
|
||||
></A
|
||||
></B
|
||||
></FONT
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="25%"
|
||||
BGCOLOR="#C00000"
|
||||
ALIGN="right"
|
||||
><A
|
||||
HREF="gnome-xml-xpath.html"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
>Next Page >>></B
|
||||
></FONT
|
||||
></A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
><H1
|
||||
>HTMLtree</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
NAME="AEN6690"
|
||||
></A
|
||||
><H2
|
||||
>Name</H2
|
||||
>HTMLtree — </DIV
|
||||
><DIV
|
||||
CLASS="REFSYNOPSISDIV"
|
||||
><A
|
||||
NAME="AEN6693"
|
||||
></A
|
||||
><H2
|
||||
>Synopsis</H2
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#D6E8FF"
|
||||
WIDTH="100%"
|
||||
CELLPADDING="6"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SYNOPSIS"
|
||||
>
|
||||
|
||||
#define <A
|
||||
HREF="gnome-xml-htmltree.html#HTML-TEXT-NODE"
|
||||
>HTML_TEXT_NODE</A
|
||||
>
|
||||
#define <A
|
||||
HREF="gnome-xml-htmltree.html#HTML-ENTITY-REF-NODE"
|
||||
>HTML_ENTITY_REF_NODE</A
|
||||
>
|
||||
#define <A
|
||||
HREF="gnome-xml-htmltree.html#HTML-COMMENT-NODE"
|
||||
>HTML_COMMENT_NODE</A
|
||||
>
|
||||
void <A
|
||||
HREF="gnome-xml-htmltree.html#HTMLDOCDUMPMEMORY"
|
||||
>htmlDocDumpMemory</A
|
||||
> (<A
|
||||
HREF="gnome-xml-tree.html#XMLDOCPTR"
|
||||
>xmlDocPtr</A
|
||||
> cur,
|
||||
<A
|
||||
HREF="gnome-xml-tree.html#CHAR"
|
||||
>CHAR</A
|
||||
> **mem,
|
||||
int *size);
|
||||
void <A
|
||||
HREF="gnome-xml-htmltree.html#HTMLDOCDUMP"
|
||||
>htmlDocDump</A
|
||||
> (<GTKDOCLINK
|
||||
HREF="FILE"
|
||||
>FILE</GTKDOCLINK
|
||||
> *f,
|
||||
<A
|
||||
HREF="gnome-xml-tree.html#XMLDOCPTR"
|
||||
>xmlDocPtr</A
|
||||
> cur);
|
||||
int <A
|
||||
HREF="gnome-xml-htmltree.html#HTMLSAVEFILE"
|
||||
>htmlSaveFile</A
|
||||
> (const char *filename,
|
||||
<A
|
||||
HREF="gnome-xml-tree.html#XMLDOCPTR"
|
||||
>xmlDocPtr</A
|
||||
> cur);</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="REFSECT1"
|
||||
><A
|
||||
NAME="AEN6707"
|
||||
></A
|
||||
><H2
|
||||
>Description</H2
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="REFSECT1"
|
||||
><A
|
||||
NAME="AEN6710"
|
||||
></A
|
||||
><H2
|
||||
>Details</H2
|
||||
><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN6712"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
NAME="HTML-TEXT-NODE"
|
||||
></A
|
||||
>HTML_TEXT_NODE</H3
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#D6E8FF"
|
||||
WIDTH="100%"
|
||||
CELLPADDING="6"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>#define HTML_TEXT_NODE XML_TEXT_NODE</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN6717"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
NAME="HTML-ENTITY-REF-NODE"
|
||||
></A
|
||||
>HTML_ENTITY_REF_NODE</H3
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#D6E8FF"
|
||||
WIDTH="100%"
|
||||
CELLPADDING="6"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>#define HTML_ENTITY_REF_NODE XML_ENTITY_REF_NODE</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN6722"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
NAME="HTML-COMMENT-NODE"
|
||||
></A
|
||||
>HTML_COMMENT_NODE</H3
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#D6E8FF"
|
||||
WIDTH="100%"
|
||||
CELLPADDING="6"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>#define HTML_COMMENT_NODE XML_COMMENT_NODE</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN6727"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
NAME="HTMLDOCDUMPMEMORY"
|
||||
></A
|
||||
>htmlDocDumpMemory ()</H3
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#D6E8FF"
|
||||
WIDTH="100%"
|
||||
CELLPADDING="6"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>void htmlDocDumpMemory (<A
|
||||
HREF="gnome-xml-tree.html#XMLDOCPTR"
|
||||
>xmlDocPtr</A
|
||||
> cur,
|
||||
<A
|
||||
HREF="gnome-xml-tree.html#CHAR"
|
||||
>CHAR</A
|
||||
> **mem,
|
||||
int *size);</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
>Dump an HTML document in memory and return the CHAR * and it's size.
|
||||
It's up to the caller to free the memory.</P
|
||||
><P
|
||||
></P
|
||||
><DIV
|
||||
CLASS="INFORMALTABLE"
|
||||
><P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
WIDTH="100%"
|
||||
BGCOLOR="#FFD0D0"
|
||||
CELLSPACING="0"
|
||||
CELLPADDING="4"
|
||||
CLASS="CALSTABLE"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="20%"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
><TT
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>cur</I
|
||||
></TT
|
||||
> :</TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the document</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="20%"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
><TT
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>mem</I
|
||||
></TT
|
||||
> :</TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> OUT: the memory pointer</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="20%"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
><TT
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>size</I
|
||||
></TT
|
||||
> :</TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> OUT: the memory lenght</TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
></DIV
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN6752"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
NAME="HTMLDOCDUMP"
|
||||
></A
|
||||
>htmlDocDump ()</H3
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#D6E8FF"
|
||||
WIDTH="100%"
|
||||
CELLPADDING="6"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>void htmlDocDump (<GTKDOCLINK
|
||||
HREF="FILE"
|
||||
>FILE</GTKDOCLINK
|
||||
> *f,
|
||||
<A
|
||||
HREF="gnome-xml-tree.html#XMLDOCPTR"
|
||||
>xmlDocPtr</A
|
||||
> cur);</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
>Dump an HTML document to an open FILE.</P
|
||||
><P
|
||||
></P
|
||||
><DIV
|
||||
CLASS="INFORMALTABLE"
|
||||
><P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
WIDTH="100%"
|
||||
BGCOLOR="#FFD0D0"
|
||||
CELLSPACING="0"
|
||||
CELLPADDING="4"
|
||||
CLASS="CALSTABLE"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="20%"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
><TT
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>f</I
|
||||
></TT
|
||||
> :</TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the FILE*</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="20%"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
><TT
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>cur</I
|
||||
></TT
|
||||
> :</TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the document</TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
></DIV
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN6773"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
NAME="HTMLSAVEFILE"
|
||||
></A
|
||||
>htmlSaveFile ()</H3
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#D6E8FF"
|
||||
WIDTH="100%"
|
||||
CELLPADDING="6"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>int htmlSaveFile (const char *filename,
|
||||
<A
|
||||
HREF="gnome-xml-tree.html#XMLDOCPTR"
|
||||
>xmlDocPtr</A
|
||||
> cur);</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
>Dump an HTML document to a file.</P
|
||||
><P
|
||||
></P
|
||||
><DIV
|
||||
CLASS="INFORMALTABLE"
|
||||
><P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
WIDTH="100%"
|
||||
BGCOLOR="#FFD0D0"
|
||||
CELLSPACING="0"
|
||||
CELLPADDING="4"
|
||||
CLASS="CALSTABLE"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="20%"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
><TT
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>filename</I
|
||||
></TT
|
||||
> :</TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the filename</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="20%"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
><TT
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>cur</I
|
||||
></TT
|
||||
> :</TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the document</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="20%"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
><I
|
||||
CLASS="EMPHASIS"
|
||||
>Returns</I
|
||||
> :</TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the number of byte written or -1 in case of failure.</TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><BR><BR><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
BGCOLOR="#000000"
|
||||
CELLPADDING="1"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="25%"
|
||||
BGCOLOR="#C00000"
|
||||
ALIGN="left"
|
||||
><A
|
||||
HREF="gnome-xml-htmlparser.html"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
><<< Previous Page</B
|
||||
></FONT
|
||||
></A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="25%"
|
||||
BGCOLOR="#0000C0"
|
||||
ALIGN="center"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
><A
|
||||
HREF="book1.html"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
>Home</B
|
||||
></FONT
|
||||
></A
|
||||
></B
|
||||
></FONT
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="25%"
|
||||
BGCOLOR="#00C000"
|
||||
ALIGN="center"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
><A
|
||||
HREF="libxml.html"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
>Up</B
|
||||
></FONT
|
||||
></A
|
||||
></B
|
||||
></FONT
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="25%"
|
||||
BGCOLOR="#C00000"
|
||||
ALIGN="right"
|
||||
><A
|
||||
HREF="gnome-xml-xpath.html"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
>Next Page >>></B
|
||||
></FONT
|
||||
></A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
COLSPAN="2"
|
||||
ALIGN="left"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
>HTMLparser</B
|
||||
></FONT
|
||||
></TD
|
||||
><TD
|
||||
COLSPAN="2"
|
||||
ALIGN="right"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
>xpath</B
|
||||
></FONT
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -115,7 +115,7 @@ SIZE="3"
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
NAME="AEN3883"
|
||||
NAME="AEN3967"
|
||||
></A
|
||||
><H2
|
||||
>Name</H2
|
||||
@ -123,7 +123,7 @@ NAME="AEN3883"
|
||||
><DIV
|
||||
CLASS="REFSYNOPSISDIV"
|
||||
><A
|
||||
NAME="AEN3886"
|
||||
NAME="AEN3970"
|
||||
></A
|
||||
><H2
|
||||
>Synopsis</H2
|
||||
@ -377,7 +377,7 @@ HREF="gnome-xml-valid.html#XMLATTRIBUTETABLEPTR"
|
||||
><DIV
|
||||
CLASS="REFSECT1"
|
||||
><A
|
||||
NAME="AEN3953"
|
||||
NAME="AEN4037"
|
||||
></A
|
||||
><H2
|
||||
>Description</H2
|
||||
@ -387,14 +387,14 @@ NAME="AEN3953"
|
||||
><DIV
|
||||
CLASS="REFSECT1"
|
||||
><A
|
||||
NAME="AEN3956"
|
||||
NAME="AEN4040"
|
||||
></A
|
||||
><H2
|
||||
>Details</H2
|
||||
><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3958"
|
||||
NAME="AEN4042"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -410,7 +410,7 @@ CELLPADDING="6"
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>#define XML_MIN_NOTATION_TABLE 32</PRE
|
||||
>#define XML_MIN_NOTATION_TABLE</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
@ -420,33 +420,20 @@ CLASS="PROGRAMLISTING"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3963"
|
||||
NAME="AEN4047"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
NAME="XMLNOTATIONTABLEPTR"
|
||||
></A
|
||||
>xmlNotationTablePtr</H3
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#D6E8FF"
|
||||
WIDTH="100%"
|
||||
CELLPADDING="6"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>typedef xmlNotationTable *xmlNotationTablePtr;</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3968"
|
||||
NAME="AEN4051"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -462,7 +449,7 @@ CELLPADDING="6"
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>#define XML_MIN_ELEMENT_TABLE 32</PRE
|
||||
>#define XML_MIN_ELEMENT_TABLE</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
@ -472,33 +459,20 @@ CLASS="PROGRAMLISTING"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3973"
|
||||
NAME="AEN4056"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
NAME="XMLELEMENTTABLEPTR"
|
||||
></A
|
||||
>xmlElementTablePtr</H3
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#D6E8FF"
|
||||
WIDTH="100%"
|
||||
CELLPADDING="6"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>typedef xmlElementTable *xmlElementTablePtr;</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3978"
|
||||
NAME="AEN4060"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -514,7 +488,7 @@ CELLPADDING="6"
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>#define XML_MIN_ATTRIBUTE_TABLE 32</PRE
|
||||
>#define XML_MIN_ATTRIBUTE_TABLE</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
@ -524,33 +498,20 @@ CLASS="PROGRAMLISTING"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3983"
|
||||
NAME="AEN4065"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
NAME="XMLATTRIBUTETABLEPTR"
|
||||
></A
|
||||
>xmlAttributeTablePtr</H3
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#D6E8FF"
|
||||
WIDTH="100%"
|
||||
CELLPADDING="6"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>typedef xmlAttributeTable *xmlAttributeTablePtr;</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN3988"
|
||||
NAME="AEN4069"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -618,7 +579,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> pointer to the DTD</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -635,7 +596,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the entity name</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -652,7 +613,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the public identifier or NULL</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -669,7 +630,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the system identifier or NULL</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -684,7 +645,7 @@ CLASS="EMPHASIS"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
>NULL if not, othervise the entity</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -694,7 +655,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4024"
|
||||
NAME="AEN4105"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -750,7 +711,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> A notation table</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -765,7 +726,7 @@ CLASS="EMPHASIS"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
>the new xmlNotationTablePtr or NULL in case of error.</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -775,7 +736,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4045"
|
||||
NAME="AEN4126"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -828,7 +789,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> An notation table</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -838,7 +799,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4061"
|
||||
NAME="AEN4142"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -895,7 +856,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the XML buffer output</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -912,7 +873,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> A notation table</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -922,7 +883,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4082"
|
||||
NAME="AEN4163"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -979,7 +940,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the subelement name or NULL</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -996,7 +957,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the type of element content decl</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1011,7 +972,7 @@ CLASS="EMPHASIS"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
>NULL if not, othervise the new element content structure</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -1021,7 +982,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4107"
|
||||
NAME="AEN4188"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -1077,7 +1038,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> An element content pointer.</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1092,7 +1053,7 @@ CLASS="EMPHASIS"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
>the new xmlElementContentPtr or NULL in case of error.</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -1102,7 +1063,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4128"
|
||||
NAME="AEN4209"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -1155,7 +1116,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the element content tree to free</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -1165,7 +1126,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4144"
|
||||
NAME="AEN4225"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -1230,7 +1191,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> pointer to the DTD</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1247,7 +1208,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the entity name</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1264,7 +1225,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the element type</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1281,7 +1242,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the element content tree or NULL</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1296,7 +1257,7 @@ CLASS="EMPHASIS"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
>NULL if not, othervise the entity</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -1306,7 +1267,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4179"
|
||||
NAME="AEN4260"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -1362,7 +1323,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> An element table</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1377,7 +1338,7 @@ CLASS="EMPHASIS"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
>the new xmlElementTablePtr or NULL in case of error.</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -1387,7 +1348,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4200"
|
||||
NAME="AEN4281"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -1440,7 +1401,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> An element table</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -1450,7 +1411,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4216"
|
||||
NAME="AEN4297"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -1507,7 +1468,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the XML buffer output</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1524,7 +1485,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> An element table</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -1534,7 +1495,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4237"
|
||||
NAME="AEN4318"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -1590,7 +1551,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the enumeration name or NULL</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1605,8 +1566,7 @@ CLASS="EMPHASIS"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
>the xmlEnumerationPtr just created or NULL in case
|
||||
of error.</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -1616,7 +1576,7 @@ of error.</TD
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4258"
|
||||
NAME="AEN4339"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -1669,7 +1629,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the tree to free.</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -1679,7 +1639,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4274"
|
||||
NAME="AEN4355"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -1735,7 +1695,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the tree to copy.</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1750,8 +1710,7 @@ CLASS="EMPHASIS"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
>the xmlEnumerationPtr just created or NULL in case
|
||||
of error.</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -1761,7 +1720,7 @@ of error.</TD
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4295"
|
||||
NAME="AEN4376"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -1835,7 +1794,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> pointer to the DTD</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1852,7 +1811,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the element name</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1869,7 +1828,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the attribute name</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1886,7 +1845,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the attribute type</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1903,7 +1862,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the attribute default type</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1920,7 +1879,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the attribute default value</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1937,7 +1896,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> if it's an enumeration, the associated list</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -1952,7 +1911,7 @@ CLASS="EMPHASIS"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
>NULL if not, othervise the entity</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -1962,7 +1921,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4344"
|
||||
NAME="AEN4425"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -2018,7 +1977,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> An attribute table</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -2033,7 +1992,7 @@ CLASS="EMPHASIS"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
>the new xmlAttributeTablePtr or NULL in case of error.</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -2043,7 +2002,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4365"
|
||||
NAME="AEN4446"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -2096,7 +2055,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> An attribute table</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
@ -2106,7 +2065,7 @@ VALIGN="TOP"
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4381"
|
||||
NAME="AEN4462"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
@ -2163,7 +2122,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> the XML buffer output</TD
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
@ -2180,7 +2139,7 @@ CLASS="PARAMETER"
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> An attribute table</TD
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
|
473
doc/html/gnome-xml-xml-error.html
Normal file
473
doc/html/gnome-xml-xml-error.html
Normal file
@ -0,0 +1,473 @@
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>xml-error</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Gnome XML Library Reference Manual"
|
||||
HREF="book1.html"><LINK
|
||||
REL="UP"
|
||||
TITLE="Gnome XML Library"
|
||||
HREF="libxml.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="valid"
|
||||
HREF="gnome-xml-valid.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="parserInternals"
|
||||
HREF="gnome-xml-parserinternals.html"></HEAD
|
||||
><BODY
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
><DIV
|
||||
CLASS="NAVHEADER"
|
||||
><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
BGCOLOR="#000000"
|
||||
CELLPADDING="1"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TH
|
||||
COLSPAN="4"
|
||||
ALIGN="center"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="5"
|
||||
>Gnome XML Library Reference Manual</FONT
|
||||
></TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="25%"
|
||||
BGCOLOR="#C00000"
|
||||
ALIGN="left"
|
||||
><A
|
||||
HREF="gnome-xml-valid.html"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
><<< Previous Page</B
|
||||
></FONT
|
||||
></A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="25%"
|
||||
BGCOLOR="#0000C0"
|
||||
ALIGN="center"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
><A
|
||||
HREF="book1.html"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
>Home</B
|
||||
></FONT
|
||||
></A
|
||||
></B
|
||||
></FONT
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="25%"
|
||||
BGCOLOR="#00C000"
|
||||
ALIGN="center"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
><A
|
||||
HREF="libxml.html"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
>Up</B
|
||||
></FONT
|
||||
></A
|
||||
></B
|
||||
></FONT
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="25%"
|
||||
BGCOLOR="#C00000"
|
||||
ALIGN="right"
|
||||
><A
|
||||
HREF="gnome-xml-parserinternals.html"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
>Next Page >>></B
|
||||
></FONT
|
||||
></A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
><H1
|
||||
>xml-error</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
NAME="AEN4488"
|
||||
></A
|
||||
><H2
|
||||
>Name</H2
|
||||
>xml-error — </DIV
|
||||
><DIV
|
||||
CLASS="REFSYNOPSISDIV"
|
||||
><A
|
||||
NAME="AEN4491"
|
||||
></A
|
||||
><H2
|
||||
>Synopsis</H2
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#D6E8FF"
|
||||
WIDTH="100%"
|
||||
CELLPADDING="6"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SYNOPSIS"
|
||||
>
|
||||
|
||||
void <A
|
||||
HREF="gnome-xml-xml-error.html#XMLPARSERERROR"
|
||||
>xmlParserError</A
|
||||
> (void *ctx,
|
||||
const char *msg,
|
||||
...);
|
||||
void <A
|
||||
HREF="gnome-xml-xml-error.html#XMLPARSERWARNING"
|
||||
>xmlParserWarning</A
|
||||
> (void *ctx,
|
||||
const char *msg,
|
||||
...);</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="REFSECT1"
|
||||
><A
|
||||
NAME="AEN4496"
|
||||
></A
|
||||
><H2
|
||||
>Description</H2
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="REFSECT1"
|
||||
><A
|
||||
NAME="AEN4499"
|
||||
></A
|
||||
><H2
|
||||
>Details</H2
|
||||
><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4501"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
NAME="XMLPARSERERROR"
|
||||
></A
|
||||
>xmlParserError ()</H3
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#D6E8FF"
|
||||
WIDTH="100%"
|
||||
CELLPADDING="6"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>void xmlParserError (void *ctx,
|
||||
const char *msg,
|
||||
...);</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
>Display and format an error messages, gives file, line, position and
|
||||
extra parameters.</P
|
||||
><P
|
||||
></P
|
||||
><DIV
|
||||
CLASS="INFORMALTABLE"
|
||||
><P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
WIDTH="100%"
|
||||
BGCOLOR="#FFD0D0"
|
||||
CELLSPACING="0"
|
||||
CELLPADDING="4"
|
||||
CLASS="CALSTABLE"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="20%"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
><TT
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>ctx</I
|
||||
></TT
|
||||
> :</TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="20%"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
><TT
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>msg</I
|
||||
></TT
|
||||
> :</TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="20%"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
><TT
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>...</I
|
||||
></TT
|
||||
> :</TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
></DIV
|
||||
><HR><DIV
|
||||
CLASS="REFSECT2"
|
||||
><A
|
||||
NAME="AEN4524"
|
||||
></A
|
||||
><H3
|
||||
><A
|
||||
NAME="XMLPARSERWARNING"
|
||||
></A
|
||||
>xmlParserWarning ()</H3
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#D6E8FF"
|
||||
WIDTH="100%"
|
||||
CELLPADDING="6"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
>void xmlParserWarning (void *ctx,
|
||||
const char *msg,
|
||||
...);</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
>Display and format a warning messages, gives file, line, position and
|
||||
extra parameters.</P
|
||||
><P
|
||||
></P
|
||||
><DIV
|
||||
CLASS="INFORMALTABLE"
|
||||
><P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
WIDTH="100%"
|
||||
BGCOLOR="#FFD0D0"
|
||||
CELLSPACING="0"
|
||||
CELLPADDING="4"
|
||||
CLASS="CALSTABLE"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="20%"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
><TT
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>ctx</I
|
||||
></TT
|
||||
> :</TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="20%"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
><TT
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>msg</I
|
||||
></TT
|
||||
> :</TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="20%"
|
||||
ALIGN="RIGHT"
|
||||
VALIGN="TOP"
|
||||
><TT
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>...</I
|
||||
></TT
|
||||
> :</TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="LEFT"
|
||||
VALIGN="TOP"
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
><BR><BR><TABLE
|
||||
WIDTH="100%"
|
||||
BORDER="0"
|
||||
BGCOLOR="#000000"
|
||||
CELLPADDING="1"
|
||||
CELLSPACING="0"
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="25%"
|
||||
BGCOLOR="#C00000"
|
||||
ALIGN="left"
|
||||
><A
|
||||
HREF="gnome-xml-valid.html"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
><<< Previous Page</B
|
||||
></FONT
|
||||
></A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="25%"
|
||||
BGCOLOR="#0000C0"
|
||||
ALIGN="center"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
><A
|
||||
HREF="book1.html"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
>Home</B
|
||||
></FONT
|
||||
></A
|
||||
></B
|
||||
></FONT
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="25%"
|
||||
BGCOLOR="#00C000"
|
||||
ALIGN="center"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
><A
|
||||
HREF="libxml.html"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
>Up</B
|
||||
></FONT
|
||||
></A
|
||||
></B
|
||||
></FONT
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="25%"
|
||||
BGCOLOR="#C00000"
|
||||
ALIGN="right"
|
||||
><A
|
||||
HREF="gnome-xml-parserinternals.html"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
>Next Page >>></B
|
||||
></FONT
|
||||
></A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
COLSPAN="2"
|
||||
ALIGN="left"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
>valid</B
|
||||
></FONT
|
||||
></TD
|
||||
><TD
|
||||
COLSPAN="2"
|
||||
ALIGN="right"
|
||||
><FONT
|
||||
COLOR="#FFFFFF"
|
||||
SIZE="3"
|
||||
><B
|
||||
>parserInternals</B
|
||||
></FONT
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
1027
doc/html/gnome-xml-xpath.html
Normal file
1027
doc/html/gnome-xml-xpath.html
Normal file
File diff suppressed because it is too large
Load Diff
@ -35,11 +35,15 @@
|
||||
<ANCHOR id ="HASINTERNALSUBSETSAXFUNC" href="gnome-xml/gnome-xml-parser.html#HASINTERNALSUBSETSAXFUNC">
|
||||
<ANCHOR id ="HASEXTERNALSUBSETSAXFUNC" href="gnome-xml/gnome-xml-parser.html#HASEXTERNALSUBSETSAXFUNC">
|
||||
<ANCHOR id ="XMLSAXHANDLERPTR" href="gnome-xml/gnome-xml-parser.html#XMLSAXHANDLERPTR">
|
||||
<ANCHOR id ="XMLPARSERVERSION" href="gnome-xml/gnome-xml-parser.html#XMLPARSERVERSION">
|
||||
<ANCHOR id ="XMLDEFAULTSAXLOCATOR" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXLOCATOR">
|
||||
<ANCHOR id ="XMLDEFAULTSAXHANDLER" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXHANDLER">
|
||||
<ANCHOR id ="HTMLDEFAULTSAXHANDLER" href="gnome-xml/gnome-xml-parser.html#HTMLDEFAULTSAXHANDLER">
|
||||
<ANCHOR id ="XMLSTRDUP" href="gnome-xml/gnome-xml-parser.html#XMLSTRDUP">
|
||||
<ANCHOR id ="XMLSTRNDUP" href="gnome-xml/gnome-xml-parser.html#XMLSTRNDUP">
|
||||
<ANCHOR id ="XMLSTRSUB" href="gnome-xml/gnome-xml-parser.html#XMLSTRSUB">
|
||||
<ANCHOR id ="XMLSTRCHR" href="gnome-xml/gnome-xml-parser.html#XMLSTRCHR">
|
||||
<ANCHOR id ="XMLSTRSTR" href="gnome-xml/gnome-xml-parser.html#XMLSTRSTR">
|
||||
<ANCHOR id ="XMLSTRCMP" href="gnome-xml/gnome-xml-parser.html#XMLSTRCMP">
|
||||
<ANCHOR id ="XMLSTRNCMP" href="gnome-xml/gnome-xml-parser.html#XMLSTRNCMP">
|
||||
<ANCHOR id ="XMLSTRLEN" href="gnome-xml/gnome-xml-parser.html#XMLSTRLEN">
|
||||
@ -67,6 +71,7 @@
|
||||
<ANCHOR id ="XMLPARSERFINDNODEINFOINDEX" href="gnome-xml/gnome-xml-parser.html#XMLPARSERFINDNODEINFOINDEX">
|
||||
<ANCHOR id ="XMLPARSERADDNODEINFO" href="gnome-xml/gnome-xml-parser.html#XMLPARSERADDNODEINFO">
|
||||
<ANCHOR id ="XMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT">
|
||||
<ANCHOR id ="HTMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#HTMLDEFAULTSAXHANDLERINIT">
|
||||
<ANCHOR id ="GNOME-XML-TREE" href="gnome-xml/gnome-xml-tree.html">
|
||||
<ANCHOR id ="XMLELEMENTTYPE" href="gnome-xml/gnome-xml-tree.html#XMLELEMENTTYPE">
|
||||
<ANCHOR id ="CHAR" href="gnome-xml/gnome-xml-tree.html#CHAR">
|
||||
@ -176,6 +181,7 @@
|
||||
<ANCHOR id ="XMLGETDOCENTITY" href="gnome-xml/gnome-xml-entities.html#XMLGETDOCENTITY">
|
||||
<ANCHOR id ="XMLGETDTDENTITY" href="gnome-xml/gnome-xml-entities.html#XMLGETDTDENTITY">
|
||||
<ANCHOR id ="XMLENCODEENTITIES" href="gnome-xml/gnome-xml-entities.html#XMLENCODEENTITIES">
|
||||
<ANCHOR id ="XMLENCODEENTITIESREENTRANT" href="gnome-xml/gnome-xml-entities.html#XMLENCODEENTITIESREENTRANT">
|
||||
<ANCHOR id ="XMLCREATEENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLCREATEENTITIESTABLE">
|
||||
<ANCHOR id ="XMLCOPYENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLCOPYENTITIESTABLE">
|
||||
<ANCHOR id ="XMLFREEENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLFREEENTITIESTABLE">
|
||||
@ -288,3 +294,42 @@
|
||||
<ANCHOR id ="NODEPOP" href="gnome-xml/gnome-xml-parserinternals.html#NODEPOP">
|
||||
<ANCHOR id ="INPUTPUSH" href="gnome-xml/gnome-xml-parserinternals.html#INPUTPUSH">
|
||||
<ANCHOR id ="INPUTPOP" href="gnome-xml/gnome-xml-parserinternals.html#INPUTPOP">
|
||||
<ANCHOR id ="GNOME-XML-HTMLPARSER" href="gnome-xml/gnome-xml-htmlparser.html">
|
||||
<ANCHOR id ="HTMLPARSERCTXT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERCTXT">
|
||||
<ANCHOR id ="HTMLPARSERCTXTPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR">
|
||||
<ANCHOR id ="HTMLPARSERNODEINFO" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERNODEINFO">
|
||||
<ANCHOR id ="HTMLSAXHANDLER" href="gnome-xml/gnome-xml-htmlparser.html#HTMLSAXHANDLER">
|
||||
<ANCHOR id ="HTMLSAXHANDLERPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLSAXHANDLERPTR">
|
||||
<ANCHOR id ="HTMLPARSERINPUT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERINPUT">
|
||||
<ANCHOR id ="HTMLPARSERINPUTPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERINPUTPTR">
|
||||
<ANCHOR id ="HTMLDOCPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLDOCPTR">
|
||||
<ANCHOR id ="HTMLNODEPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLNODEPTR">
|
||||
<ANCHOR id ="HTMLTAGLOOKUP" href="gnome-xml/gnome-xml-htmlparser.html#HTMLTAGLOOKUP">
|
||||
<ANCHOR id ="HTMLENTITYLOOKUP" href="gnome-xml/gnome-xml-htmlparser.html#HTMLENTITYLOOKUP">
|
||||
<ANCHOR id ="HTMLPARSEENTITYREF" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEENTITYREF">
|
||||
<ANCHOR id ="HTMLPARSECHARREF" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSECHARREF">
|
||||
<ANCHOR id ="HTMLPARSEELEMENT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEELEMENT">
|
||||
<ANCHOR id ="HTMLSAXPARSEDOC" href="gnome-xml/gnome-xml-htmlparser.html#HTMLSAXPARSEDOC">
|
||||
<ANCHOR id ="HTMLPARSEDOC" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEDOC">
|
||||
<ANCHOR id ="HTMLSAXPARSEFILE" href="gnome-xml/gnome-xml-htmlparser.html#HTMLSAXPARSEFILE">
|
||||
<ANCHOR id ="HTMLPARSEFILE" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEFILE">
|
||||
<ANCHOR id ="GNOME-XML-HTMLTREE" href="gnome-xml/gnome-xml-htmltree.html">
|
||||
<ANCHOR id ="HTML-TEXT-NODE" href="gnome-xml/gnome-xml-htmltree.html#HTML-TEXT-NODE">
|
||||
<ANCHOR id ="HTML-ENTITY-REF-NODE" href="gnome-xml/gnome-xml-htmltree.html#HTML-ENTITY-REF-NODE">
|
||||
<ANCHOR id ="HTML-COMMENT-NODE" href="gnome-xml/gnome-xml-htmltree.html#HTML-COMMENT-NODE">
|
||||
<ANCHOR id ="HTMLDOCDUMPMEMORY" href="gnome-xml/gnome-xml-htmltree.html#HTMLDOCDUMPMEMORY">
|
||||
<ANCHOR id ="HTMLDOCDUMP" href="gnome-xml/gnome-xml-htmltree.html#HTMLDOCDUMP">
|
||||
<ANCHOR id ="HTMLSAVEFILE" href="gnome-xml/gnome-xml-htmltree.html#HTMLSAVEFILE">
|
||||
<ANCHOR id ="GNOME-XML-XPATH" href="gnome-xml/gnome-xml-xpath.html">
|
||||
<ANCHOR id ="XPATH-UNDEFINED" href="gnome-xml/gnome-xml-xpath.html#XPATH-UNDEFINED">
|
||||
<ANCHOR id ="XPATH-NODESET" href="gnome-xml/gnome-xml-xpath.html#XPATH-NODESET">
|
||||
<ANCHOR id ="XPATH-BOOLEAN" href="gnome-xml/gnome-xml-xpath.html#XPATH-BOOLEAN">
|
||||
<ANCHOR id ="XPATH-NUMBER" href="gnome-xml/gnome-xml-xpath.html#XPATH-NUMBER">
|
||||
<ANCHOR id ="XPATH-STRING" href="gnome-xml/gnome-xml-xpath.html#XPATH-STRING">
|
||||
<ANCHOR id ="XPATH-MARKER" href="gnome-xml/gnome-xml-xpath.html#XPATH-MARKER">
|
||||
<ANCHOR id ="XMLXPATHFUNCTION" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFUNCTION">
|
||||
<ANCHOR id ="XMLXPATHNEWCONTEXT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHNEWCONTEXT">
|
||||
<ANCHOR id ="XMLXPATHFREECONTEXT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREECONTEXT">
|
||||
<ANCHOR id ="XMLXPATHEVAL" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHEVAL">
|
||||
<ANCHOR id ="XMLXPATHFREEOBJECT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREEOBJECT">
|
||||
<ANCHOR id ="XMLXPATHEVALEXPRESSION" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHEVALEXPRESSION">
|
||||
|
@ -106,11 +106,15 @@ NAME="LIBXML"
|
||||
>Gnome XML Library</A
|
||||
></H1
|
||||
>The parser general interfaces
|
||||
The parser SAX interfaces
|
||||
Manipulation the tree generated by the parser
|
||||
Routines for handling entities
|
||||
All the stuff defined in DTDs
|
||||
Callbacks in case of parsing error
|
||||
Access to the parser internal routines
|
||||
parsing HTML and generating a tree
|
||||
printing HTML trees
|
||||
A on-going XPath implementation
|
||||
</DIV
|
||||
><DIV
|
||||
CLASS="NAVFOOTER"
|
||||
|
@ -12,6 +12,7 @@
|
||||
extern void xmlDebugDumpString(FILE *output, const CHAR *str);
|
||||
extern void xmlDebugDumpAttr(FILE *output, xmlAttrPtr attr, int depth);
|
||||
extern void xmlDebugDumpAttrList(FILE *output, xmlAttrPtr attr, int depth);
|
||||
extern void xmlDebugDumpOneNode(FILE *output, xmlNodePtr node, int depth);
|
||||
extern void xmlDebugDumpNode(FILE *output, xmlNodePtr node, int depth);
|
||||
extern void xmlDebugDumpNodeList(FILE *output, xmlNodePtr node, int depth);
|
||||
extern void xmlDebugDumpDocument(FILE *output, xmlDocPtr doc);
|
||||
|
@ -190,7 +190,9 @@ extern xmlSAXHandler htmlDefaultSAXHandler;
|
||||
*/
|
||||
CHAR *xmlStrdup(const CHAR *cur);
|
||||
CHAR *xmlStrndup(const CHAR *cur, int len);
|
||||
CHAR *xmlStrchr(const CHAR *str, CHAR val);
|
||||
CHAR *xmlStrsub(const CHAR *str, int start, int len);
|
||||
const CHAR *xmlStrchr(const CHAR *str, CHAR val);
|
||||
const CHAR *xmlStrstr(const CHAR *str, CHAR *val);
|
||||
int xmlStrcmp(const CHAR *str1, const CHAR *str2);
|
||||
int xmlStrncmp(const CHAR *str1, const CHAR *str2, int len);
|
||||
int xmlStrlen(const CHAR *str);
|
||||
|
108
include/libxml/xpath.h
Normal file
108
include/libxml/xpath.h
Normal file
@ -0,0 +1,108 @@
|
||||
/*
|
||||
* xpath.c: interface for XML Path Language implementation
|
||||
*
|
||||
* Reference: W3C Working Draft 5 July 1999
|
||||
* http://www.w3.org/Style/XSL/Group/1999/07/xpath-19990705.html
|
||||
*
|
||||
* See COPYRIGHT for the status of this software
|
||||
*
|
||||
* Author: Daniel.Veillard@w3.org
|
||||
*/
|
||||
|
||||
#ifndef __XML_XPATH_H__
|
||||
#define __XML_XPATH_H__
|
||||
|
||||
#include "tree.h"
|
||||
|
||||
/*
|
||||
* A node-set (an unordered collection of nodes without duplicates)
|
||||
*/
|
||||
typedef struct xmlNodeSet {
|
||||
int nodeNr; /* # of node in the set */
|
||||
int nodeMax; /* allocated space */
|
||||
xmlNodePtr *nodeTab; /* array of nodes in no particular order */
|
||||
} xmlNodeSet, *xmlNodeSetPtr;
|
||||
|
||||
/*
|
||||
* An expression is evaluated to yield an object, which
|
||||
* has one of the following four basic types:
|
||||
* - node-set
|
||||
* - boolean
|
||||
* - number
|
||||
* - string
|
||||
*/
|
||||
|
||||
#define XPATH_UNDEFINED 0
|
||||
#define XPATH_NODESET 1
|
||||
#define XPATH_BOOLEAN 2
|
||||
#define XPATH_NUMBER 3
|
||||
#define XPATH_STRING 4
|
||||
#define XPATH_MARKER 5 /* used for func call checks */
|
||||
|
||||
typedef struct xmlXPathObject {
|
||||
int type;
|
||||
xmlNodeSetPtr nodesetval;
|
||||
int boolval;
|
||||
float floatval;
|
||||
CHAR *stringval;
|
||||
} xmlXPathObject, *xmlXPathObjectPtr;
|
||||
|
||||
/*
|
||||
* Expression evaluation occurs with respect to a context.
|
||||
* he context consists of:
|
||||
* - a node (the context node)
|
||||
* - a node list (the context node list)
|
||||
* - a set of variable bindings
|
||||
* - a function library
|
||||
* - the set of namespace declarations in scope for the expression
|
||||
*/
|
||||
|
||||
typedef struct xmlXPathContext {
|
||||
xmlDocPtr doc; /* The current document */
|
||||
xmlNodePtr node; /* The current node */
|
||||
xmlNodeSetPtr nodelist; /* The current node list */
|
||||
void *variables; /* TODO !!!! */
|
||||
void *functions; /* TODO !!!! */
|
||||
void *namespaces; /* TODO !!!! */
|
||||
} xmlXPathContext, *xmlXPathContextPtr;
|
||||
|
||||
/*
|
||||
* An XPath parser context, it contains pure parsing informations,
|
||||
* an xmlXPathContext, and the stack of objects.
|
||||
*/
|
||||
typedef struct xmlXPathParserContext {
|
||||
const CHAR *cur; /* the current char being parsed */
|
||||
const CHAR *base; /* the full expression */
|
||||
|
||||
int error; /* error code */
|
||||
|
||||
xmlXPathContextPtr context; /* the evaluation context */
|
||||
xmlXPathObjectPtr value; /* the current value */
|
||||
int valueNr; /* number of values stacked */
|
||||
int valueMax; /* max number of values stacked */
|
||||
xmlXPathObjectPtr *valueTab; /* stack of values */
|
||||
} xmlXPathParserContext, *xmlXPathParserContextPtr;
|
||||
|
||||
/*
|
||||
* An XPath function
|
||||
* The arguments (if any) are popped out of the context stack
|
||||
* and the result is pushed on the stack.
|
||||
*/
|
||||
|
||||
typedef void (*xmlXPathFunction) (xmlXPathParserContextPtr ctxt, int nargs);
|
||||
|
||||
/************************************************************************
|
||||
* *
|
||||
* Public API *
|
||||
* *
|
||||
************************************************************************/
|
||||
|
||||
xmlXPathContextPtr xmlXPathNewContext(xmlDocPtr doc, void *variables,
|
||||
void *functions, void *namespaces);
|
||||
void xmlXPathFreeContext(xmlXPathContextPtr ctxt);
|
||||
xmlXPathObjectPtr xmlXPathEval(const CHAR *str, xmlXPathContextPtr ctxt);
|
||||
void xmlXPathFreeObject(xmlXPathObjectPtr obj);
|
||||
xmlXPathObjectPtr xmlXPathEvalExpression(const CHAR *str,
|
||||
xmlXPathContextPtr ctxt);
|
||||
|
||||
#endif /* ! __XML_XPATH_H__ */
|
57
parser.c
57
parser.c
@ -786,7 +786,7 @@ xmlStrncmp(const CHAR *str1, const CHAR *str2, int len) {
|
||||
* Returns the CHAR * for the first occurence or NULL.
|
||||
*/
|
||||
|
||||
CHAR *
|
||||
const CHAR *
|
||||
xmlStrchr(const CHAR *str, CHAR val) {
|
||||
while (*str != 0) {
|
||||
if (*str == val) return((CHAR *) str);
|
||||
@ -795,6 +795,61 @@ xmlStrchr(const CHAR *str, CHAR val) {
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* xmlStrstr:
|
||||
* @str: the CHAR * array (haystack)
|
||||
* @val: the CHAR to search (needle)
|
||||
*
|
||||
* a strstr for CHAR's
|
||||
*
|
||||
* Returns the CHAR * for the first occurence or NULL.
|
||||
*/
|
||||
|
||||
const CHAR *
|
||||
xmlStrstr(const CHAR *str, CHAR *val) {
|
||||
int n;
|
||||
|
||||
if (str == NULL) return(NULL);
|
||||
if (val == NULL) return(NULL);
|
||||
n = xmlStrlen(val);
|
||||
|
||||
if (n == 0) return(str);
|
||||
while (*str != 0) {
|
||||
if (*str == *val) {
|
||||
if (!xmlStrncmp(str, val, n)) return((const CHAR *) str);
|
||||
}
|
||||
str++;
|
||||
}
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* xmlStrsub:
|
||||
* @str: the CHAR * array (haystack)
|
||||
* @start: the index of the first char (zero based)
|
||||
* @len: the length of the substring
|
||||
*
|
||||
* Extract a substring of a given string
|
||||
*
|
||||
* Returns the CHAR * for the first occurence or NULL.
|
||||
*/
|
||||
|
||||
CHAR *
|
||||
xmlStrsub(const CHAR *str, int start, int len) {
|
||||
int i;
|
||||
|
||||
if (str == NULL) return(NULL);
|
||||
if (start < 0) return(NULL);
|
||||
if (len < 0) return(NULL);
|
||||
|
||||
for (i = 0;i < start;i++) {
|
||||
if (*str == 0) return(NULL);
|
||||
str++;
|
||||
}
|
||||
if (*str == 0) return(NULL);
|
||||
return(xmlStrndup(str, len));
|
||||
}
|
||||
|
||||
/**
|
||||
* xmlStrlen:
|
||||
* @str: the CHAR * array
|
||||
|
4
parser.h
4
parser.h
@ -190,7 +190,9 @@ extern xmlSAXHandler htmlDefaultSAXHandler;
|
||||
*/
|
||||
CHAR *xmlStrdup(const CHAR *cur);
|
||||
CHAR *xmlStrndup(const CHAR *cur, int len);
|
||||
CHAR *xmlStrchr(const CHAR *str, CHAR val);
|
||||
CHAR *xmlStrsub(const CHAR *str, int start, int len);
|
||||
const CHAR *xmlStrchr(const CHAR *str, CHAR val);
|
||||
const CHAR *xmlStrstr(const CHAR *str, CHAR *val);
|
||||
int xmlStrcmp(const CHAR *str1, const CHAR *str2);
|
||||
int xmlStrncmp(const CHAR *str1, const CHAR *str2, int len);
|
||||
int xmlStrlen(const CHAR *str);
|
||||
|
5
result/XPath/expr/base
Normal file
5
result/XPath/expr/base
Normal file
@ -0,0 +1,5 @@
|
||||
Object is a number : 1
|
||||
Object is a number : 3
|
||||
Object is a number : 6
|
||||
Object is a number : 11
|
||||
Object is a number : 21
|
5
result/XPath/expr/functions
Normal file
5
result/XPath/expr/functions
Normal file
@ -0,0 +1,5 @@
|
||||
Object is a Boolean : true
|
||||
Object is a Boolean : false
|
||||
Object is a number : 1.5
|
||||
Object is a string : tititoto
|
||||
Object is a string : tititototatalast
|
19
result/XPath/expr/strings
Normal file
19
result/XPath/expr/strings
Normal file
@ -0,0 +1,19 @@
|
||||
Object is a string : 5
|
||||
Object is a string : 0.5
|
||||
Object is a string : -0.5
|
||||
Object is a string : true
|
||||
Object is a string : false
|
||||
Object is a string : tititoto
|
||||
Object is a string : tititototata
|
||||
Object is a Boolean : true
|
||||
Object is a Boolean : false
|
||||
Object is a Boolean : true
|
||||
Object is a Boolean : true
|
||||
Object is a Boolean : true
|
||||
Object is a Boolean : false
|
||||
Object is a string : 234
|
||||
Object is a string : 2345
|
||||
Object is a string : 234
|
||||
Object is a string : 12
|
||||
Object is a number : 0
|
||||
Object is a number : 4
|
36
result/XPath/tests/chaptersbase
Normal file
36
result/XPath/tests/chaptersbase
Normal file
@ -0,0 +1,36 @@
|
||||
Object is a Node Set :
|
||||
Set contains 1 nodes:
|
||||
1 ELEMENT head
|
||||
Object is a Node Set :
|
||||
Set contains 6 nodes:
|
||||
1 ELEMENT head
|
||||
2 ELEMENT chapter
|
||||
3 ELEMENT chapter
|
||||
4 ELEMENT chapter
|
||||
5 ELEMENT chapter
|
||||
6 ELEMENT chapter
|
||||
Object is a Node Set :
|
||||
Set contains 1 nodes:
|
||||
1 ELEMENT title
|
||||
Object is a Node Set :
|
||||
Set contains 1 nodes:
|
||||
1 TEXT
|
||||
content=Welcome to Gnome
|
||||
Object is a Node Set :
|
||||
Set contains 1 nodes:
|
||||
1 ELEMENT title
|
||||
Object is a Node Set :
|
||||
Set contains 6 nodes:
|
||||
1 ELEMENT title
|
||||
2 ELEMENT title
|
||||
3 ELEMENT title
|
||||
4 ELEMENT title
|
||||
5 ELEMENT title
|
||||
6 ELEMENT title
|
||||
Object is a Node Set :
|
||||
Set contains 5 nodes:
|
||||
1 ELEMENT chapter
|
||||
2 ELEMENT chapter
|
||||
3 ELEMENT chapter
|
||||
4 ELEMENT chapter
|
||||
5 ELEMENT chapter
|
25
result/XPath/tests/simpleabbr
Normal file
25
result/XPath/tests/simpleabbr
Normal file
@ -0,0 +1,25 @@
|
||||
Object is a Node Set :
|
||||
Set contains 1 nodes:
|
||||
1 ELEMENT chapter
|
||||
Object is a Node Set :
|
||||
Set contains 2 nodes:
|
||||
1 ELEMENT p
|
||||
2 ELEMENT p
|
||||
Object is a Node Set :
|
||||
Set contains 1 nodes:
|
||||
1 ELEMENT image
|
||||
ATTRIBUTE href
|
||||
TEXT
|
||||
content=linus.gif
|
||||
Object is a Node Set :
|
||||
Set contains 2 nodes:
|
||||
1 TEXT
|
||||
content=bla bla bla ...
|
||||
2 TEXT
|
||||
content=...
|
||||
Object is a Node Set :
|
||||
Set contains 1 nodes:
|
||||
1 TEXT
|
||||
content=bla bla bla ...
|
||||
Object is a Node Set :
|
||||
Set contains 0 nodes:
|
24
result/XPath/tests/simplebase
Normal file
24
result/XPath/tests/simplebase
Normal file
@ -0,0 +1,24 @@
|
||||
Object is a Node Set :
|
||||
Set contains 1 nodes:
|
||||
1 ELEMENT head
|
||||
Object is a Node Set :
|
||||
Set contains 2 nodes:
|
||||
1 ELEMENT head
|
||||
2 ELEMENT chapter
|
||||
Object is a Node Set :
|
||||
Set contains 1 nodes:
|
||||
1 ELEMENT title
|
||||
Object is a Node Set :
|
||||
Set contains 1 nodes:
|
||||
1 TEXT
|
||||
content=Welcome to Gnome
|
||||
Object is a Node Set :
|
||||
Set contains 1 nodes:
|
||||
1 ELEMENT title
|
||||
Object is a Node Set :
|
||||
Set contains 2 nodes:
|
||||
1 ELEMENT title
|
||||
2 ELEMENT title
|
||||
Object is a Node Set :
|
||||
Set contains 1 nodes:
|
||||
1 ELEMENT chapter
|
28
test/XPath/docs/chapters
Normal file
28
test/XPath/docs/chapters
Normal file
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0"?>
|
||||
<EXAMPLE prop1="gnome is great" prop2="& linux too">
|
||||
<head>
|
||||
<title>Welcome to Gnome</title>
|
||||
</head>
|
||||
<chapter>
|
||||
<title>The Linux adventure</title>
|
||||
<p>bla bla bla ...</p>
|
||||
<image href="linus.gif"/>
|
||||
<p>...</p>
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title>Chapter 2</title>
|
||||
<p>this is chapter 2 ...</p>
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title>Chapter 3</title>
|
||||
<p>this is chapter 3 ...</p>
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title>Chapter 4</title>
|
||||
<p>this is chapter 4 ...</p>
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title>Chapter 5</title>
|
||||
<p>this is chapter 5 ...</p>
|
||||
</chapter>
|
||||
</EXAMPLE>
|
12
test/XPath/docs/simple
Normal file
12
test/XPath/docs/simple
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0"?>
|
||||
<EXAMPLE prop1="gnome is great" prop2="& linux too">
|
||||
<head>
|
||||
<title>Welcome to Gnome</title>
|
||||
</head>
|
||||
<chapter>
|
||||
<title>The Linux adventure</title>
|
||||
<p>bla bla bla ...</p>
|
||||
<image href="linus.gif"/>
|
||||
<p>...</p>
|
||||
</chapter>
|
||||
</EXAMPLE>
|
5
test/XPath/expr/base
Normal file
5
test/XPath/expr/base
Normal file
@ -0,0 +1,5 @@
|
||||
1
|
||||
1+2
|
||||
2*3
|
||||
1+2*3+4
|
||||
(1+2)*(3+4)
|
5
test/XPath/expr/functions
Normal file
5
test/XPath/expr/functions
Normal file
@ -0,0 +1,5 @@
|
||||
true()
|
||||
false()
|
||||
number("1.5")
|
||||
concat("titi",'toto')
|
||||
concat("titi",'toto',"tata","last")
|
19
test/XPath/expr/strings
Normal file
19
test/XPath/expr/strings
Normal file
@ -0,0 +1,19 @@
|
||||
string(5)
|
||||
string(0.5)
|
||||
string(-0.5)
|
||||
string(true())
|
||||
string(false())
|
||||
concat("titi","toto")
|
||||
concat("titi","toto","tata")
|
||||
starts-with("tititoto","titi")
|
||||
starts-with("tititoto","to")
|
||||
contains("tititototata","titi")
|
||||
contains("tititototata","toto")
|
||||
contains("tititototata","tata")
|
||||
contains("tititototata","tita")
|
||||
substring("12345",2,3)
|
||||
substring("12345",2)
|
||||
substring("12345",1.5,2.6)
|
||||
substring("12345",0,3)
|
||||
string-length("")
|
||||
string-length("titi")
|
7
test/XPath/tests/chaptersbase
Normal file
7
test/XPath/tests/chaptersbase
Normal file
@ -0,0 +1,7 @@
|
||||
/child::head
|
||||
/child::*
|
||||
/child::head/child::title
|
||||
/child::head/child::title/child::text()
|
||||
/child::head/node()
|
||||
/descendant::title
|
||||
/descendant::p/ancestor::chapter
|
6
test/XPath/tests/simpleabbr
Normal file
6
test/XPath/tests/simpleabbr
Normal file
@ -0,0 +1,6 @@
|
||||
/chapter[1]
|
||||
//p
|
||||
//chapter/image
|
||||
//p/text()
|
||||
//p/text()[position()=1]
|
||||
//p/text()[position()=last()]
|
7
test/XPath/tests/simplebase
Normal file
7
test/XPath/tests/simplebase
Normal file
@ -0,0 +1,7 @@
|
||||
/child::head
|
||||
/child::*
|
||||
/child::head/child::title
|
||||
/child::head/child::title/child::text()
|
||||
/child::head/node()
|
||||
/descendant::title
|
||||
/descendant::p/ancestor::chapter
|
193
testXPath.c
Normal file
193
testXPath.c
Normal file
@ -0,0 +1,193 @@
|
||||
/*
|
||||
* testXPath.c : a small tester program for XPath.
|
||||
*
|
||||
* See Copyright for the status of this software.
|
||||
*
|
||||
* Daniel.Veillard@w3.org
|
||||
*/
|
||||
|
||||
#ifdef WIN32
|
||||
#define HAVE_FCNTL_H
|
||||
#include <io.h>
|
||||
#else
|
||||
#include <config.h>
|
||||
#endif
|
||||
#include <sys/types.h>
|
||||
#ifdef HAVE_SYS_STAT_H
|
||||
#include <sys/stat.h>
|
||||
#endif
|
||||
#ifdef HAVE_FCNTL_H
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "xpath.h"
|
||||
#include "tree.h"
|
||||
#include "parser.h"
|
||||
#include "debugXML.h"
|
||||
|
||||
static int debug = 0;
|
||||
static int expr = 0;
|
||||
static xmlDocPtr document = NULL;
|
||||
|
||||
/*
|
||||
* Default document
|
||||
*/
|
||||
static CHAR buffer[] =
|
||||
"<?xml version=\"1.0\"?>\n\
|
||||
<EXAMPLE prop1=\"gnome is great\" prop2=\"& linux too\">\n\
|
||||
<head>\n\
|
||||
<title>Welcome to Gnome</title>\n\
|
||||
</head>\n\
|
||||
<chapter>\n\
|
||||
<title>The Linux adventure</title>\n\
|
||||
<p>bla bla bla ...</p>\n\
|
||||
<image href=\"linus.gif\"/>\n\
|
||||
<p>...</p>\n\
|
||||
</chapter>\n\
|
||||
<chapter>\n\
|
||||
<title>Chapter 2</title>\n\
|
||||
<p>this is chapter 2 ...</p>\n\
|
||||
</chapter>\n\
|
||||
<chapter>\n\
|
||||
<title>Chapter 3</title>\n\
|
||||
<p>this is chapter 3 ...</p>\n\
|
||||
</chapter>\n\
|
||||
<chapter>\n\
|
||||
<title>Chapter 4</title>\n\
|
||||
<p>this is chapter 4 ...</p>\n\
|
||||
</chapter>\n\
|
||||
<chapter>\n\
|
||||
<title>Chapter 5</title>\n\
|
||||
<p>this is chapter 5 ...</p>\n\
|
||||
</chapter>\n\
|
||||
</EXAMPLE>\n\
|
||||
";
|
||||
|
||||
void xmlXPAthDebugDumpNodeSet(FILE *output, xmlNodeSetPtr cur) {
|
||||
int i;
|
||||
|
||||
if (cur == NULL) {
|
||||
fprintf(output, "NodeSet is NULL !\n");
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
fprintf(output, "Set contains %d nodes:\n", cur->nodeNr);
|
||||
for (i = 0;i < cur->nodeNr;i++) {
|
||||
fprintf(output, "%d", i + 1);
|
||||
xmlDebugDumpOneNode(output, cur->nodeTab[i], 2);
|
||||
}
|
||||
}
|
||||
|
||||
void xmlXPAthDebugDumpObject(FILE *output, xmlXPathObjectPtr cur) {
|
||||
if (cur == NULL) {
|
||||
fprintf(output, "Object is empty (NULL)\n");
|
||||
return;
|
||||
}
|
||||
switch(cur->type) {
|
||||
case XPATH_UNDEFINED:
|
||||
fprintf(output, "Object is uninitialized\n");
|
||||
break;
|
||||
case XPATH_NODESET:
|
||||
fprintf(output, "Object is a Node Set :\n");
|
||||
xmlXPAthDebugDumpNodeSet(output, cur->nodesetval);
|
||||
break;
|
||||
case XPATH_BOOLEAN:
|
||||
fprintf(output, "Object is a Boolean : ");
|
||||
if (cur->boolval) fprintf(output, "true\n");
|
||||
else fprintf(output, "false\n");
|
||||
break;
|
||||
case XPATH_NUMBER:
|
||||
fprintf(output, "Object is a number : %0g\n", cur->floatval);
|
||||
break;
|
||||
case XPATH_STRING:
|
||||
fprintf(output, "Object is a string : ");
|
||||
xmlDebugDumpString(output, cur->stringval);
|
||||
fprintf(output, "\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void testXPath(const char *str) {
|
||||
xmlXPathObjectPtr res;
|
||||
xmlXPathContextPtr ctxt;
|
||||
|
||||
ctxt = xmlXPathNewContext(document, NULL, NULL, NULL);
|
||||
if (expr)
|
||||
res = xmlXPathEvalExpression(str, ctxt);
|
||||
else
|
||||
res = xmlXPathEval(str, ctxt);
|
||||
xmlXPAthDebugDumpObject(stdout, res);
|
||||
xmlXPathFreeObject(res);
|
||||
}
|
||||
|
||||
void testXPathFile(const char *filename) {
|
||||
FILE *input;
|
||||
char expr[5000];
|
||||
|
||||
input = fopen(filename, "r");
|
||||
if (input == NULL) {
|
||||
fprintf(stderr, "Cannot open %s for reading\n", filename);
|
||||
return;
|
||||
}
|
||||
while (fscanf(input, "%s", expr) != EOF) {
|
||||
testXPath(expr);
|
||||
}
|
||||
|
||||
fclose(input);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
int i;
|
||||
int strings = 0;
|
||||
int usefile = 0;
|
||||
char *filename = NULL;
|
||||
|
||||
for (i = 1; i < argc ; i++) {
|
||||
if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug")))
|
||||
debug++;
|
||||
if ((!strcmp(argv[i], "-expr")) || (!strcmp(argv[i], "--expr")))
|
||||
expr++;
|
||||
if ((!strcmp(argv[i], "-i")) || (!strcmp(argv[i], "--input")))
|
||||
filename = argv[++i];
|
||||
if ((!strcmp(argv[i], "-f")) || (!strcmp(argv[i], "--file")))
|
||||
usefile++;
|
||||
}
|
||||
if (document == NULL) {
|
||||
if (filename == NULL)
|
||||
document = xmlParseDoc(buffer);
|
||||
else
|
||||
document = xmlParseFile(filename);
|
||||
}
|
||||
for (i = 1; i < argc ; i++) {
|
||||
if ((!strcmp(argv[i], "-i")) || (!strcmp(argv[i], "--input"))) {
|
||||
i++; continue;
|
||||
}
|
||||
if (argv[i][0] != '-') {
|
||||
if (usefile)
|
||||
testXPathFile(argv[i]);
|
||||
else
|
||||
testXPath(argv[i]);
|
||||
strings ++;
|
||||
}
|
||||
}
|
||||
if (strings == 0) {
|
||||
printf("Usage : %s [--debug] [--copy] stringsorfiles ...\n",
|
||||
argv[0]);
|
||||
printf("\tParse the XPath strings and output the result of the parsing\n");
|
||||
printf("\t--debug : dump a debug version of the result\n");
|
||||
printf("\t--expr : debug XPath expressions only\n");
|
||||
printf("\t--input filename : or\n");
|
||||
printf("\t-i filename : read the document from filename\n");
|
||||
printf("\t--file : or\n");
|
||||
printf("\t-f : read queries from files, args\n");
|
||||
}
|
||||
|
||||
return(0);
|
||||
}
|
2
tester.c
2
tester.c
@ -37,7 +37,6 @@ static int noent = 0;
|
||||
|
||||
/*
|
||||
* Note: there is a couple of errors introduced on purpose.
|
||||
*/
|
||||
static CHAR buffer[] =
|
||||
"<?xml version=\"1.0\"?>\n\
|
||||
<?xml:namespace ns = \"http://www.ietf.org/standards/dav/\" prefix = \"D\"?>\n\
|
||||
@ -57,6 +56,7 @@ static CHAR buffer[] =
|
||||
</D:propertyupdate>\n\
|
||||
\n\
|
||||
";
|
||||
*/
|
||||
|
||||
/************************************************************************
|
||||
* *
|
||||
|
108
xpath.h
Normal file
108
xpath.h
Normal file
@ -0,0 +1,108 @@
|
||||
/*
|
||||
* xpath.c: interface for XML Path Language implementation
|
||||
*
|
||||
* Reference: W3C Working Draft 5 July 1999
|
||||
* http://www.w3.org/Style/XSL/Group/1999/07/xpath-19990705.html
|
||||
*
|
||||
* See COPYRIGHT for the status of this software
|
||||
*
|
||||
* Author: Daniel.Veillard@w3.org
|
||||
*/
|
||||
|
||||
#ifndef __XML_XPATH_H__
|
||||
#define __XML_XPATH_H__
|
||||
|
||||
#include "tree.h"
|
||||
|
||||
/*
|
||||
* A node-set (an unordered collection of nodes without duplicates)
|
||||
*/
|
||||
typedef struct xmlNodeSet {
|
||||
int nodeNr; /* # of node in the set */
|
||||
int nodeMax; /* allocated space */
|
||||
xmlNodePtr *nodeTab; /* array of nodes in no particular order */
|
||||
} xmlNodeSet, *xmlNodeSetPtr;
|
||||
|
||||
/*
|
||||
* An expression is evaluated to yield an object, which
|
||||
* has one of the following four basic types:
|
||||
* - node-set
|
||||
* - boolean
|
||||
* - number
|
||||
* - string
|
||||
*/
|
||||
|
||||
#define XPATH_UNDEFINED 0
|
||||
#define XPATH_NODESET 1
|
||||
#define XPATH_BOOLEAN 2
|
||||
#define XPATH_NUMBER 3
|
||||
#define XPATH_STRING 4
|
||||
#define XPATH_MARKER 5 /* used for func call checks */
|
||||
|
||||
typedef struct xmlXPathObject {
|
||||
int type;
|
||||
xmlNodeSetPtr nodesetval;
|
||||
int boolval;
|
||||
float floatval;
|
||||
CHAR *stringval;
|
||||
} xmlXPathObject, *xmlXPathObjectPtr;
|
||||
|
||||
/*
|
||||
* Expression evaluation occurs with respect to a context.
|
||||
* he context consists of:
|
||||
* - a node (the context node)
|
||||
* - a node list (the context node list)
|
||||
* - a set of variable bindings
|
||||
* - a function library
|
||||
* - the set of namespace declarations in scope for the expression
|
||||
*/
|
||||
|
||||
typedef struct xmlXPathContext {
|
||||
xmlDocPtr doc; /* The current document */
|
||||
xmlNodePtr node; /* The current node */
|
||||
xmlNodeSetPtr nodelist; /* The current node list */
|
||||
void *variables; /* TODO !!!! */
|
||||
void *functions; /* TODO !!!! */
|
||||
void *namespaces; /* TODO !!!! */
|
||||
} xmlXPathContext, *xmlXPathContextPtr;
|
||||
|
||||
/*
|
||||
* An XPath parser context, it contains pure parsing informations,
|
||||
* an xmlXPathContext, and the stack of objects.
|
||||
*/
|
||||
typedef struct xmlXPathParserContext {
|
||||
const CHAR *cur; /* the current char being parsed */
|
||||
const CHAR *base; /* the full expression */
|
||||
|
||||
int error; /* error code */
|
||||
|
||||
xmlXPathContextPtr context; /* the evaluation context */
|
||||
xmlXPathObjectPtr value; /* the current value */
|
||||
int valueNr; /* number of values stacked */
|
||||
int valueMax; /* max number of values stacked */
|
||||
xmlXPathObjectPtr *valueTab; /* stack of values */
|
||||
} xmlXPathParserContext, *xmlXPathParserContextPtr;
|
||||
|
||||
/*
|
||||
* An XPath function
|
||||
* The arguments (if any) are popped out of the context stack
|
||||
* and the result is pushed on the stack.
|
||||
*/
|
||||
|
||||
typedef void (*xmlXPathFunction) (xmlXPathParserContextPtr ctxt, int nargs);
|
||||
|
||||
/************************************************************************
|
||||
* *
|
||||
* Public API *
|
||||
* *
|
||||
************************************************************************/
|
||||
|
||||
xmlXPathContextPtr xmlXPathNewContext(xmlDocPtr doc, void *variables,
|
||||
void *functions, void *namespaces);
|
||||
void xmlXPathFreeContext(xmlXPathContextPtr ctxt);
|
||||
xmlXPathObjectPtr xmlXPathEval(const CHAR *str, xmlXPathContextPtr ctxt);
|
||||
void xmlXPathFreeObject(xmlXPathObjectPtr obj);
|
||||
xmlXPathObjectPtr xmlXPathEvalExpression(const CHAR *str,
|
||||
xmlXPathContextPtr ctxt);
|
||||
|
||||
#endif /* ! __XML_XPATH_H__ */
|
Loading…
Reference in New Issue
Block a user