blob: 5123b220cf66a46562923f244520cd55d00f0957 [file] [log] [blame]
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001<HTML
2><HEAD
3><TITLE
4>HTMLparser</TITLE
5><META
6NAME="GENERATOR"
7CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
8REL="HOME"
9TITLE="Gnome XML Library Reference Manual"
10HREF="book1.html"><LINK
11REL="UP"
12TITLE="Gnome XML Library"
13HREF="libxml.html"><LINK
14REL="PREVIOUS"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +000015TITLE="xml-error"
16HREF="gnome-xml-xml-error.html"><LINK
Daniel Veillard1566d3a1999-07-15 14:24:29 +000017REL="NEXT"
18TITLE="HTMLtree"
19HREF="gnome-xml-htmltree.html"></HEAD
20><BODY
21BGCOLOR="#FFFFFF"
22TEXT="#000000"
23><DIV
24CLASS="NAVHEADER"
25><TABLE
26WIDTH="100%"
27BORDER="0"
28BGCOLOR="#000000"
29CELLPADDING="1"
30CELLSPACING="0"
31><TR
32><TH
33COLSPAN="4"
34ALIGN="center"
35><FONT
36COLOR="#FFFFFF"
37SIZE="5"
38>Gnome XML Library Reference Manual</FONT
39></TH
40></TR
41><TR
42><TD
43WIDTH="25%"
44BGCOLOR="#C00000"
45ALIGN="left"
46><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +000047HREF="gnome-xml-xml-error.html"
Daniel Veillard1566d3a1999-07-15 14:24:29 +000048><FONT
49COLOR="#FFFFFF"
50SIZE="3"
51><B
52>&#60;&#60;&#60; Previous Page</B
53></FONT
54></A
55></TD
56><TD
57WIDTH="25%"
58BGCOLOR="#0000C0"
59ALIGN="center"
60><FONT
61COLOR="#FFFFFF"
62SIZE="3"
63><B
64><A
65HREF="book1.html"
66><FONT
67COLOR="#FFFFFF"
68SIZE="3"
69><B
70>Home</B
71></FONT
72></A
73></B
74></FONT
75></TD
76><TD
77WIDTH="25%"
78BGCOLOR="#00C000"
79ALIGN="center"
80><FONT
81COLOR="#FFFFFF"
82SIZE="3"
83><B
84><A
85HREF="libxml.html"
86><FONT
87COLOR="#FFFFFF"
88SIZE="3"
89><B
90>Up</B
91></FONT
92></A
93></B
94></FONT
95></TD
96><TD
97WIDTH="25%"
98BGCOLOR="#C00000"
99ALIGN="right"
100><A
101HREF="gnome-xml-htmltree.html"
102><FONT
103COLOR="#FFFFFF"
104SIZE="3"
105><B
106>Next Page &#62;&#62;&#62;</B
107></FONT
108></A
109></TD
110></TR
111></TABLE
112></DIV
113><H1
114>HTMLparser</H1
115><DIV
116CLASS="REFNAMEDIV"
117><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000118NAME="AEN5974"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000119></A
120><H2
121>Name</H2
122>HTMLparser &#8212; </DIV
123><DIV
124CLASS="REFSYNOPSISDIV"
125><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000126NAME="AEN5977"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000127></A
128><H2
129>Synopsis</H2
130><TABLE
131BORDER="0"
132BGCOLOR="#D6E8FF"
133WIDTH="100%"
134CELLPADDING="6"
135><TR
136><TD
137><PRE
138CLASS="SYNOPSIS"
139>&#13;
140
141typedef <A
142HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXT"
143>htmlParserCtxt</A
144>;
145typedef <A
146HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
147>htmlParserCtxtPtr</A
148>;
149typedef <A
150HREF="gnome-xml-htmlparser.html#HTMLPARSERNODEINFO"
151>htmlParserNodeInfo</A
152>;
153typedef <A
154HREF="gnome-xml-htmlparser.html#HTMLSAXHANDLER"
155>htmlSAXHandler</A
156>;
157typedef <A
158HREF="gnome-xml-htmlparser.html#HTMLSAXHANDLERPTR"
159>htmlSAXHandlerPtr</A
160>;
161typedef <A
162HREF="gnome-xml-htmlparser.html#HTMLPARSERINPUT"
163>htmlParserInput</A
164>;
165typedef <A
166HREF="gnome-xml-htmlparser.html#HTMLPARSERINPUTPTR"
167>htmlParserInputPtr</A
168>;
169typedef <A
170HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
171>htmlDocPtr</A
172>;
173typedef <A
174HREF="gnome-xml-htmlparser.html#HTMLNODEPTR"
175>htmlNodePtr</A
176>;
177<GTKDOCLINK
178HREF="HTMLELEMDESCPTR"
179>htmlElemDescPtr</GTKDOCLINK
180> <A
181HREF="gnome-xml-htmlparser.html#HTMLTAGLOOKUP"
182>htmlTagLookup</A
183> (const <A
184HREF="gnome-xml-tree.html#CHAR"
185>CHAR</A
186> *tag);
187<GTKDOCLINK
188HREF="HTMLENTITYDESCPTR"
189>htmlEntityDescPtr</GTKDOCLINK
190> <A
191HREF="gnome-xml-htmlparser.html#HTMLENTITYLOOKUP"
192>htmlEntityLookup</A
193> (const <A
194HREF="gnome-xml-tree.html#CHAR"
195>CHAR</A
196> *name);
197<GTKDOCLINK
198HREF="HTMLENTITYDESCPTR"
199>htmlEntityDescPtr</GTKDOCLINK
200> <A
201HREF="gnome-xml-htmlparser.html#HTMLPARSEENTITYREF"
202>htmlParseEntityRef</A
203> (<A
204HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
205>htmlParserCtxtPtr</A
206> ctxt,
207 <A
208HREF="gnome-xml-tree.html#CHAR"
209>CHAR</A
210> **str);
211int <A
212HREF="gnome-xml-htmlparser.html#HTMLPARSECHARREF"
213>htmlParseCharRef</A
214> (<A
215HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
216>htmlParserCtxtPtr</A
217> ctxt);
218void <A
219HREF="gnome-xml-htmlparser.html#HTMLPARSEELEMENT"
220>htmlParseElement</A
221> (<A
222HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
223>htmlParserCtxtPtr</A
224> ctxt);
225<A
226HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
227>htmlDocPtr</A
228> <A
229HREF="gnome-xml-htmlparser.html#HTMLSAXPARSEDOC"
230>htmlSAXParseDoc</A
231> (<A
232HREF="gnome-xml-tree.html#CHAR"
233>CHAR</A
234> *cur,
235 const char *encoding,
236 <A
237HREF="gnome-xml-htmlparser.html#HTMLSAXHANDLERPTR"
238>htmlSAXHandlerPtr</A
239> sax,
240 void *userData);
241<A
242HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
243>htmlDocPtr</A
244> <A
245HREF="gnome-xml-htmlparser.html#HTMLPARSEDOC"
246>htmlParseDoc</A
247> (<A
248HREF="gnome-xml-tree.html#CHAR"
249>CHAR</A
250> *cur,
251 const char *encoding);
252<A
253HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
254>htmlDocPtr</A
255> <A
256HREF="gnome-xml-htmlparser.html#HTMLSAXPARSEFILE"
257>htmlSAXParseFile</A
258> (const char *filename,
259 const char *encoding,
260 <A
261HREF="gnome-xml-htmlparser.html#HTMLSAXHANDLERPTR"
262>htmlSAXHandlerPtr</A
263> sax,
264 void *userData);
265<A
266HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
267>htmlDocPtr</A
268> <A
269HREF="gnome-xml-htmlparser.html#HTMLPARSEFILE"
270>htmlParseFile</A
271> (const char *filename,
272 const char *encoding);</PRE
273></TD
274></TR
275></TABLE
276></DIV
277><DIV
278CLASS="REFSECT1"
279><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000280NAME="AEN6015"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000281></A
282><H2
283>Description</H2
284><P
285></P
286></DIV
287><DIV
288CLASS="REFSECT1"
289><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000290NAME="AEN6018"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000291></A
292><H2
293>Details</H2
294><DIV
295CLASS="REFSECT2"
296><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000297NAME="AEN6020"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000298></A
299><H3
300><A
301NAME="HTMLPARSERCTXT"
302></A
303>htmlParserCtxt</H3
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000304><TABLE
305BORDER="0"
306BGCOLOR="#D6E8FF"
307WIDTH="100%"
308CELLPADDING="6"
309><TR
310><TD
311><PRE
312CLASS="PROGRAMLISTING"
313>typedef xmlParserCtxt htmlParserCtxt;</PRE
314></TD
315></TR
316></TABLE
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000317><P
318></P
319></DIV
320><HR><DIV
321CLASS="REFSECT2"
322><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000323NAME="AEN6025"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000324></A
325><H3
326><A
327NAME="HTMLPARSERCTXTPTR"
328></A
329>htmlParserCtxtPtr</H3
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000330><TABLE
331BORDER="0"
332BGCOLOR="#D6E8FF"
333WIDTH="100%"
334CELLPADDING="6"
335><TR
336><TD
337><PRE
338CLASS="PROGRAMLISTING"
339>typedef xmlParserCtxtPtr htmlParserCtxtPtr;</PRE
340></TD
341></TR
342></TABLE
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000343><P
344></P
345></DIV
346><HR><DIV
347CLASS="REFSECT2"
348><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000349NAME="AEN6030"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000350></A
351><H3
352><A
353NAME="HTMLPARSERNODEINFO"
354></A
355>htmlParserNodeInfo</H3
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000356><TABLE
357BORDER="0"
358BGCOLOR="#D6E8FF"
359WIDTH="100%"
360CELLPADDING="6"
361><TR
362><TD
363><PRE
364CLASS="PROGRAMLISTING"
365>typedef xmlParserNodeInfo htmlParserNodeInfo;</PRE
366></TD
367></TR
368></TABLE
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000369><P
370></P
371></DIV
372><HR><DIV
373CLASS="REFSECT2"
374><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000375NAME="AEN6035"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000376></A
377><H3
378><A
379NAME="HTMLSAXHANDLER"
380></A
381>htmlSAXHandler</H3
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000382><TABLE
383BORDER="0"
384BGCOLOR="#D6E8FF"
385WIDTH="100%"
386CELLPADDING="6"
387><TR
388><TD
389><PRE
390CLASS="PROGRAMLISTING"
391>typedef xmlSAXHandler htmlSAXHandler;</PRE
392></TD
393></TR
394></TABLE
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000395><P
396></P
397></DIV
398><HR><DIV
399CLASS="REFSECT2"
400><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000401NAME="AEN6040"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000402></A
403><H3
404><A
405NAME="HTMLSAXHANDLERPTR"
406></A
407>htmlSAXHandlerPtr</H3
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000408><TABLE
409BORDER="0"
410BGCOLOR="#D6E8FF"
411WIDTH="100%"
412CELLPADDING="6"
413><TR
414><TD
415><PRE
416CLASS="PROGRAMLISTING"
417>typedef xmlSAXHandlerPtr htmlSAXHandlerPtr;</PRE
418></TD
419></TR
420></TABLE
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000421><P
422></P
423></DIV
424><HR><DIV
425CLASS="REFSECT2"
426><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000427NAME="AEN6045"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000428></A
429><H3
430><A
431NAME="HTMLPARSERINPUT"
432></A
433>htmlParserInput</H3
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000434><TABLE
435BORDER="0"
436BGCOLOR="#D6E8FF"
437WIDTH="100%"
438CELLPADDING="6"
439><TR
440><TD
441><PRE
442CLASS="PROGRAMLISTING"
443>typedef xmlParserInput htmlParserInput;</PRE
444></TD
445></TR
446></TABLE
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000447><P
448></P
449></DIV
450><HR><DIV
451CLASS="REFSECT2"
452><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000453NAME="AEN6050"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000454></A
455><H3
456><A
457NAME="HTMLPARSERINPUTPTR"
458></A
459>htmlParserInputPtr</H3
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000460><TABLE
461BORDER="0"
462BGCOLOR="#D6E8FF"
463WIDTH="100%"
464CELLPADDING="6"
465><TR
466><TD
467><PRE
468CLASS="PROGRAMLISTING"
469>typedef xmlParserInputPtr htmlParserInputPtr;</PRE
470></TD
471></TR
472></TABLE
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000473><P
474></P
475></DIV
476><HR><DIV
477CLASS="REFSECT2"
478><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000479NAME="AEN6055"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000480></A
481><H3
482><A
483NAME="HTMLDOCPTR"
484></A
485>htmlDocPtr</H3
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000486><TABLE
487BORDER="0"
488BGCOLOR="#D6E8FF"
489WIDTH="100%"
490CELLPADDING="6"
491><TR
492><TD
493><PRE
494CLASS="PROGRAMLISTING"
495>typedef xmlDocPtr htmlDocPtr;</PRE
496></TD
497></TR
498></TABLE
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000499><P
500></P
501></DIV
502><HR><DIV
503CLASS="REFSECT2"
504><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000505NAME="AEN6060"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000506></A
507><H3
508><A
509NAME="HTMLNODEPTR"
510></A
511>htmlNodePtr</H3
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000512><TABLE
513BORDER="0"
514BGCOLOR="#D6E8FF"
515WIDTH="100%"
516CELLPADDING="6"
517><TR
518><TD
519><PRE
520CLASS="PROGRAMLISTING"
521>typedef xmlNodePtr htmlNodePtr;</PRE
522></TD
523></TR
524></TABLE
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000525><P
526></P
527></DIV
528><HR><DIV
529CLASS="REFSECT2"
530><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000531NAME="AEN6065"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000532></A
533><H3
534><A
535NAME="HTMLTAGLOOKUP"
536></A
537>htmlTagLookup ()</H3
538><TABLE
539BORDER="0"
540BGCOLOR="#D6E8FF"
541WIDTH="100%"
542CELLPADDING="6"
543><TR
544><TD
545><PRE
546CLASS="PROGRAMLISTING"
547><GTKDOCLINK
548HREF="HTMLELEMDESCPTR"
549>htmlElemDescPtr</GTKDOCLINK
550> htmlTagLookup (const <A
551HREF="gnome-xml-tree.html#CHAR"
552>CHAR</A
553> *tag);</PRE
554></TD
555></TR
556></TABLE
557><P
558>Lookup the HTML tag in the ElementTable</P
559><P
560></P
561><DIV
562CLASS="INFORMALTABLE"
563><P
564></P
565><TABLE
566BORDER="0"
567WIDTH="100%"
568BGCOLOR="#FFD0D0"
569CELLSPACING="0"
570CELLPADDING="4"
571CLASS="CALSTABLE"
572><TR
573><TD
574WIDTH="20%"
575ALIGN="RIGHT"
576VALIGN="TOP"
577><TT
578CLASS="PARAMETER"
579><I
580>tag</I
581></TT
582>&nbsp;:</TD
583><TD
584WIDTH="80%"
585ALIGN="LEFT"
586VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000587> The tag name</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000588></TR
589><TR
590><TD
591WIDTH="20%"
592ALIGN="RIGHT"
593VALIGN="TOP"
594><I
595CLASS="EMPHASIS"
596>Returns</I
597> :</TD
598><TD
599WIDTH="80%"
600ALIGN="LEFT"
601VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000602>the related htmlElemDescPtr or NULL if not found.</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000603></TR
604></TABLE
605><P
606></P
607></DIV
608></DIV
609><HR><DIV
610CLASS="REFSECT2"
611><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000612NAME="AEN6086"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000613></A
614><H3
615><A
616NAME="HTMLENTITYLOOKUP"
617></A
618>htmlEntityLookup ()</H3
619><TABLE
620BORDER="0"
621BGCOLOR="#D6E8FF"
622WIDTH="100%"
623CELLPADDING="6"
624><TR
625><TD
626><PRE
627CLASS="PROGRAMLISTING"
628><GTKDOCLINK
629HREF="HTMLENTITYDESCPTR"
630>htmlEntityDescPtr</GTKDOCLINK
631> htmlEntityLookup (const <A
632HREF="gnome-xml-tree.html#CHAR"
633>CHAR</A
634> *name);</PRE
635></TD
636></TR
637></TABLE
638><P
639>Lookup the given entity in EntitiesTable</P
640><P
641>TODO: the linear scan is really ugly, an hash table is really needed.</P
642><P
643></P
644><DIV
645CLASS="INFORMALTABLE"
646><P
647></P
648><TABLE
649BORDER="0"
650WIDTH="100%"
651BGCOLOR="#FFD0D0"
652CELLSPACING="0"
653CELLPADDING="4"
654CLASS="CALSTABLE"
655><TR
656><TD
657WIDTH="20%"
658ALIGN="RIGHT"
659VALIGN="TOP"
660><TT
661CLASS="PARAMETER"
662><I
663>name</I
664></TT
665>&nbsp;:</TD
666><TD
667WIDTH="80%"
668ALIGN="LEFT"
669VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000670> the entity name</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000671></TR
672><TR
673><TD
674WIDTH="20%"
675ALIGN="RIGHT"
676VALIGN="TOP"
677><I
678CLASS="EMPHASIS"
679>Returns</I
680> :</TD
681><TD
682WIDTH="80%"
683ALIGN="LEFT"
684VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000685>the associated htmlEntityDescPtr if found, NULL otherwise.</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000686></TR
687></TABLE
688><P
689></P
690></DIV
691></DIV
692><HR><DIV
693CLASS="REFSECT2"
694><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000695NAME="AEN6108"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000696></A
697><H3
698><A
699NAME="HTMLPARSEENTITYREF"
700></A
701>htmlParseEntityRef ()</H3
702><TABLE
703BORDER="0"
704BGCOLOR="#D6E8FF"
705WIDTH="100%"
706CELLPADDING="6"
707><TR
708><TD
709><PRE
710CLASS="PROGRAMLISTING"
711><GTKDOCLINK
712HREF="HTMLENTITYDESCPTR"
713>htmlEntityDescPtr</GTKDOCLINK
714> htmlParseEntityRef (<A
715HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
716>htmlParserCtxtPtr</A
717> ctxt,
718 <A
719HREF="gnome-xml-tree.html#CHAR"
720>CHAR</A
721> **str);</PRE
722></TD
723></TR
724></TABLE
725><P
726>parse an HTML ENTITY references</P
727><P
728>[68] EntityRef ::= '&amp;' Name ';'</P
729><P
730></P
731><DIV
732CLASS="INFORMALTABLE"
733><P
734></P
735><TABLE
736BORDER="0"
737WIDTH="100%"
738BGCOLOR="#FFD0D0"
739CELLSPACING="0"
740CELLPADDING="4"
741CLASS="CALSTABLE"
742><TR
743><TD
744WIDTH="20%"
745ALIGN="RIGHT"
746VALIGN="TOP"
747><TT
748CLASS="PARAMETER"
749><I
750>ctxt</I
751></TT
752>&nbsp;:</TD
753><TD
754WIDTH="80%"
755ALIGN="LEFT"
756VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000757> an HTML parser context</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000758></TR
759><TR
760><TD
761WIDTH="20%"
762ALIGN="RIGHT"
763VALIGN="TOP"
764><TT
765CLASS="PARAMETER"
766><I
767>str</I
768></TT
769>&nbsp;:</TD
770><TD
771WIDTH="80%"
772ALIGN="LEFT"
773VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000774> location to store the entity name</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000775></TR
776><TR
777><TD
778WIDTH="20%"
779ALIGN="RIGHT"
780VALIGN="TOP"
781><I
782CLASS="EMPHASIS"
783>Returns</I
784> :</TD
785><TD
786WIDTH="80%"
787ALIGN="LEFT"
788VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000789>the associated htmlEntityDescPtr if found, or NULL otherwise,
790if non-NULL *str will have to be freed by the caller.</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000791></TR
792></TABLE
793><P
794></P
795></DIV
796></DIV
797><HR><DIV
798CLASS="REFSECT2"
799><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000800NAME="AEN6135"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000801></A
802><H3
803><A
804NAME="HTMLPARSECHARREF"
805></A
806>htmlParseCharRef ()</H3
807><TABLE
808BORDER="0"
809BGCOLOR="#D6E8FF"
810WIDTH="100%"
811CELLPADDING="6"
812><TR
813><TD
814><PRE
815CLASS="PROGRAMLISTING"
816>int htmlParseCharRef (<A
817HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
818>htmlParserCtxtPtr</A
819> ctxt);</PRE
820></TD
821></TR
822></TABLE
823><P
824>parse Reference declarations</P
825><P
826>[66] CharRef ::= '&amp;#' [0-9]+ ';' |
827'&amp;<GTKDOCLINK
828HREF="X"
829>x</GTKDOCLINK
830>' [0-9a-fA-F]+ ';'</P
831><P
832></P
833><DIV
834CLASS="INFORMALTABLE"
835><P
836></P
837><TABLE
838BORDER="0"
839WIDTH="100%"
840BGCOLOR="#FFD0D0"
841CELLSPACING="0"
842CELLPADDING="4"
843CLASS="CALSTABLE"
844><TR
845><TD
846WIDTH="20%"
847ALIGN="RIGHT"
848VALIGN="TOP"
849><TT
850CLASS="PARAMETER"
851><I
852>ctxt</I
853></TT
854>&nbsp;:</TD
855><TD
856WIDTH="80%"
857ALIGN="LEFT"
858VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000859> an HTML parser context</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000860></TR
861><TR
862><TD
863WIDTH="20%"
864ALIGN="RIGHT"
865VALIGN="TOP"
866><I
867CLASS="EMPHASIS"
868>Returns</I
869> :</TD
870><TD
871WIDTH="80%"
872ALIGN="LEFT"
873VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000874>the value parsed (as an int)</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000875></TR
876></TABLE
877><P
878></P
879></DIV
880></DIV
881><HR><DIV
882CLASS="REFSECT2"
883><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000884NAME="AEN6157"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000885></A
886><H3
887><A
888NAME="HTMLPARSEELEMENT"
889></A
890>htmlParseElement ()</H3
891><TABLE
892BORDER="0"
893BGCOLOR="#D6E8FF"
894WIDTH="100%"
895CELLPADDING="6"
896><TR
897><TD
898><PRE
899CLASS="PROGRAMLISTING"
900>void htmlParseElement (<A
901HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
902>htmlParserCtxtPtr</A
903> ctxt);</PRE
904></TD
905></TR
906></TABLE
907><P
908>parse an HTML element, this is highly recursive</P
909><P
910>[39] element ::= EmptyElemTag | STag content ETag</P
911><P
912>[41] Attribute ::= Name Eq AttValue</P
913><P
914></P
915><DIV
916CLASS="INFORMALTABLE"
917><P
918></P
919><TABLE
920BORDER="0"
921WIDTH="100%"
922BGCOLOR="#FFD0D0"
923CELLSPACING="0"
924CELLPADDING="4"
925CLASS="CALSTABLE"
926><TR
927><TD
928WIDTH="20%"
929ALIGN="RIGHT"
930VALIGN="TOP"
931><TT
932CLASS="PARAMETER"
933><I
934>ctxt</I
935></TT
936>&nbsp;:</TD
937><TD
938WIDTH="80%"
939ALIGN="LEFT"
940VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000941> an HTML parser context</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000942></TR
943></TABLE
944><P
945></P
946></DIV
947></DIV
948><HR><DIV
949CLASS="REFSECT2"
950><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000951NAME="AEN6175"
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000952></A
953><H3
954><A
955NAME="HTMLSAXPARSEDOC"
956></A
957>htmlSAXParseDoc ()</H3
958><TABLE
959BORDER="0"
960BGCOLOR="#D6E8FF"
961WIDTH="100%"
962CELLPADDING="6"
963><TR
964><TD
965><PRE
966CLASS="PROGRAMLISTING"
967><A
968HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
969>htmlDocPtr</A
970> htmlSAXParseDoc (<A
971HREF="gnome-xml-tree.html#CHAR"
972>CHAR</A
973> *cur,
974 const char *encoding,
975 <A
976HREF="gnome-xml-htmlparser.html#HTMLSAXHANDLERPTR"
977>htmlSAXHandlerPtr</A
978> sax,
979 void *userData);</PRE
980></TD
981></TR
982></TABLE
983><P
984>parse an HTML in-memory document and build a tree.
985It use the given SAX function block to handle the parsing callback.
986If sax is NULL, fallback to the default DOM tree building routines.</P
987><P
988></P
989><DIV
990CLASS="INFORMALTABLE"
991><P
992></P
993><TABLE
994BORDER="0"
995WIDTH="100%"
996BGCOLOR="#FFD0D0"
997CELLSPACING="0"
998CELLPADDING="4"
999CLASS="CALSTABLE"
1000><TR
1001><TD
1002WIDTH="20%"
1003ALIGN="RIGHT"
1004VALIGN="TOP"
1005><TT
1006CLASS="PARAMETER"
1007><I
1008>cur</I
1009></TT
1010>&nbsp;:</TD
1011><TD
1012WIDTH="80%"
1013ALIGN="LEFT"
1014VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001015> a pointer to an array of CHAR</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001016></TR
1017><TR
1018><TD
1019WIDTH="20%"
1020ALIGN="RIGHT"
1021VALIGN="TOP"
1022><TT
1023CLASS="PARAMETER"
1024><I
1025>encoding</I
1026></TT
1027>&nbsp;:</TD
1028><TD
1029WIDTH="80%"
1030ALIGN="LEFT"
1031VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001032> a free form C string describing the HTML document encoding, or NULL</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001033></TR
1034><TR
1035><TD
1036WIDTH="20%"
1037ALIGN="RIGHT"
1038VALIGN="TOP"
1039><TT
1040CLASS="PARAMETER"
1041><I
1042>sax</I
1043></TT
1044>&nbsp;:</TD
1045><TD
1046WIDTH="80%"
1047ALIGN="LEFT"
1048VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001049> the SAX handler block</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001050></TR
1051><TR
1052><TD
1053WIDTH="20%"
1054ALIGN="RIGHT"
1055VALIGN="TOP"
1056><TT
1057CLASS="PARAMETER"
1058><I
1059>userData</I
1060></TT
1061>&nbsp;:</TD
1062><TD
1063WIDTH="80%"
1064ALIGN="LEFT"
1065VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001066> if using SAX, this pointer will be provided on callbacks. </TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001067></TR
1068><TR
1069><TD
1070WIDTH="20%"
1071ALIGN="RIGHT"
1072VALIGN="TOP"
1073><I
1074CLASS="EMPHASIS"
1075>Returns</I
1076> :</TD
1077><TD
1078WIDTH="80%"
1079ALIGN="LEFT"
1080VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001081>the resulting document tree</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001082></TR
1083></TABLE
1084><P
1085></P
1086></DIV
1087></DIV
1088><HR><DIV
1089CLASS="REFSECT2"
1090><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001091NAME="AEN6209"
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001092></A
1093><H3
1094><A
1095NAME="HTMLPARSEDOC"
1096></A
1097>htmlParseDoc ()</H3
1098><TABLE
1099BORDER="0"
1100BGCOLOR="#D6E8FF"
1101WIDTH="100%"
1102CELLPADDING="6"
1103><TR
1104><TD
1105><PRE
1106CLASS="PROGRAMLISTING"
1107><A
1108HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
1109>htmlDocPtr</A
1110> htmlParseDoc (<A
1111HREF="gnome-xml-tree.html#CHAR"
1112>CHAR</A
1113> *cur,
1114 const char *encoding);</PRE
1115></TD
1116></TR
1117></TABLE
1118><P
1119>parse an HTML in-memory document and build a tree.</P
1120><P
1121></P
1122><DIV
1123CLASS="INFORMALTABLE"
1124><P
1125></P
1126><TABLE
1127BORDER="0"
1128WIDTH="100%"
1129BGCOLOR="#FFD0D0"
1130CELLSPACING="0"
1131CELLPADDING="4"
1132CLASS="CALSTABLE"
1133><TR
1134><TD
1135WIDTH="20%"
1136ALIGN="RIGHT"
1137VALIGN="TOP"
1138><TT
1139CLASS="PARAMETER"
1140><I
1141>cur</I
1142></TT
1143>&nbsp;:</TD
1144><TD
1145WIDTH="80%"
1146ALIGN="LEFT"
1147VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001148> a pointer to an array of CHAR</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001149></TR
1150><TR
1151><TD
1152WIDTH="20%"
1153ALIGN="RIGHT"
1154VALIGN="TOP"
1155><TT
1156CLASS="PARAMETER"
1157><I
1158>encoding</I
1159></TT
1160>&nbsp;:</TD
1161><TD
1162WIDTH="80%"
1163ALIGN="LEFT"
1164VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001165> a free form C string describing the HTML document encoding, or NULL</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001166></TR
1167><TR
1168><TD
1169WIDTH="20%"
1170ALIGN="RIGHT"
1171VALIGN="TOP"
1172><I
1173CLASS="EMPHASIS"
1174>Returns</I
1175> :</TD
1176><TD
1177WIDTH="80%"
1178ALIGN="LEFT"
1179VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001180>the resulting document tree</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001181></TR
1182></TABLE
1183><P
1184></P
1185></DIV
1186></DIV
1187><HR><DIV
1188CLASS="REFSECT2"
1189><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001190NAME="AEN6234"
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001191></A
1192><H3
1193><A
1194NAME="HTMLSAXPARSEFILE"
1195></A
1196>htmlSAXParseFile ()</H3
1197><TABLE
1198BORDER="0"
1199BGCOLOR="#D6E8FF"
1200WIDTH="100%"
1201CELLPADDING="6"
1202><TR
1203><TD
1204><PRE
1205CLASS="PROGRAMLISTING"
1206><A
1207HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
1208>htmlDocPtr</A
1209> htmlSAXParseFile (const char *filename,
1210 const char *encoding,
1211 <A
1212HREF="gnome-xml-htmlparser.html#HTMLSAXHANDLERPTR"
1213>htmlSAXHandlerPtr</A
1214> sax,
1215 void *userData);</PRE
1216></TD
1217></TR
1218></TABLE
1219><P
1220>parse an HTML file and build a tree. Automatic support for ZLIB/Compress
1221compressed document is provided by default if found at compile-time.
1222It use the given SAX function block to handle the parsing callback.
1223If sax is NULL, fallback to the default DOM tree building routines.</P
1224><P
1225></P
1226><DIV
1227CLASS="INFORMALTABLE"
1228><P
1229></P
1230><TABLE
1231BORDER="0"
1232WIDTH="100%"
1233BGCOLOR="#FFD0D0"
1234CELLSPACING="0"
1235CELLPADDING="4"
1236CLASS="CALSTABLE"
1237><TR
1238><TD
1239WIDTH="20%"
1240ALIGN="RIGHT"
1241VALIGN="TOP"
1242><TT
1243CLASS="PARAMETER"
1244><I
1245>filename</I
1246></TT
1247>&nbsp;:</TD
1248><TD
1249WIDTH="80%"
1250ALIGN="LEFT"
1251VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001252> the filename</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001253></TR
1254><TR
1255><TD
1256WIDTH="20%"
1257ALIGN="RIGHT"
1258VALIGN="TOP"
1259><TT
1260CLASS="PARAMETER"
1261><I
1262>encoding</I
1263></TT
1264>&nbsp;:</TD
1265><TD
1266WIDTH="80%"
1267ALIGN="LEFT"
1268VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001269> a free form C string describing the HTML document encoding, or NULL</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001270></TR
1271><TR
1272><TD
1273WIDTH="20%"
1274ALIGN="RIGHT"
1275VALIGN="TOP"
1276><TT
1277CLASS="PARAMETER"
1278><I
1279>sax</I
1280></TT
1281>&nbsp;:</TD
1282><TD
1283WIDTH="80%"
1284ALIGN="LEFT"
1285VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001286> the SAX handler block</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001287></TR
1288><TR
1289><TD
1290WIDTH="20%"
1291ALIGN="RIGHT"
1292VALIGN="TOP"
1293><TT
1294CLASS="PARAMETER"
1295><I
1296>userData</I
1297></TT
1298>&nbsp;:</TD
1299><TD
1300WIDTH="80%"
1301ALIGN="LEFT"
1302VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001303> if using SAX, this pointer will be provided on callbacks. </TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001304></TR
1305><TR
1306><TD
1307WIDTH="20%"
1308ALIGN="RIGHT"
1309VALIGN="TOP"
1310><I
1311CLASS="EMPHASIS"
1312>Returns</I
1313> :</TD
1314><TD
1315WIDTH="80%"
1316ALIGN="LEFT"
1317VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001318>the resulting document tree</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001319></TR
1320></TABLE
1321><P
1322></P
1323></DIV
1324></DIV
1325><HR><DIV
1326CLASS="REFSECT2"
1327><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001328NAME="AEN6267"
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001329></A
1330><H3
1331><A
1332NAME="HTMLPARSEFILE"
1333></A
1334>htmlParseFile ()</H3
1335><TABLE
1336BORDER="0"
1337BGCOLOR="#D6E8FF"
1338WIDTH="100%"
1339CELLPADDING="6"
1340><TR
1341><TD
1342><PRE
1343CLASS="PROGRAMLISTING"
1344><A
1345HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
1346>htmlDocPtr</A
1347> htmlParseFile (const char *filename,
1348 const char *encoding);</PRE
1349></TD
1350></TR
1351></TABLE
1352><P
1353>parse an HTML file and build a tree. Automatic support for ZLIB/Compress
1354compressed document is provided by default if found at compile-time.</P
1355><P
1356></P
1357><DIV
1358CLASS="INFORMALTABLE"
1359><P
1360></P
1361><TABLE
1362BORDER="0"
1363WIDTH="100%"
1364BGCOLOR="#FFD0D0"
1365CELLSPACING="0"
1366CELLPADDING="4"
1367CLASS="CALSTABLE"
1368><TR
1369><TD
1370WIDTH="20%"
1371ALIGN="RIGHT"
1372VALIGN="TOP"
1373><TT
1374CLASS="PARAMETER"
1375><I
1376>filename</I
1377></TT
1378>&nbsp;:</TD
1379><TD
1380WIDTH="80%"
1381ALIGN="LEFT"
1382VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001383> the filename</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001384></TR
1385><TR
1386><TD
1387WIDTH="20%"
1388ALIGN="RIGHT"
1389VALIGN="TOP"
1390><TT
1391CLASS="PARAMETER"
1392><I
1393>encoding</I
1394></TT
1395>&nbsp;:</TD
1396><TD
1397WIDTH="80%"
1398ALIGN="LEFT"
1399VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001400> a free form C string describing the HTML document encoding, or NULL</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001401></TR
1402><TR
1403><TD
1404WIDTH="20%"
1405ALIGN="RIGHT"
1406VALIGN="TOP"
1407><I
1408CLASS="EMPHASIS"
1409>Returns</I
1410> :</TD
1411><TD
1412WIDTH="80%"
1413ALIGN="LEFT"
1414VALIGN="TOP"
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001415>the resulting document tree</TD
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001416></TR
1417></TABLE
1418><P
1419></P
1420></DIV
1421></DIV
1422></DIV
1423><DIV
1424CLASS="NAVFOOTER"
1425><BR><BR><TABLE
1426WIDTH="100%"
1427BORDER="0"
1428BGCOLOR="#000000"
1429CELLPADDING="1"
1430CELLSPACING="0"
1431><TR
1432><TD
1433WIDTH="25%"
1434BGCOLOR="#C00000"
1435ALIGN="left"
1436><A
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001437HREF="gnome-xml-xml-error.html"
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001438><FONT
1439COLOR="#FFFFFF"
1440SIZE="3"
1441><B
1442>&#60;&#60;&#60; Previous Page</B
1443></FONT
1444></A
1445></TD
1446><TD
1447WIDTH="25%"
1448BGCOLOR="#0000C0"
1449ALIGN="center"
1450><FONT
1451COLOR="#FFFFFF"
1452SIZE="3"
1453><B
1454><A
1455HREF="book1.html"
1456><FONT
1457COLOR="#FFFFFF"
1458SIZE="3"
1459><B
1460>Home</B
1461></FONT
1462></A
1463></B
1464></FONT
1465></TD
1466><TD
1467WIDTH="25%"
1468BGCOLOR="#00C000"
1469ALIGN="center"
1470><FONT
1471COLOR="#FFFFFF"
1472SIZE="3"
1473><B
1474><A
1475HREF="libxml.html"
1476><FONT
1477COLOR="#FFFFFF"
1478SIZE="3"
1479><B
1480>Up</B
1481></FONT
1482></A
1483></B
1484></FONT
1485></TD
1486><TD
1487WIDTH="25%"
1488BGCOLOR="#C00000"
1489ALIGN="right"
1490><A
1491HREF="gnome-xml-htmltree.html"
1492><FONT
1493COLOR="#FFFFFF"
1494SIZE="3"
1495><B
1496>Next Page &#62;&#62;&#62;</B
1497></FONT
1498></A
1499></TD
1500></TR
1501><TR
1502><TD
1503COLSPAN="2"
1504ALIGN="left"
1505><FONT
1506COLOR="#FFFFFF"
1507SIZE="3"
1508><B
Daniel Veillard6bd26dc1999-09-03 14:28:40 +00001509>xml-error</B
Daniel Veillard1566d3a1999-07-15 14:24:29 +00001510></FONT
1511></TD
1512><TD
1513COLSPAN="2"
1514ALIGN="right"
1515><FONT
1516COLOR="#FFFFFF"
1517SIZE="3"
1518><B
1519>HTMLtree</B
1520></FONT
1521></TD
1522></TR
1523></TABLE
1524></DIV
1525></BODY
1526></HTML
1527>