blob: 736aca758d1af345cfe3dfc39c2ad62194a3a45e [file] [log] [blame]
Daniel Veillard80ce3732002-10-07 17:39:30 +00001<HTML
2><HEAD
3><TITLE
4>xmlregexp</TITLE
5><META
6NAME="GENERATOR"
7CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
8"><LINK
9REL="HOME"
10TITLE="Gnome XML Library Reference Manual"
11HREF="book1.html"><LINK
12REL="UP"
13TITLE="Libxml Library Reference"
14HREF="libxml-lib.html"><LINK
15REL="PREVIOUS"
16TITLE="xmlmemory"
17HREF="libxml-xmlmemory.html"><LINK
18REL="NEXT"
19TITLE="xmlautomata"
20HREF="libxml-xmlautomata.html"></HEAD
21><BODY
22CLASS="REFENTRY"
23BGCOLOR="#FFFFFF"
24TEXT="#000000"
25LINK="#0000FF"
26VLINK="#840084"
27ALINK="#0000FF"
28><DIV
29CLASS="NAVHEADER"
30><TABLE
31WIDTH="100%"
32BORDER="0"
33BGCOLOR="#000000"
34CELLPADDING="1"
35CELLSPACING="0"
36><TR
37><TH
38COLSPAN="4"
39ALIGN="center"
40><FONT
41COLOR="#FFFFFF"
42SIZE="5"
43>Gnome XML Library Reference Manual</FONT
44></TH
45></TR
46><TR
47><TD
48WIDTH="25%"
49BGCOLOR="#C00000"
50ALIGN="left"
51><A
52HREF="libxml-xmlmemory.html"
53><FONT
54COLOR="#FFFFFF"
55SIZE="3"
56><B
57>&#60;&#60;&#60; Previous Page</B
58></FONT
59></A
60></TD
61><TD
62WIDTH="25%"
63BGCOLOR="#0000C0"
64ALIGN="center"
65><FONT
66COLOR="#FFFFFF"
67SIZE="3"
68><B
69><A
70HREF="book1.html"
71><FONT
72COLOR="#FFFFFF"
73SIZE="3"
74><B
75>Home</B
76></FONT
77></A
78></B
79></FONT
80></TD
81><TD
82WIDTH="25%"
83BGCOLOR="#00C000"
84ALIGN="center"
85><FONT
86COLOR="#FFFFFF"
87SIZE="3"
88><B
89><A
90HREF="libxml-lib.html"
91><FONT
92COLOR="#FFFFFF"
93SIZE="3"
94><B
95>Up</B
96></FONT
97></A
98></B
99></FONT
100></TD
101><TD
102WIDTH="25%"
103BGCOLOR="#C00000"
104ALIGN="right"
105><A
106HREF="libxml-xmlautomata.html"
107><FONT
108COLOR="#FFFFFF"
109SIZE="3"
110><B
111>Next Page &#62;&#62;&#62;</B
112></FONT
113></A
114></TD
115></TR
116></TABLE
117></DIV
118><H1
119><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000120NAME="LIBXML-XMLREGEXP"
121></A
122>xmlregexp</H1
Daniel Veillard80ce3732002-10-07 17:39:30 +0000123><DIV
124CLASS="REFNAMEDIV"
125><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000126NAME="AEN29877"
Daniel Veillard80ce3732002-10-07 17:39:30 +0000127></A
128><H2
129>Name</H2
130>xmlregexp&nbsp;--&nbsp;</DIV
131><DIV
132CLASS="REFSYNOPSISDIV"
133><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000134NAME="AEN29880"
135></A
136><H2
Daniel Veillard80ce3732002-10-07 17:39:30 +0000137>Synopsis</H2
138><TABLE
139BORDER="0"
140BGCOLOR="#D6E8FF"
141WIDTH="100%"
142CELLPADDING="6"
143><TR
144><TD
145><PRE
146CLASS="SYNOPSIS"
147>&#13;
148
149struct <A
150HREF="libxml-xmlregexp.html#XMLREGEXP"
151>xmlRegexp</A
152>;
153typedef <A
154HREF="libxml-xmlregexp.html#XMLREGEXPPTR"
155>xmlRegexpPtr</A
156>;
157struct <A
158HREF="libxml-xmlregexp.html#XMLREGEXECCTXT"
159>xmlRegExecCtxt</A
160>;
161typedef <A
162HREF="libxml-xmlregexp.html#XMLREGEXECCTXTPTR"
163>xmlRegExecCtxtPtr</A
164>;
165<A
166HREF="libxml-xmlregexp.html#XMLREGEXPPTR"
167>xmlRegexpPtr</A
168> <A
169HREF="libxml-xmlregexp.html#XMLREGEXPCOMPILE"
170>xmlRegexpCompile</A
171> (const <A
172HREF="libxml-tree.html#XMLCHAR"
173>xmlChar</A
174> *regexp);
175void <A
176HREF="libxml-xmlregexp.html#XMLREGFREEREGEXP"
177>xmlRegFreeRegexp</A
178> (<A
179HREF="libxml-xmlregexp.html#XMLREGEXPPTR"
180>xmlRegexpPtr</A
181> regexp);
182int <A
183HREF="libxml-xmlregexp.html#XMLREGEXPEXEC"
184>xmlRegexpExec</A
185> (<A
186HREF="libxml-xmlregexp.html#XMLREGEXPPTR"
187>xmlRegexpPtr</A
188> comp,
189 const <A
190HREF="libxml-tree.html#XMLCHAR"
191>xmlChar</A
192> *value);
193void <A
194HREF="libxml-xmlregexp.html#XMLREGEXPPRINT"
195>xmlRegexpPrint</A
196> (<GTKDOCLINK
197HREF="FILE-CAPS"
198>FILE</GTKDOCLINK
199> *output,
200 <A
201HREF="libxml-xmlregexp.html#XMLREGEXPPTR"
202>xmlRegexpPtr</A
203> regexp);
204int <A
205HREF="libxml-xmlregexp.html#XMLREGEXPISDETERMINIST"
206>xmlRegexpIsDeterminist</A
207> (<A
208HREF="libxml-xmlregexp.html#XMLREGEXPPTR"
209>xmlRegexpPtr</A
210> comp);
211void (<A
212HREF="libxml-xmlregexp.html#XMLREGEXECCALLBACKS"
213>*xmlRegExecCallbacks</A
214>) (<A
215HREF="libxml-xmlregexp.html#XMLREGEXECCTXTPTR"
216>xmlRegExecCtxtPtr</A
217> exec,
218 const <A
219HREF="libxml-tree.html#XMLCHAR"
220>xmlChar</A
221> *token,
222 void *transdata,
223 void *inputdata);
224<A
225HREF="libxml-xmlregexp.html#XMLREGEXECCTXTPTR"
226>xmlRegExecCtxtPtr</A
227> <A
228HREF="libxml-xmlregexp.html#XMLREGNEWEXECCTXT"
229>xmlRegNewExecCtxt</A
230> (<A
231HREF="libxml-xmlregexp.html#XMLREGEXPPTR"
232>xmlRegexpPtr</A
233> comp,
234 <A
235HREF="libxml-xmlregexp.html#XMLREGEXECCALLBACKS"
236>xmlRegExecCallbacks</A
237> callback,
238 void *data);
239void <A
240HREF="libxml-xmlregexp.html#XMLREGFREEEXECCTXT"
241>xmlRegFreeExecCtxt</A
242> (<A
243HREF="libxml-xmlregexp.html#XMLREGEXECCTXTPTR"
244>xmlRegExecCtxtPtr</A
245> exec);
246int <A
247HREF="libxml-xmlregexp.html#XMLREGEXECPUSHSTRING"
248>xmlRegExecPushString</A
249> (<A
250HREF="libxml-xmlregexp.html#XMLREGEXECCTXTPTR"
251>xmlRegExecCtxtPtr</A
252> exec,
253 const <A
254HREF="libxml-tree.html#XMLCHAR"
255>xmlChar</A
256> *value,
257 void *data);</PRE
258></TD
259></TR
260></TABLE
261></DIV
262><DIV
263CLASS="REFSECT1"
264><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000265NAME="AEN29912"
Daniel Veillard80ce3732002-10-07 17:39:30 +0000266></A
267><H2
268>Description</H2
269><P
270></P
271></DIV
272><DIV
273CLASS="REFSECT1"
274><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000275NAME="AEN29915"
Daniel Veillard80ce3732002-10-07 17:39:30 +0000276></A
277><H2
278>Details</H2
279><DIV
280CLASS="REFSECT2"
281><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000282NAME="AEN29917"
Daniel Veillard80ce3732002-10-07 17:39:30 +0000283></A
284><H3
285><A
286NAME="XMLREGEXP"
287></A
288>struct xmlRegexp</H3
289><TABLE
290BORDER="0"
291BGCOLOR="#D6E8FF"
292WIDTH="100%"
293CELLPADDING="6"
294><TR
295><TD
296><PRE
297CLASS="PROGRAMLISTING"
298>struct xmlRegexp;</PRE
299></TD
300></TR
301></TABLE
302><P
303></P
304></DIV
305><HR><DIV
306CLASS="REFSECT2"
307><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000308NAME="AEN29922"
Daniel Veillard80ce3732002-10-07 17:39:30 +0000309></A
310><H3
311><A
312NAME="XMLREGEXPPTR"
313></A
314>xmlRegexpPtr</H3
315><TABLE
316BORDER="0"
317BGCOLOR="#D6E8FF"
318WIDTH="100%"
319CELLPADDING="6"
320><TR
321><TD
322><PRE
323CLASS="PROGRAMLISTING"
324>typedef xmlRegexp *xmlRegexpPtr;</PRE
325></TD
326></TR
327></TABLE
328><P
329>A libxml regular expression, they can actually be far more complex
330thank the POSIX regex expressions.</P
331><P
332></P
333></DIV
334><HR><DIV
335CLASS="REFSECT2"
336><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000337NAME="AEN29928"
Daniel Veillard80ce3732002-10-07 17:39:30 +0000338></A
339><H3
340><A
341NAME="XMLREGEXECCTXT"
342></A
343>struct xmlRegExecCtxt</H3
344><TABLE
345BORDER="0"
346BGCOLOR="#D6E8FF"
347WIDTH="100%"
348CELLPADDING="6"
349><TR
350><TD
351><PRE
352CLASS="PROGRAMLISTING"
353>struct xmlRegExecCtxt;</PRE
354></TD
355></TR
356></TABLE
357><P
358></P
359></DIV
360><HR><DIV
361CLASS="REFSECT2"
362><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000363NAME="AEN29933"
Daniel Veillard80ce3732002-10-07 17:39:30 +0000364></A
365><H3
366><A
367NAME="XMLREGEXECCTXTPTR"
368></A
369>xmlRegExecCtxtPtr</H3
370><TABLE
371BORDER="0"
372BGCOLOR="#D6E8FF"
373WIDTH="100%"
374CELLPADDING="6"
375><TR
376><TD
377><PRE
378CLASS="PROGRAMLISTING"
379>typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;</PRE
380></TD
381></TR
382></TABLE
383><P
384>A libxml progressive regular expression evaluation context</P
385><P
386></P
387></DIV
388><HR><DIV
389CLASS="REFSECT2"
390><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000391NAME="AEN29939"
Daniel Veillard80ce3732002-10-07 17:39:30 +0000392></A
393><H3
394><A
395NAME="XMLREGEXPCOMPILE"
396></A
397>xmlRegexpCompile ()</H3
398><TABLE
399BORDER="0"
400BGCOLOR="#D6E8FF"
401WIDTH="100%"
402CELLPADDING="6"
403><TR
404><TD
405><PRE
406CLASS="PROGRAMLISTING"
407><A
408HREF="libxml-xmlregexp.html#XMLREGEXPPTR"
409>xmlRegexpPtr</A
410> xmlRegexpCompile (const <A
411HREF="libxml-tree.html#XMLCHAR"
412>xmlChar</A
413> *regexp);</PRE
414></TD
415></TR
416></TABLE
417><P
418>Parses a regular expression conforming to XML Schemas Part 2 Datatype
419Appendix F and build an automata suitable for testing strings against
420that regular expression</P
421><P
422></P
423><DIV
424CLASS="INFORMALTABLE"
425><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000426NAME="AEN29947"
427></A
428><P
Daniel Veillard80ce3732002-10-07 17:39:30 +0000429></P
430><TABLE
431BORDER="0"
432WIDTH="100%"
433BGCOLOR="#FFD0D0"
434CELLSPACING="0"
435CELLPADDING="4"
436CLASS="CALSTABLE"
437><TBODY
438><TR
439><TD
440WIDTH="20%"
441ALIGN="RIGHT"
442VALIGN="TOP"
443><TT
444CLASS="PARAMETER"
445><I
446>regexp</I
447></TT
448>&nbsp;:</TD
449><TD
450WIDTH="80%"
451ALIGN="LEFT"
452VALIGN="TOP"
453> a regular expression string</TD
454></TR
455><TR
456><TD
457WIDTH="20%"
458ALIGN="RIGHT"
459VALIGN="TOP"
460><SPAN
461CLASS="emphasis"
462><I
463CLASS="EMPHASIS"
464>Returns</I
465></SPAN
466> :</TD
467><TD
468WIDTH="80%"
469ALIGN="LEFT"
470VALIGN="TOP"
471>the compiled expression or NULL in case of error</TD
472></TR
473></TBODY
474></TABLE
475><P
476></P
477></DIV
478></DIV
479><HR><DIV
480CLASS="REFSECT2"
481><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000482NAME="AEN29960"
Daniel Veillard80ce3732002-10-07 17:39:30 +0000483></A
484><H3
485><A
486NAME="XMLREGFREEREGEXP"
487></A
488>xmlRegFreeRegexp ()</H3
489><TABLE
490BORDER="0"
491BGCOLOR="#D6E8FF"
492WIDTH="100%"
493CELLPADDING="6"
494><TR
495><TD
496><PRE
497CLASS="PROGRAMLISTING"
498>void xmlRegFreeRegexp (<A
499HREF="libxml-xmlregexp.html#XMLREGEXPPTR"
500>xmlRegexpPtr</A
501> regexp);</PRE
502></TD
503></TR
504></TABLE
505><P
506>Free a regexp</P
507><P
508></P
509><DIV
510CLASS="INFORMALTABLE"
511><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000512NAME="AEN29967"
513></A
514><P
Daniel Veillard80ce3732002-10-07 17:39:30 +0000515></P
516><TABLE
517BORDER="0"
518WIDTH="100%"
519BGCOLOR="#FFD0D0"
520CELLSPACING="0"
521CELLPADDING="4"
522CLASS="CALSTABLE"
523><TBODY
524><TR
525><TD
526WIDTH="20%"
527ALIGN="RIGHT"
528VALIGN="TOP"
529><TT
530CLASS="PARAMETER"
531><I
532>regexp</I
533></TT
534>&nbsp;:</TD
535><TD
536WIDTH="80%"
537ALIGN="LEFT"
538VALIGN="TOP"
539> the regexp</TD
540></TR
541></TBODY
542></TABLE
543><P
544></P
545></DIV
546></DIV
547><HR><DIV
548CLASS="REFSECT2"
549><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000550NAME="AEN29976"
Daniel Veillard80ce3732002-10-07 17:39:30 +0000551></A
552><H3
553><A
554NAME="XMLREGEXPEXEC"
555></A
556>xmlRegexpExec ()</H3
557><TABLE
558BORDER="0"
559BGCOLOR="#D6E8FF"
560WIDTH="100%"
561CELLPADDING="6"
562><TR
563><TD
564><PRE
565CLASS="PROGRAMLISTING"
566>int xmlRegexpExec (<A
567HREF="libxml-xmlregexp.html#XMLREGEXPPTR"
568>xmlRegexpPtr</A
569> comp,
570 const <A
571HREF="libxml-tree.html#XMLCHAR"
572>xmlChar</A
573> *value);</PRE
574></TD
575></TR
576></TABLE
577><P
578>Check if the regular expression generate the value</P
579><P
580></P
581><DIV
582CLASS="INFORMALTABLE"
583><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000584NAME="AEN29984"
585></A
586><P
Daniel Veillard80ce3732002-10-07 17:39:30 +0000587></P
588><TABLE
589BORDER="0"
590WIDTH="100%"
591BGCOLOR="#FFD0D0"
592CELLSPACING="0"
593CELLPADDING="4"
594CLASS="CALSTABLE"
595><TBODY
596><TR
597><TD
598WIDTH="20%"
599ALIGN="RIGHT"
600VALIGN="TOP"
601><TT
602CLASS="PARAMETER"
603><I
604>comp</I
605></TT
606>&nbsp;:</TD
607><TD
608WIDTH="80%"
609ALIGN="LEFT"
610VALIGN="TOP"
611> the compiled regular expression</TD
612></TR
613><TR
614><TD
615WIDTH="20%"
616ALIGN="RIGHT"
617VALIGN="TOP"
618><TT
619CLASS="PARAMETER"
620><I
621>value</I
622></TT
623>&nbsp;:</TD
624><TD
625WIDTH="80%"
626ALIGN="LEFT"
627VALIGN="TOP"
628>&nbsp;</TD
629></TR
630><TR
631><TD
632WIDTH="20%"
633ALIGN="RIGHT"
634VALIGN="TOP"
635><SPAN
636CLASS="emphasis"
637><I
638CLASS="EMPHASIS"
639>Returns</I
640></SPAN
641> :</TD
642><TD
643WIDTH="80%"
644ALIGN="LEFT"
645VALIGN="TOP"
646>1 if it matches, 0 if not and a negativa value in case of error</TD
647></TR
648></TBODY
649></TABLE
650><P
651></P
652></DIV
653></DIV
654><HR><DIV
655CLASS="REFSECT2"
656><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000657NAME="AEN30001"
Daniel Veillard80ce3732002-10-07 17:39:30 +0000658></A
659><H3
660><A
661NAME="XMLREGEXPPRINT"
662></A
663>xmlRegexpPrint ()</H3
664><TABLE
665BORDER="0"
666BGCOLOR="#D6E8FF"
667WIDTH="100%"
668CELLPADDING="6"
669><TR
670><TD
671><PRE
672CLASS="PROGRAMLISTING"
673>void xmlRegexpPrint (<GTKDOCLINK
674HREF="FILE-CAPS"
675>FILE</GTKDOCLINK
676> *output,
677 <A
678HREF="libxml-xmlregexp.html#XMLREGEXPPTR"
679>xmlRegexpPtr</A
680> regexp);</PRE
681></TD
682></TR
683></TABLE
684><P
685>Print the content of the compiled regular expression</P
686><P
687></P
688><DIV
689CLASS="INFORMALTABLE"
690><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000691NAME="AEN30009"
692></A
693><P
Daniel Veillard80ce3732002-10-07 17:39:30 +0000694></P
695><TABLE
696BORDER="0"
697WIDTH="100%"
698BGCOLOR="#FFD0D0"
699CELLSPACING="0"
700CELLPADDING="4"
701CLASS="CALSTABLE"
702><TBODY
703><TR
704><TD
705WIDTH="20%"
706ALIGN="RIGHT"
707VALIGN="TOP"
708><TT
709CLASS="PARAMETER"
710><I
711>output</I
712></TT
713>&nbsp;:</TD
714><TD
715WIDTH="80%"
716ALIGN="LEFT"
717VALIGN="TOP"
718> the file for the output debug</TD
719></TR
720><TR
721><TD
722WIDTH="20%"
723ALIGN="RIGHT"
724VALIGN="TOP"
725><TT
726CLASS="PARAMETER"
727><I
728>regexp</I
729></TT
730>&nbsp;:</TD
731><TD
732WIDTH="80%"
733ALIGN="LEFT"
734VALIGN="TOP"
735> the compiled regexp</TD
736></TR
737></TBODY
738></TABLE
739><P
740></P
741></DIV
742></DIV
743><HR><DIV
744CLASS="REFSECT2"
745><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000746NAME="AEN30022"
Daniel Veillard80ce3732002-10-07 17:39:30 +0000747></A
748><H3
749><A
750NAME="XMLREGEXPISDETERMINIST"
751></A
752>xmlRegexpIsDeterminist ()</H3
753><TABLE
754BORDER="0"
755BGCOLOR="#D6E8FF"
756WIDTH="100%"
757CELLPADDING="6"
758><TR
759><TD
760><PRE
761CLASS="PROGRAMLISTING"
762>int xmlRegexpIsDeterminist (<A
763HREF="libxml-xmlregexp.html#XMLREGEXPPTR"
764>xmlRegexpPtr</A
765> comp);</PRE
766></TD
767></TR
768></TABLE
769><P
770>Check if the regular expression is determinist</P
771><P
772></P
773><DIV
774CLASS="INFORMALTABLE"
775><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000776NAME="AEN30029"
777></A
778><P
Daniel Veillard80ce3732002-10-07 17:39:30 +0000779></P
780><TABLE
781BORDER="0"
782WIDTH="100%"
783BGCOLOR="#FFD0D0"
784CELLSPACING="0"
785CELLPADDING="4"
786CLASS="CALSTABLE"
787><TBODY
788><TR
789><TD
790WIDTH="20%"
791ALIGN="RIGHT"
792VALIGN="TOP"
793><TT
794CLASS="PARAMETER"
795><I
796>comp</I
797></TT
798>&nbsp;:</TD
799><TD
800WIDTH="80%"
801ALIGN="LEFT"
802VALIGN="TOP"
803> the compiled regular expression</TD
804></TR
805><TR
806><TD
807WIDTH="20%"
808ALIGN="RIGHT"
809VALIGN="TOP"
810><SPAN
811CLASS="emphasis"
812><I
813CLASS="EMPHASIS"
814>Returns</I
815></SPAN
816> :</TD
817><TD
818WIDTH="80%"
819ALIGN="LEFT"
820VALIGN="TOP"
821>1 if it yes, 0 if not and a negativa value in case of error</TD
822></TR
823></TBODY
824></TABLE
825><P
826></P
827></DIV
828></DIV
829><HR><DIV
830CLASS="REFSECT2"
831><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000832NAME="AEN30042"
Daniel Veillard80ce3732002-10-07 17:39:30 +0000833></A
834><H3
835><A
836NAME="XMLREGEXECCALLBACKS"
837></A
838>xmlRegExecCallbacks ()</H3
839><TABLE
840BORDER="0"
841BGCOLOR="#D6E8FF"
842WIDTH="100%"
843CELLPADDING="6"
844><TR
845><TD
846><PRE
847CLASS="PROGRAMLISTING"
848>void (*xmlRegExecCallbacks) (<A
849HREF="libxml-xmlregexp.html#XMLREGEXECCTXTPTR"
850>xmlRegExecCtxtPtr</A
851> exec,
852 const <A
853HREF="libxml-tree.html#XMLCHAR"
854>xmlChar</A
855> *token,
856 void *transdata,
857 void *inputdata);</PRE
858></TD
859></TR
860></TABLE
861><P
862></P
863><DIV
864CLASS="INFORMALTABLE"
865><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000866NAME="AEN30049"
867></A
868><P
Daniel Veillard80ce3732002-10-07 17:39:30 +0000869></P
870><TABLE
871BORDER="0"
872WIDTH="100%"
873BGCOLOR="#FFD0D0"
874CELLSPACING="0"
875CELLPADDING="4"
876CLASS="CALSTABLE"
877><TBODY
878><TR
879><TD
880WIDTH="20%"
881ALIGN="RIGHT"
882VALIGN="TOP"
883><TT
884CLASS="PARAMETER"
885><I
886>exec</I
887></TT
888>&nbsp;:</TD
889><TD
890WIDTH="80%"
891ALIGN="LEFT"
892VALIGN="TOP"
893>&nbsp;</TD
894></TR
895><TR
896><TD
897WIDTH="20%"
898ALIGN="RIGHT"
899VALIGN="TOP"
900><TT
901CLASS="PARAMETER"
902><I
903>token</I
904></TT
905>&nbsp;:</TD
906><TD
907WIDTH="80%"
908ALIGN="LEFT"
909VALIGN="TOP"
910>&nbsp;</TD
911></TR
912><TR
913><TD
914WIDTH="20%"
915ALIGN="RIGHT"
916VALIGN="TOP"
917><TT
918CLASS="PARAMETER"
919><I
920>transdata</I
921></TT
922>&nbsp;:</TD
923><TD
924WIDTH="80%"
925ALIGN="LEFT"
926VALIGN="TOP"
927>&nbsp;</TD
928></TR
929><TR
930><TD
931WIDTH="20%"
932ALIGN="RIGHT"
933VALIGN="TOP"
934><TT
935CLASS="PARAMETER"
936><I
937>inputdata</I
938></TT
939>&nbsp;:</TD
940><TD
941WIDTH="80%"
942ALIGN="LEFT"
943VALIGN="TOP"
944>&nbsp;</TD
945></TR
946></TBODY
947></TABLE
948><P
949></P
950></DIV
951></DIV
952><HR><DIV
953CLASS="REFSECT2"
954><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000955NAME="AEN30070"
Daniel Veillard80ce3732002-10-07 17:39:30 +0000956></A
957><H3
958><A
959NAME="XMLREGNEWEXECCTXT"
960></A
961>xmlRegNewExecCtxt ()</H3
962><TABLE
963BORDER="0"
964BGCOLOR="#D6E8FF"
965WIDTH="100%"
966CELLPADDING="6"
967><TR
968><TD
969><PRE
970CLASS="PROGRAMLISTING"
971><A
972HREF="libxml-xmlregexp.html#XMLREGEXECCTXTPTR"
973>xmlRegExecCtxtPtr</A
974> xmlRegNewExecCtxt (<A
975HREF="libxml-xmlregexp.html#XMLREGEXPPTR"
976>xmlRegexpPtr</A
977> comp,
978 <A
979HREF="libxml-xmlregexp.html#XMLREGEXECCALLBACKS"
980>xmlRegExecCallbacks</A
981> callback,
982 void *data);</PRE
983></TD
984></TR
985></TABLE
986><P
Daniel Veillardaec63562003-03-23 20:42:17 +0000987>Build a context used for progressive evaluation of a regexp.</P
988><P
Daniel Veillard80ce3732002-10-07 17:39:30 +0000989></P
990><DIV
991CLASS="INFORMALTABLE"
992><A
Daniel Veillardaec63562003-03-23 20:42:17 +0000993NAME="AEN30079"
994></A
995><P
Daniel Veillard80ce3732002-10-07 17:39:30 +0000996></P
997><TABLE
998BORDER="0"
999WIDTH="100%"
1000BGCOLOR="#FFD0D0"
1001CELLSPACING="0"
1002CELLPADDING="4"
1003CLASS="CALSTABLE"
1004><TBODY
1005><TR
1006><TD
1007WIDTH="20%"
1008ALIGN="RIGHT"
1009VALIGN="TOP"
1010><TT
1011CLASS="PARAMETER"
1012><I
1013>comp</I
1014></TT
1015>&nbsp;:</TD
1016><TD
1017WIDTH="80%"
1018ALIGN="LEFT"
1019VALIGN="TOP"
Daniel Veillardaec63562003-03-23 20:42:17 +00001020> a precompiled regular expression</TD
Daniel Veillard80ce3732002-10-07 17:39:30 +00001021></TR
1022><TR
1023><TD
1024WIDTH="20%"
1025ALIGN="RIGHT"
1026VALIGN="TOP"
1027><TT
1028CLASS="PARAMETER"
1029><I
1030>callback</I
1031></TT
1032>&nbsp;:</TD
1033><TD
1034WIDTH="80%"
1035ALIGN="LEFT"
1036VALIGN="TOP"
Daniel Veillardaec63562003-03-23 20:42:17 +00001037> a callback function used for handling progresses in the
1038 automata matching phase</TD
Daniel Veillard80ce3732002-10-07 17:39:30 +00001039></TR
1040><TR
1041><TD
1042WIDTH="20%"
1043ALIGN="RIGHT"
1044VALIGN="TOP"
1045><TT
1046CLASS="PARAMETER"
1047><I
1048>data</I
1049></TT
1050>&nbsp;:</TD
1051><TD
1052WIDTH="80%"
1053ALIGN="LEFT"
1054VALIGN="TOP"
Daniel Veillardaec63562003-03-23 20:42:17 +00001055> the context data associated to the callback in this context</TD
Daniel Veillard80ce3732002-10-07 17:39:30 +00001056></TR
1057><TR
1058><TD
1059WIDTH="20%"
1060ALIGN="RIGHT"
1061VALIGN="TOP"
1062><SPAN
1063CLASS="emphasis"
1064><I
1065CLASS="EMPHASIS"
1066>Returns</I
1067></SPAN
1068> :</TD
1069><TD
1070WIDTH="80%"
1071ALIGN="LEFT"
1072VALIGN="TOP"
Daniel Veillardaec63562003-03-23 20:42:17 +00001073>the new context</TD
Daniel Veillard80ce3732002-10-07 17:39:30 +00001074></TR
1075></TBODY
1076></TABLE
1077><P
1078></P
1079></DIV
1080></DIV
1081><HR><DIV
1082CLASS="REFSECT2"
1083><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001084NAME="AEN30100"
Daniel Veillard80ce3732002-10-07 17:39:30 +00001085></A
1086><H3
1087><A
1088NAME="XMLREGFREEEXECCTXT"
1089></A
1090>xmlRegFreeExecCtxt ()</H3
1091><TABLE
1092BORDER="0"
1093BGCOLOR="#D6E8FF"
1094WIDTH="100%"
1095CELLPADDING="6"
1096><TR
1097><TD
1098><PRE
1099CLASS="PROGRAMLISTING"
1100>void xmlRegFreeExecCtxt (<A
1101HREF="libxml-xmlregexp.html#XMLREGEXECCTXTPTR"
1102>xmlRegExecCtxtPtr</A
1103> exec);</PRE
1104></TD
1105></TR
1106></TABLE
1107><P
1108>Free the structures associated to a regular expression evaulation context.</P
1109><P
1110></P
1111><DIV
1112CLASS="INFORMALTABLE"
1113><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001114NAME="AEN30107"
1115></A
1116><P
Daniel Veillard80ce3732002-10-07 17:39:30 +00001117></P
1118><TABLE
1119BORDER="0"
1120WIDTH="100%"
1121BGCOLOR="#FFD0D0"
1122CELLSPACING="0"
1123CELLPADDING="4"
1124CLASS="CALSTABLE"
1125><TBODY
1126><TR
1127><TD
1128WIDTH="20%"
1129ALIGN="RIGHT"
1130VALIGN="TOP"
1131><TT
1132CLASS="PARAMETER"
1133><I
1134>exec</I
1135></TT
1136>&nbsp;:</TD
1137><TD
1138WIDTH="80%"
1139ALIGN="LEFT"
1140VALIGN="TOP"
1141> a regular expression evaulation context</TD
1142></TR
1143></TBODY
1144></TABLE
1145><P
1146></P
1147></DIV
1148></DIV
1149><HR><DIV
1150CLASS="REFSECT2"
1151><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001152NAME="AEN30116"
Daniel Veillard80ce3732002-10-07 17:39:30 +00001153></A
1154><H3
1155><A
1156NAME="XMLREGEXECPUSHSTRING"
1157></A
1158>xmlRegExecPushString ()</H3
1159><TABLE
1160BORDER="0"
1161BGCOLOR="#D6E8FF"
1162WIDTH="100%"
1163CELLPADDING="6"
1164><TR
1165><TD
1166><PRE
1167CLASS="PROGRAMLISTING"
1168>int xmlRegExecPushString (<A
1169HREF="libxml-xmlregexp.html#XMLREGEXECCTXTPTR"
1170>xmlRegExecCtxtPtr</A
1171> exec,
1172 const <A
1173HREF="libxml-tree.html#XMLCHAR"
1174>xmlChar</A
1175> *value,
1176 void *data);</PRE
1177></TD
1178></TR
1179></TABLE
1180><P
1181>Push one input token in the execution context</P
1182><P
1183></P
1184><DIV
1185CLASS="INFORMALTABLE"
1186><A
Daniel Veillardaec63562003-03-23 20:42:17 +00001187NAME="AEN30124"
1188></A
1189><P
Daniel Veillard80ce3732002-10-07 17:39:30 +00001190></P
1191><TABLE
1192BORDER="0"
1193WIDTH="100%"
1194BGCOLOR="#FFD0D0"
1195CELLSPACING="0"
1196CELLPADDING="4"
1197CLASS="CALSTABLE"
1198><TBODY
1199><TR
1200><TD
1201WIDTH="20%"
1202ALIGN="RIGHT"
1203VALIGN="TOP"
1204><TT
1205CLASS="PARAMETER"
1206><I
1207>exec</I
1208></TT
1209>&nbsp;:</TD
1210><TD
1211WIDTH="80%"
1212ALIGN="LEFT"
1213VALIGN="TOP"
Daniel Veillardaec63562003-03-23 20:42:17 +00001214> a regexp execution context or NULL to indicate the end</TD
Daniel Veillard80ce3732002-10-07 17:39:30 +00001215></TR
1216><TR
1217><TD
1218WIDTH="20%"
1219ALIGN="RIGHT"
1220VALIGN="TOP"
1221><TT
1222CLASS="PARAMETER"
1223><I
1224>value</I
1225></TT
1226>&nbsp;:</TD
1227><TD
1228WIDTH="80%"
1229ALIGN="LEFT"
1230VALIGN="TOP"
1231> a string token input</TD
1232></TR
1233><TR
1234><TD
1235WIDTH="20%"
1236ALIGN="RIGHT"
1237VALIGN="TOP"
1238><TT
1239CLASS="PARAMETER"
1240><I
1241>data</I
1242></TT
1243>&nbsp;:</TD
1244><TD
1245WIDTH="80%"
1246ALIGN="LEFT"
1247VALIGN="TOP"
1248> data associated to the token to reuse in callbacks</TD
1249></TR
1250><TR
1251><TD
1252WIDTH="20%"
1253ALIGN="RIGHT"
1254VALIGN="TOP"
1255><SPAN
1256CLASS="emphasis"
1257><I
1258CLASS="EMPHASIS"
1259>Returns</I
1260></SPAN
1261> :</TD
1262><TD
1263WIDTH="80%"
1264ALIGN="LEFT"
1265VALIGN="TOP"
1266> 1 if the regexp reached a final state, 0 if non-final, and
Daniel Veillardaec63562003-03-23 20:42:17 +00001267 a negative value in case of error.</TD
Daniel Veillard80ce3732002-10-07 17:39:30 +00001268></TR
1269></TBODY
1270></TABLE
1271><P
1272></P
1273></DIV
1274></DIV
1275></DIV
1276><DIV
1277CLASS="NAVFOOTER"
1278><BR
1279CLEAR="all"><BR><TABLE
1280WIDTH="100%"
1281BORDER="0"
1282BGCOLOR="#000000"
1283CELLPADDING="1"
1284CELLSPACING="0"
1285><TR
1286><TD
1287WIDTH="25%"
1288BGCOLOR="#C00000"
1289ALIGN="left"
1290><A
1291HREF="libxml-xmlmemory.html"
1292><FONT
1293COLOR="#FFFFFF"
1294SIZE="3"
1295><B
1296>&#60;&#60;&#60; Previous Page</B
1297></FONT
1298></A
1299></TD
1300><TD
1301WIDTH="25%"
1302BGCOLOR="#0000C0"
1303ALIGN="center"
1304><FONT
1305COLOR="#FFFFFF"
1306SIZE="3"
1307><B
1308><A
1309HREF="book1.html"
1310><FONT
1311COLOR="#FFFFFF"
1312SIZE="3"
1313><B
1314>Home</B
1315></FONT
1316></A
1317></B
1318></FONT
1319></TD
1320><TD
1321WIDTH="25%"
1322BGCOLOR="#00C000"
1323ALIGN="center"
1324><FONT
1325COLOR="#FFFFFF"
1326SIZE="3"
1327><B
1328><A
1329HREF="libxml-lib.html"
1330><FONT
1331COLOR="#FFFFFF"
1332SIZE="3"
1333><B
1334>Up</B
1335></FONT
1336></A
1337></B
1338></FONT
1339></TD
1340><TD
1341WIDTH="25%"
1342BGCOLOR="#C00000"
1343ALIGN="right"
1344><A
1345HREF="libxml-xmlautomata.html"
1346><FONT
1347COLOR="#FFFFFF"
1348SIZE="3"
1349><B
1350>Next Page &#62;&#62;&#62;</B
1351></FONT
1352></A
1353></TD
1354></TR
1355><TR
1356><TD
1357COLSPAN="2"
1358ALIGN="left"
1359><FONT
1360COLOR="#FFFFFF"
1361SIZE="3"
1362><B
1363>xmlmemory</B
1364></FONT
1365></TD
1366><TD
1367COLSPAN="2"
1368ALIGN="right"
1369><FONT
1370COLOR="#FFFFFF"
1371SIZE="3"
1372><B
1373>xmlautomata</B
1374></FONT
1375></TD
1376></TR
1377></TABLE
1378></DIV
1379></BODY
1380></HTML
1381>