blob: 2486611956e1084869c140058e6422a55f0d6d0d [file] [log] [blame]
<HTML
><HEAD
><TITLE
>parserInternals</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="Gnome XML Library Reference Manual"
HREF="book1.html"><LINK
REL="UP"
TITLE="Libxml Library Reference"
HREF="libxml-lib.html"><LINK
REL="PREVIOUS"
TITLE="DOCBparser"
HREF="libxml-docbparser.html"><LINK
REL="NEXT"
TITLE="encoding"
HREF="libxml-encoding.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><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="libxml-docbparser.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&#60;&#60;&#60; 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-lib.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Up</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="right"
><A
HREF="libxml-encoding.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Next Page &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
></TABLE
></DIV
><H1
><A
NAME="LIBXML-PARSERINTERNALS">parserInternals</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN21577"
></A
><H2
>Name</H2
>parserInternals&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN21580"><H2
>Synopsis</H2
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="SYNOPSIS"
>&#13;
#define <A
HREF="libxml-parserinternals.html#XML-MAX-NAMELEN-CAPS"
>XML_MAX_NAMELEN</A
>
#define <A
HREF="libxml-parserinternals.html#INPUT-CHUNK-CAPS"
>INPUT_CHUNK</A
>
#define <A
HREF="libxml-parserinternals.html#IS-CHAR-CAPS"
>IS_CHAR</A
> (c)
#define <A
HREF="libxml-parserinternals.html#IS-BLANK-CAPS"
>IS_BLANK</A
> (c)
#define <A
HREF="libxml-parserinternals.html#IS-BASECHAR-CAPS"
>IS_BASECHAR</A
> (c)
#define <A
HREF="libxml-parserinternals.html#IS-DIGIT-CAPS"
>IS_DIGIT</A
> (c)
#define <A
HREF="libxml-parserinternals.html#IS-COMBINING-CAPS"
>IS_COMBINING</A
> (c)
#define <A
HREF="libxml-parserinternals.html#IS-EXTENDER-CAPS"
>IS_EXTENDER</A
> (c)
#define <A
HREF="libxml-parserinternals.html#IS-IDEOGRAPHIC-CAPS"
>IS_IDEOGRAPHIC</A
> (c)
#define <A
HREF="libxml-parserinternals.html#IS-LETTER-CAPS"
>IS_LETTER</A
> (c)
#define <A
HREF="libxml-parserinternals.html#IS-PUBIDCHAR-CAPS"
>IS_PUBIDCHAR</A
> (c)
#define <A
HREF="libxml-parserinternals.html#SKIP-EOL-CAPS"
>SKIP_EOL</A
> (p)
#define <A
HREF="libxml-parserinternals.html#MOVETO-ENDTAG-CAPS"
>MOVETO_ENDTAG</A
> (p)
#define <A
HREF="libxml-parserinternals.html#MOVETO-STARTTAG-CAPS"
>MOVETO_STARTTAG</A
> (p)
int <A
HREF="libxml-parserinternals.html#XMLISBASECHAR"
>xmlIsBaseChar</A
> (int c);
int <A
HREF="libxml-parserinternals.html#XMLISBLANK"
>xmlIsBlank</A
> (int c);
int <A
HREF="libxml-parserinternals.html#XMLISPUBIDCHAR"
>xmlIsPubidChar</A
> (int c);
int <A
HREF="libxml-parserinternals.html#XMLISLETTER"
>xmlIsLetter</A
> (int c);
int <A
HREF="libxml-parserinternals.html#XMLISDIGIT"
>xmlIsDigit</A
> (int c);
int <A
HREF="libxml-parserinternals.html#XMLISIDEOGRAPHIC"
>xmlIsIdeographic</A
> (int c);
int <A
HREF="libxml-parserinternals.html#XMLISEXTENDER"
>xmlIsExtender</A
> (int c);
int <A
HREF="libxml-parserinternals.html#XMLISCOMBINING"
>xmlIsCombining</A
> (int c);
int <A
HREF="libxml-parserinternals.html#XMLISCHAR"
>xmlIsChar</A
> (int c);
<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> <A
HREF="libxml-parserinternals.html#XMLCREATEFILEPARSERCTXT"
>xmlCreateFileParserCtxt</A
> (const char *filename);
<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> <A
HREF="libxml-parserinternals.html#XMLCREATEMEMORYPARSERCTXT"
>xmlCreateMemoryParserCtxt</A
> (const char *buffer,
int size);
<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> <A
HREF="libxml-parserinternals.html#XMLNEWPARSERCTXT"
>xmlNewParserCtxt</A
> (void);
<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> <A
HREF="libxml-parserinternals.html#XMLCREATEENTITYPARSERCTXT"
>xmlCreateEntityParserCtxt</A
> (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *URL,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *ID,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *base);
int <A
HREF="libxml-parserinternals.html#XMLSWITCHENCODING"
>xmlSwitchEncoding</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-encoding.html#XMLCHARENCODING"
>xmlCharEncoding</A
> enc);
int <A
HREF="libxml-parserinternals.html#XMLSWITCHTOENCODING"
>xmlSwitchToEncoding</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
>xmlCharEncodingHandlerPtr</A
> handler);
void <A
HREF="libxml-parserinternals.html#XMLHANDLEENTITY"
>xmlHandleEntity</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLENTITYPTR"
>xmlEntityPtr</A
> entity);
<A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> <A
HREF="libxml-parserinternals.html#XMLNEWSTRINGINPUTSTREAM"
>xmlNewStringInputStream</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *buffer);
<A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> <A
HREF="libxml-parserinternals.html#XMLNEWENTITYINPUTSTREAM"
>xmlNewEntityInputStream</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLENTITYPTR"
>xmlEntityPtr</A
> entity);
void <A
HREF="libxml-parserinternals.html#XMLPUSHINPUT"
>xmlPushInput</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> input);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> <A
HREF="libxml-parserinternals.html#XMLPOPINPUT"
>xmlPopInput</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLFREEINPUTSTREAM"
>xmlFreeInputStream</A
> (<A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> input);
<A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> <A
HREF="libxml-parserinternals.html#XMLNEWINPUTFROMFILE"
>xmlNewInputFromFile</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
const char *filename);
<A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> <A
HREF="libxml-parserinternals.html#XMLNEWINPUTSTREAM"
>xmlNewInputStream</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLSPLITQNAME"
>xmlSplitQName</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **prefix);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLNAMESPACEPARSENCNAME"
>xmlNamespaceParseNCName</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLNAMESPACEPARSEQNAME"
>xmlNamespaceParseQName</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **prefix);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLNAMESPACEPARSENSDEF"
>xmlNamespaceParseNSDef</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLPARSEQUOTEDSTRING"
>xmlParseQuotedString</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSENAMESPACE"
>xmlParseNamespace</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLSCANNAME"
>xmlScanName</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLPARSENAME"
>xmlParseName</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLPARSENMTOKEN"
>xmlParseNmtoken</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLPARSEENTITYVALUE"
>xmlParseEntityValue</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **orig);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLPARSEATTVALUE"
>xmlParseAttValue</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLPARSESYSTEMLITERAL"
>xmlParseSystemLiteral</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLPARSEPUBIDLITERAL"
>xmlParsePubidLiteral</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSECHARDATA"
>xmlParseCharData</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
int cdata);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLPARSEEXTERNALID"
>xmlParseExternalID</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **publicID,
int strict);
void <A
HREF="libxml-parserinternals.html#XMLPARSECOMMENT"
>xmlParseComment</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLPARSEPITARGET"
>xmlParsePITarget</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSEPI"
>xmlParsePI</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSENOTATIONDECL"
>xmlParseNotationDecl</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSEENTITYDECL"
>xmlParseEntityDecl</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
int <A
HREF="libxml-parserinternals.html#XMLPARSEDEFAULTDECL"
>xmlParseDefaultDecl</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **value);
<A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> <A
HREF="libxml-parserinternals.html#XMLPARSENOTATIONTYPE"
>xmlParseNotationType</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> <A
HREF="libxml-parserinternals.html#XMLPARSEENUMERATIONTYPE"
>xmlParseEnumerationType</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
int <A
HREF="libxml-parserinternals.html#XMLPARSEENUMERATEDTYPE"
>xmlParseEnumeratedType</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> *tree);
int <A
HREF="libxml-parserinternals.html#XMLPARSEATTRIBUTETYPE"
>xmlParseAttributeType</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> *tree);
void <A
HREF="libxml-parserinternals.html#XMLPARSEATTRIBUTELISTDECL"
>xmlParseAttributeListDecl</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> <A
HREF="libxml-parserinternals.html#XMLPARSEELEMENTMIXEDCONTENTDECL"
>xmlParseElementMixedContentDecl</A
>
(<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> inputchk);
<A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> <A
HREF="libxml-parserinternals.html#XMLPARSEELEMENTCHILDRENCONTENTD"
>xmlParseElementChildrenContentD</A
>
(<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> <A
HREF="libxml-parserinternals.html#XMLPARSEELEMENTCHILDRENCONTENTDECL"
>xmlParseElementChildrenContentDecl</A
>
(<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> inputchk);
int <A
HREF="libxml-parserinternals.html#XMLPARSEELEMENTCONTENTDECL"
>xmlParseElementContentDecl</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
<A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> *result);
int <A
HREF="libxml-parserinternals.html#XMLPARSEELEMENTDECL"
>xmlParseElementDecl</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSEMARKUPDECL"
>xmlParseMarkupDecl</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
int <A
HREF="libxml-parserinternals.html#XMLPARSECHARREF"
>xmlParseCharRef</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLENTITYPTR"
>xmlEntityPtr</A
> <A
HREF="libxml-parserinternals.html#XMLPARSEENTITYREF"
>xmlParseEntityRef</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSEREFERENCE"
>xmlParseReference</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSEPEREFERENCE"
>xmlParsePEReference</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSEDOCTYPEDECL"
>xmlParseDocTypeDecl</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLPARSEATTRIBUTE"
>xmlParseAttribute</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **value);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLPARSESTARTTAG"
>xmlParseStartTag</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSEENDTAG"
>xmlParseEndTag</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSECDSECT"
>xmlParseCDSect</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSECONTENT"
>xmlParseContent</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSEELEMENT"
>xmlParseElement</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLPARSEVERSIONNUM"
>xmlParseVersionNum</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLPARSEVERSIONINFO"
>xmlParseVersionInfo</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLPARSEENCNAME"
>xmlParseEncName</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLPARSEENCODINGDECL"
>xmlParseEncodingDecl</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
int <A
HREF="libxml-parserinternals.html#XMLPARSESDDECL"
>xmlParseSDDecl</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSEXMLDECL"
>xmlParseXMLDecl</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSETEXTDECL"
>xmlParseTextDecl</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSEMISC"
>xmlParseMisc</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSEEXTERNALSUBSET"
>xmlParseExternalSubset</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *ExternalID,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *SystemID);
#define <A
HREF="libxml-parserinternals.html#XML-SUBSTITUTE-NONE-CAPS"
>XML_SUBSTITUTE_NONE</A
>
#define <A
HREF="libxml-parserinternals.html#XML-SUBSTITUTE-REF-CAPS"
>XML_SUBSTITUTE_REF</A
>
#define <A
HREF="libxml-parserinternals.html#XML-SUBSTITUTE-PEREF-CAPS"
>XML_SUBSTITUTE_PEREF</A
>
#define <A
HREF="libxml-parserinternals.html#XML-SUBSTITUTE-BOTH-CAPS"
>XML_SUBSTITUTE_BOTH</A
>
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLDECODEENTITIES"
>xmlDecodeEntities</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
int len,
int what,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> end,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> end2,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> end3);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#XMLSTRINGDECODEENTITIES"
>xmlStringDecodeEntities</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *str,
int what,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> end,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> end2,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> end3);
int <A
HREF="libxml-parserinternals.html#NODEPUSH"
>nodePush</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> value);
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> <A
HREF="libxml-parserinternals.html#NODEPOP"
>nodePop</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
int <A
HREF="libxml-parserinternals.html#INPUTPUSH"
>inputPush</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> value);
<A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> <A
HREF="libxml-parserinternals.html#INPUTPOP"
>inputPop</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-parserinternals.html#NAMEPOP"
>namePop</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
int <A
HREF="libxml-parserinternals.html#NAMEPUSH"
>namePush</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);
int <A
HREF="libxml-parserinternals.html#XMLSKIPBLANKCHARS"
>xmlSkipBlankChars</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
int <A
HREF="libxml-parserinternals.html#XMLSTRINGCURRENTCHAR"
>xmlStringCurrentChar</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *cur,
int *len);
void <A
HREF="libxml-parserinternals.html#XMLPARSERHANDLEPEREFERENCE"
>xmlParserHandlePEReference</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSERHANDLEREFERENCE"
>xmlParserHandleReference</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
int <A
HREF="libxml-parserinternals.html#XMLCHECKLANGUAGEID"
>xmlCheckLanguageID</A
> (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *lang);
int <A
HREF="libxml-parserinternals.html#XMLCURRENTCHAR"
>xmlCurrentChar</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
int *len);
int <A
HREF="libxml-parserinternals.html#XMLCOPYCHARMULTIBYTE"
>xmlCopyCharMultiByte</A
> (<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *out,
int val);
int <A
HREF="libxml-parserinternals.html#XMLCOPYCHAR"
>xmlCopyChar</A
> (int len,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *out,
int val);
void <A
HREF="libxml-parserinternals.html#XMLNEXTCHAR"
>xmlNextChar</A
> (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);
void <A
HREF="libxml-parserinternals.html#XMLPARSERINPUTSHRINK"
>xmlParserInputShrink</A
> (<A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> in);
void <A
HREF="libxml-parserinternals.html#HTMLINITAUTOCLOSE"
>htmlInitAutoClose</A
> (void);
<A
HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
>htmlParserCtxtPtr</A
> <A
HREF="libxml-parserinternals.html#HTMLCREATEFILEPARSERCTXT"
>htmlCreateFileParserCtxt</A
> (const char *filename,
const char *encoding);
void (<A
HREF="libxml-parserinternals.html#XMLENTITYREFERENCEFUNC"
>*xmlEntityReferenceFunc</A
>) (<A
HREF="libxml-tree.html#XMLENTITYPTR"
>xmlEntityPtr</A
> ent,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> firstNode,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> lastNode);
void <A
HREF="libxml-parserinternals.html#XMLSETENTITYREFERENCEFUNC"
>xmlSetEntityReferenceFunc</A
> (<A
HREF="libxml-parserinternals.html#XMLENTITYREFERENCEFUNC"
>xmlEntityReferenceFunc</A
> func);</PRE
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN21858"
></A
><H2
>Description</H2
><P
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN21861"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN21863"
></A
><H3
><A
NAME="XML-MAX-NAMELEN-CAPS"
></A
>XML_MAX_NAMELEN</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XML_MAX_NAMELEN 100</PRE
></TD
></TR
></TABLE
><P
>Identifiers can be longer, but this will be more costly
at runtime.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN21869"
></A
><H3
><A
NAME="INPUT-CHUNK-CAPS"
></A
>INPUT_CHUNK</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define INPUT_CHUNK 250</PRE
></TD
></TR
></TABLE
><P
>The parser tries to always have that amount of input ready.
One of the point is providing context when reporting errors.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN21875"
></A
><H3
><A
NAME="IS-CHAR-CAPS"
></A
>IS_CHAR()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define IS_CHAR(c)</PRE
></TD
></TR
></TABLE
><P
>Macro to check the following production in the XML spec:</P
><P
>[2] Char ::= <GTKDOCLINK
HREF="X9"
>x9</GTKDOCLINK
> | <GTKDOCLINK
HREF="XA"
>xA</GTKDOCLINK
> | <GTKDOCLINK
HREF="XD"
>xD</GTKDOCLINK
> | [<GTKDOCLINK
HREF="X20-"
>x20-</GTKDOCLINK
><GTKDOCLINK
HREF="XD7FF"
>xD7FF</GTKDOCLINK
>] | [<GTKDOCLINK
HREF="XE000-"
>xE000-</GTKDOCLINK
><GTKDOCLINK
HREF="XFFFD"
>xFFFD</GTKDOCLINK
>]
| [<GTKDOCLINK
HREF="X10000-"
>x10000-</GTKDOCLINK
><GTKDOCLINK
HREF="X10FFFF"
>x10FFFF</GTKDOCLINK
>]
any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN21891"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an UNICODE value (int)</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN21900"
></A
><H3
><A
NAME="IS-BLANK-CAPS"
></A
>IS_BLANK()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define IS_BLANK(c)</PRE
></TD
></TR
></TABLE
><P
>Macro to check the following production in the XML spec:</P
><P
>[3] S ::= (<GTKDOCLINK
HREF="X20"
>x20</GTKDOCLINK
> | <GTKDOCLINK
HREF="X9"
>x9</GTKDOCLINK
> | <GTKDOCLINK
HREF="XD"
>xD</GTKDOCLINK
> | <GTKDOCLINK
HREF="XA"
>xA</GTKDOCLINK
>)+</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN21911"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an UNICODE value (int)</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN21920"
></A
><H3
><A
NAME="IS-BASECHAR-CAPS"
></A
>IS_BASECHAR()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define IS_BASECHAR(c) xmlIsBaseChar(c)</PRE
></TD
></TR
></TABLE
><P
>Macro to check the following production in the XML spec:</P
><P
>[85] BaseChar ::= ... long list see REC ...</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN21927"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an UNICODE value (int)</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN21936"
></A
><H3
><A
NAME="IS-DIGIT-CAPS"
></A
>IS_DIGIT()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define IS_DIGIT(c) xmlIsDigit(c)</PRE
></TD
></TR
></TABLE
><P
>Macro to check the following production in the XML spec:</P
><P
>[88] Digit ::= ... long list see REC ...</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN21943"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an UNICODE value (int)</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN21952"
></A
><H3
><A
NAME="IS-COMBINING-CAPS"
></A
>IS_COMBINING()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define IS_COMBINING(c) xmlIsCombining(c)</PRE
></TD
></TR
></TABLE
><P
>Macro to check the following production in the XML spec:</P
><P
>[87] CombiningChar ::= ... long list see REC ...</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN21959"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an UNICODE value (int)</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN21968"
></A
><H3
><A
NAME="IS-EXTENDER-CAPS"
></A
>IS_EXTENDER()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define IS_EXTENDER(c) xmlIsExtender(c)</PRE
></TD
></TR
></TABLE
><P
>Macro to check the following production in the XML spec:</P
><P
>[89] Extender ::= <GTKDOCLINK
HREF="X00B7"
>x00B7</GTKDOCLINK
> | <GTKDOCLINK
HREF="X02D0"
>x02D0</GTKDOCLINK
> | <GTKDOCLINK
HREF="X02D1"
>x02D1</GTKDOCLINK
> | <GTKDOCLINK
HREF="X0387"
>x0387</GTKDOCLINK
> | <GTKDOCLINK
HREF="X0640"
>x0640</GTKDOCLINK
> |
<GTKDOCLINK
HREF="X0E46"
>x0E46</GTKDOCLINK
> | <GTKDOCLINK
HREF="X0EC6"
>x0EC6</GTKDOCLINK
> | <GTKDOCLINK
HREF="X3005"
>x3005</GTKDOCLINK
> | [<GTKDOCLINK
HREF="X3031-"
>x3031-</GTKDOCLINK
><GTKDOCLINK
HREF="X3035"
>x3035</GTKDOCLINK
>] |
[<GTKDOCLINK
HREF="X309D-"
>x309D-</GTKDOCLINK
><GTKDOCLINK
HREF="X309E"
>x309E</GTKDOCLINK
>] | [<GTKDOCLINK
HREF="X30FC-"
>x30FC-</GTKDOCLINK
><GTKDOCLINK
HREF="X30FE"
>x30FE</GTKDOCLINK
>]</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN21989"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an UNICODE value (int)</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN21998"
></A
><H3
><A
NAME="IS-IDEOGRAPHIC-CAPS"
></A
>IS_IDEOGRAPHIC()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define IS_IDEOGRAPHIC(c) xmlIsIdeographic(c)</PRE
></TD
></TR
></TABLE
><P
>Macro to check the following production in the XML spec:</P
><P
>[86] Ideographic ::= [<GTKDOCLINK
HREF="X4E00-"
>x4E00-</GTKDOCLINK
><GTKDOCLINK
HREF="X9FA5"
>x9FA5</GTKDOCLINK
>] | <GTKDOCLINK
HREF="X3007"
>x3007</GTKDOCLINK
> | [<GTKDOCLINK
HREF="X3021-"
>x3021-</GTKDOCLINK
><GTKDOCLINK
HREF="X3029"
>x3029</GTKDOCLINK
>]</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22010"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an UNICODE value (int)</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22019"
></A
><H3
><A
NAME="IS-LETTER-CAPS"
></A
>IS_LETTER()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c))</PRE
></TD
></TR
></TABLE
><P
>Macro to check the following production in the XML spec:</P
><P
>[84] Letter ::= BaseChar | Ideographic</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22026"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an UNICODE value (int)</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22035"
></A
><H3
><A
NAME="IS-PUBIDCHAR-CAPS"
></A
>IS_PUBIDCHAR()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define IS_PUBIDCHAR(c) xmlIsPubidChar(c)</PRE
></TD
></TR
></TABLE
><P
>Macro to check the following production in the XML spec:</P
><P
>[13] PubidChar ::= <GTKDOCLINK
HREF="X20"
>x20</GTKDOCLINK
> | <GTKDOCLINK
HREF="XD"
>xD</GTKDOCLINK
> | <GTKDOCLINK
HREF="XA"
>xA</GTKDOCLINK
> | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22045"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an UNICODE value (int)</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22054"
></A
><H3
><A
NAME="SKIP-EOL-CAPS"
></A
>SKIP_EOL()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define SKIP_EOL(p)</PRE
></TD
></TR
></TABLE
><P
>Skips the end of line chars.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22060"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>p</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> and UTF8 string pointer</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22069"
></A
><H3
><A
NAME="MOVETO-ENDTAG-CAPS"
></A
>MOVETO_ENDTAG()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define MOVETO_ENDTAG(p)</PRE
></TD
></TR
></TABLE
><P
>Skips to the next '&gt;' char.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22075"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>p</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> and UTF8 string pointer</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22084"
></A
><H3
><A
NAME="MOVETO-STARTTAG-CAPS"
></A
>MOVETO_STARTTAG()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define MOVETO_STARTTAG(p)</PRE
></TD
></TR
></TABLE
><P
>Skips to the next '&lt;' char.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22090"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>p</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> and UTF8 string pointer</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22099"
></A
><H3
><A
NAME="XMLISBASECHAR"
></A
>xmlIsBaseChar ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlIsBaseChar (int c);</PRE
></TD
></TR
></TABLE
><P
>Check whether the character is allowed by the production
[85] BaseChar ::= ... long list see REC ...</P
><P
>VI is your friend !
:1,$ s/\[<GTKDOCLINK
HREF="X"
>x</GTKDOCLINK
>\([0-9A-Z]*\)-<GTKDOCLINK
HREF="X"
>x</GTKDOCLINK
>\([0-9A-Z]*\)\]/ (((c) &gt;= 0x\1) \&amp;\&amp; ((c) &lt;= 0x\2)) ||/
and
:1,$ s/<GTKDOCLINK
HREF="X"
>x</GTKDOCLINK
>\([0-9A-Z]*\)/ ((c) == 0x\1) ||/</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22109"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an unicode character (int)</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 if not, non-zero otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22122"
></A
><H3
><A
NAME="XMLISBLANK"
></A
>xmlIsBlank ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlIsBlank (int c);</PRE
></TD
></TR
></TABLE
><P
>Check whether the character is allowed by the production
[3] S ::= (<GTKDOCLINK
HREF="X20"
>x20</GTKDOCLINK
> | <GTKDOCLINK
HREF="X9"
>x9</GTKDOCLINK
> | <GTKDOCLINK
HREF="XD"
>xD</GTKDOCLINK
> | <GTKDOCLINK
HREF="XA"
>xA</GTKDOCLINK
>)+
Also available as a macro <A
HREF="libxml-parserinternals.html#IS-BLANK-CAPS"
>IS_BLANK</A
>()</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22133"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an unicode character (int)</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 if not, non-zero otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22146"
></A
><H3
><A
NAME="XMLISPUBIDCHAR"
></A
>xmlIsPubidChar ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlIsPubidChar (int c);</PRE
></TD
></TR
></TABLE
><P
>Check whether the character is allowed by the production
[13] PubidChar ::= <GTKDOCLINK
HREF="X20"
>x20</GTKDOCLINK
> | <GTKDOCLINK
HREF="XD"
>xD</GTKDOCLINK
> | <GTKDOCLINK
HREF="XA"
>xA</GTKDOCLINK
> | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22155"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an unicode character (int)</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 if not, non-zero otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22168"
></A
><H3
><A
NAME="XMLISLETTER"
></A
>xmlIsLetter ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlIsLetter (int c);</PRE
></TD
></TR
></TABLE
><P
>Check whether the character is allowed by the production
[84] Letter ::= BaseChar | Ideographic</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22174"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an unicode character (int)</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 if not, non-zero otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22187"
></A
><H3
><A
NAME="XMLISDIGIT"
></A
>xmlIsDigit ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlIsDigit (int c);</PRE
></TD
></TR
></TABLE
><P
>Check whether the character is allowed by the production
[88] Digit ::= ... long list see REC ...</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22193"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an unicode character (int)</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 if not, non-zero otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22206"
></A
><H3
><A
NAME="XMLISIDEOGRAPHIC"
></A
>xmlIsIdeographic ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlIsIdeographic (int c);</PRE
></TD
></TR
></TABLE
><P
>Check whether the character is allowed by the production
[86] Ideographic ::= [<GTKDOCLINK
HREF="X4E00-"
>x4E00-</GTKDOCLINK
><GTKDOCLINK
HREF="X9FA5"
>x9FA5</GTKDOCLINK
>] | <GTKDOCLINK
HREF="X3007"
>x3007</GTKDOCLINK
> | [<GTKDOCLINK
HREF="X3021-"
>x3021-</GTKDOCLINK
><GTKDOCLINK
HREF="X3029"
>x3029</GTKDOCLINK
>]</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22217"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an unicode character (int)</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 if not, non-zero otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22230"
></A
><H3
><A
NAME="XMLISEXTENDER"
></A
>xmlIsExtender ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlIsExtender (int c);</PRE
></TD
></TR
></TABLE
><P
>Check whether the character is allowed by the production
[89] Extender ::= <GTKDOCLINK
HREF="X00B7"
>x00B7</GTKDOCLINK
> | <GTKDOCLINK
HREF="X02D0"
>x02D0</GTKDOCLINK
> | <GTKDOCLINK
HREF="X02D1"
>x02D1</GTKDOCLINK
> | <GTKDOCLINK
HREF="X0387"
>x0387</GTKDOCLINK
> | <GTKDOCLINK
HREF="X0640"
>x0640</GTKDOCLINK
> |
<GTKDOCLINK
HREF="X0E46"
>x0E46</GTKDOCLINK
> | <GTKDOCLINK
HREF="X0EC6"
>x0EC6</GTKDOCLINK
> | <GTKDOCLINK
HREF="X3005"
>x3005</GTKDOCLINK
> | [<GTKDOCLINK
HREF="X3031-"
>x3031-</GTKDOCLINK
><GTKDOCLINK
HREF="X3035"
>x3035</GTKDOCLINK
>] |
[<GTKDOCLINK
HREF="X309D-"
>x309D-</GTKDOCLINK
><GTKDOCLINK
HREF="X309E"
>x309E</GTKDOCLINK
>] | [<GTKDOCLINK
HREF="X30FC-"
>x30FC-</GTKDOCLINK
><GTKDOCLINK
HREF="X30FE"
>x30FE</GTKDOCLINK
>]</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22250"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an unicode character (int)</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 if not, non-zero otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22263"
></A
><H3
><A
NAME="XMLISCOMBINING"
></A
>xmlIsCombining ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlIsCombining (int c);</PRE
></TD
></TR
></TABLE
><P
>Check whether the character is allowed by the production
[87] CombiningChar ::= ... long list see REC ...</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22269"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an unicode character (int)</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 if not, non-zero otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22282"
></A
><H3
><A
NAME="XMLISCHAR"
></A
>xmlIsChar ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlIsChar (int c);</PRE
></TD
></TR
></TABLE
><P
>Check whether the character is allowed by the production
[2] Char ::= <GTKDOCLINK
HREF="X9"
>x9</GTKDOCLINK
> | <GTKDOCLINK
HREF="XA"
>xA</GTKDOCLINK
> | <GTKDOCLINK
HREF="XD"
>xD</GTKDOCLINK
> | [<GTKDOCLINK
HREF="X20-"
>x20-</GTKDOCLINK
><GTKDOCLINK
HREF="XD7FF"
>xD7FF</GTKDOCLINK
>] | [<GTKDOCLINK
HREF="XE000-"
>xE000-</GTKDOCLINK
><GTKDOCLINK
HREF="XFFFD"
>xFFFD</GTKDOCLINK
>]
| [<GTKDOCLINK
HREF="X10000-"
>x10000-</GTKDOCLINK
><GTKDOCLINK
HREF="X10FFFF"
>x10FFFF</GTKDOCLINK
>]
any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.
Also available as a macro <A
HREF="libxml-parserinternals.html#IS-CHAR-CAPS"
>IS_CHAR</A
>()</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22298"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>c</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an unicode character (int)</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 if not, non-zero otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22311"
></A
><H3
><A
NAME="XMLCREATEFILEPARSERCTXT"
></A
>xmlCreateFileParserCtxt ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> xmlCreateFileParserCtxt (const char *filename);</PRE
></TD
></TR
></TABLE
><P
>Create a parser context for a file content.
Automatic support for ZLIB/Compress compressed document is provided
by default if found at compile-time.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22318"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>filename</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the filename</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the new parser context or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22331"
></A
><H3
><A
NAME="XMLCREATEMEMORYPARSERCTXT"
></A
>xmlCreateMemoryParserCtxt ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> xmlCreateMemoryParserCtxt (const char *buffer,
int size);</PRE
></TD
></TR
></TABLE
><P
>Create a parser context for an XML in-memory document.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22338"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buffer</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a pointer to a char array</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>size</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the size of the array</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the new parser context or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22355"
></A
><H3
><A
NAME="XMLNEWPARSERCTXT"
></A
>xmlNewParserCtxt ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> xmlNewParserCtxt (void);</PRE
></TD
></TR
></TABLE
><P
>Allocate and initialize a new parser context.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22362"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlParserCtxtPtr or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22371"
></A
><H3
><A
NAME="XMLCREATEENTITYPARSERCTXT"
></A
>xmlCreateEntityParserCtxt ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> xmlCreateEntityParserCtxt (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *URL,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *ID,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *base);</PRE
></TD
></TR
></TABLE
><P
>Create a parser context for an external entity
Automatic support for ZLIB/Compress compressed document is provided
by default if found at compile-time.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22381"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>URL</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity URL</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ID</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity PUBLIC ID</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>base</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a possible base for the target URI</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the new parser context or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22402"
></A
><H3
><A
NAME="XMLSWITCHENCODING"
></A
>xmlSwitchEncoding ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlSwitchEncoding (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-encoding.html#XMLCHARENCODING"
>xmlCharEncoding</A
> enc);</PRE
></TD
></TR
></TABLE
><P
>change the input functions when discovering the character encoding
of a given entity.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22410"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>enc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the encoding value (number)</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 in case of success, -1 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22427"
></A
><H3
><A
NAME="XMLSWITCHTOENCODING"
></A
>xmlSwitchToEncoding ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlSwitchToEncoding (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
>xmlCharEncodingHandlerPtr</A
> handler);</PRE
></TD
></TR
></TABLE
><P
>change the input functions when discovering the character encoding
of a given entity.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22435"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>handler</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the encoding handler</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 in case of success, -1 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22452"
></A
><H3
><A
NAME="XMLHANDLEENTITY"
></A
>xmlHandleEntity ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlHandleEntity (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLENTITYPTR"
>xmlEntityPtr</A
> entity);</PRE
></TD
></TR
></TABLE
><P
>Default handling of defined entities, when should we define a new input
stream ? When do we just handle that as a set of chars ?</P
><P
>OBSOLETE: to be removed at some point.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22461"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>entity</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML entity pointer.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22474"
></A
><H3
><A
NAME="XMLNEWSTRINGINPUTSTREAM"
></A
>xmlNewStringInputStream ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> xmlNewStringInputStream (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *buffer);</PRE
></TD
></TR
></TABLE
><P
>Create a new input stream based on a memory buffer.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22483"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buffer</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an memory buffer</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the new input stream</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22500"
></A
><H3
><A
NAME="XMLNEWENTITYINPUTSTREAM"
></A
>xmlNewEntityInputStream ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> xmlNewEntityInputStream (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLENTITYPTR"
>xmlEntityPtr</A
> entity);</PRE
></TD
></TR
></TABLE
><P
>Create a new input stream based on an xmlEntityPtr</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22509"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>entity</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an Entity pointer</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the new input stream or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22526"
></A
><H3
><A
NAME="XMLPUSHINPUT"
></A
>xmlPushInput ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlPushInput (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> input);</PRE
></TD
></TR
></TABLE
><P
>xmlPushInput: switch to a new input stream which is stacked on top
of the previous one(s).</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22534"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>input</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser input fragment (entity, XML fragment ...).</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22547"
></A
><H3
><A
NAME="XMLPOPINPUT"
></A
>xmlPopInput ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> xmlPopInput (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>xmlPopInput: the current input pointed by ctxt-&gt;input came to an end
pop it and return the next char.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22555"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the current xmlChar in the parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22568"
></A
><H3
><A
NAME="XMLFREEINPUTSTREAM"
></A
>xmlFreeInputStream ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlFreeInputStream (<A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> input);</PRE
></TD
></TR
></TABLE
><P
>Free up an input stream.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22575"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>input</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an xmlParserInputPtr</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22584"
></A
><H3
><A
NAME="XMLNEWINPUTFROMFILE"
></A
>xmlNewInputFromFile ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> xmlNewInputFromFile (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
const char *filename);</PRE
></TD
></TR
></TABLE
><P
>Create a new input stream based on a file.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22592"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>filename</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the filename to use as entity</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the new input stream or NULL in case of error</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22609"
></A
><H3
><A
NAME="XMLNEWINPUTSTREAM"
></A
>xmlNewInputStream ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> xmlNewInputStream (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>Create a new input stream structure</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22617"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the new input stream or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22630"
></A
><H3
><A
NAME="XMLSPLITQNAME"
></A
>xmlSplitQName ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlSplitQName (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **prefix);</PRE
></TD
></TR
></TABLE
><P
>parse an UTF8 encoded XML qualified name string</P
><P
>[NS 5] QName ::= (Prefix ':')? LocalPart</P
><P
>[NS 6] Prefix ::= NCName</P
><P
>[NS 7] LocalPart ::= NCName</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22643"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>prefix</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a xmlChar ** </TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the local part, and prefix is updated
to get the Prefix if any.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22664"
></A
><H3
><A
NAME="XMLNAMESPACEPARSENCNAME"
></A
>xmlNamespaceParseNCName ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlNamespaceParseNCName (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse an XML namespace name.</P
><P
>TODO: this seems not in use anymore, the namespace handling is done on
top of the SAX interfaces, i.e. not on raw input.</P
><P
>[NS 3] NCName ::= (Letter | '_') (NCNameChar)*</P
><P
>[NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' |
CombiningChar | Extender</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22675"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the namespace name or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22688"
></A
><H3
><A
NAME="XMLNAMESPACEPARSEQNAME"
></A
>xmlNamespaceParseQName ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlNamespaceParseQName (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **prefix);</PRE
></TD
></TR
></TABLE
><P
>TODO: this seems not in use anymore, the namespace handling is done on
top of the SAX interfaces, i.e. not on raw input.</P
><P
>parse an XML qualified name</P
><P
>[NS 5] QName ::= (Prefix ':')? LocalPart</P
><P
>[NS 6] Prefix ::= NCName</P
><P
>[NS 7] LocalPart ::= NCName</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22701"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>prefix</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a xmlChar ** </TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the local part, and prefix is updated
to get the Prefix if any.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22718"
></A
><H3
><A
NAME="XMLNAMESPACEPARSENSDEF"
></A
>xmlNamespaceParseNSDef ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlNamespaceParseNSDef (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse a namespace prefix declaration</P
><P
>TODO: this seems not in use anymore, the namespace handling is done on
top of the SAX interfaces, i.e. not on raw input.</P
><P
>[NS 1] NSDef ::= PrefixDef Eq SystemLiteral</P
><P
>[NS 2] PrefixDef ::= 'xmlns' (':' NCName)?</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22729"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the namespace name</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22742"
></A
><H3
><A
NAME="XMLPARSEQUOTEDSTRING"
></A
>xmlParseQuotedString ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlParseQuotedString (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>Parse and return a string between quotes or doublequotes</P
><P
>TODO: Deprecated, to be removed at next drop of binary compatibility</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22751"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the string parser or NULL.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22764"
></A
><H3
><A
NAME="XMLPARSENAMESPACE"
></A
>xmlParseNamespace ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParseNamespace (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>xmlParseNamespace: parse specific PI '&lt;?namespace ...' constructs.</P
><P
>This is what the older xml-name Working Draft specified, a bunch of
other stuff may still rely on it, so support is still here as
if it was declared on the root of the Tree:-(</P
><P
>TODO: remove from library</P
><P
>To be removed at next drop of binary compatibility</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22774"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22783"
></A
><H3
><A
NAME="XMLSCANNAME"
></A
>xmlScanName ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlScanName (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>Trickery: parse an XML name but without consuming the input flow
Needed for rollback cases. Used only when parsing entities references.</P
><P
>TODO: seems deprecated now, only used in the default part of
xmlParserHandleReference</P
><P
>[4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' |
CombiningChar | Extender</P
><P
>[5] Name ::= (Letter | '_' | ':') (NameChar)*</P
><P
>[6] Names ::= Name (S Name)*</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22795"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the Name parsed or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22808"
></A
><H3
><A
NAME="XMLPARSENAME"
></A
>xmlParseName ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlParseName (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse an XML name.</P
><P
>[4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' |
CombiningChar | Extender</P
><P
>[5] Name ::= (Letter | '_' | ':') (NameChar)*</P
><P
>[6] Names ::= Name (S Name)*</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22819"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the Name parsed or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22832"
></A
><H3
><A
NAME="XMLPARSENMTOKEN"
></A
>xmlParseNmtoken ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlParseNmtoken (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse an XML Nmtoken.</P
><P
>[7] Nmtoken ::= (NameChar)+</P
><P
>[8] Nmtokens ::= Nmtoken (S Nmtoken)*</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22842"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the Nmtoken parsed or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22855"
></A
><H3
><A
NAME="XMLPARSEENTITYVALUE"
></A
>xmlParseEntityValue ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlParseEntityValue (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **orig);</PRE
></TD
></TR
></TABLE
><P
>parse a value for ENTITY declarations</P
><P
>[9] EntityValue ::= '"' ([^%&amp;"] | PEReference | Reference)* '"' |
"'" ([^%&amp;'] | PEReference | Reference)* "'"</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22865"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>orig</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> if non-NULL store a copy of the original entity value</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the EntityValue parsed with reference substituted or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22882"
></A
><H3
><A
NAME="XMLPARSEATTVALUE"
></A
>xmlParseAttValue ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlParseAttValue (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse a value for an attribute
Note: the parser won't do substitution of entities here, this
will be handled later in xmlStringGetNodeList</P
><P
>[10] AttValue ::= '"' ([^&lt;&amp;"] | Reference)* '"' |
"'" ([^&lt;&amp;'] | Reference)* "'"</P
><P
>3.3.3 Attribute-Value Normalization:
Before the value of an attribute is passed to the application or
checked for validity, the XML processor must normalize it as follows:
- a character reference is processed by appending the referenced
character to the attribute value
- an entity reference is processed by recursively processing the
replacement text of the entity
- a whitespace character (<GTKDOCLINK
HREF="X20"
>x20</GTKDOCLINK
>, <GTKDOCLINK
HREF="XD"
>xD</GTKDOCLINK
>, <GTKDOCLINK
HREF="XA"
>xA</GTKDOCLINK
>, <GTKDOCLINK
HREF="X9"
>x9</GTKDOCLINK
>) is processed by
appending <GTKDOCLINK
HREF="X20"
>x20</GTKDOCLINK
> to the normalized value, except that only a single
<GTKDOCLINK
HREF="X20"
>x20</GTKDOCLINK
> is appended for a "<GTKDOCLINK
HREF="XD"
>xD</GTKDOCLINK
><GTKDOCLINK
HREF="XA"
>xA</GTKDOCLINK
>" sequence that is part of an external
parsed entity or the literal entity value of an internal parsed entity
- other characters are processed by appending them to the normalized value
If the declared value is not CDATA, then the XML processor must further
process the normalized attribute value by discarding any leading and
trailing space (<GTKDOCLINK
HREF="X20"
>x20</GTKDOCLINK
>) characters, and by replacing sequences of space
(<GTKDOCLINK
HREF="X20"
>x20</GTKDOCLINK
>) characters by a single space (<GTKDOCLINK
HREF="X20"
>x20</GTKDOCLINK
>) character.
All attributes for which no declaration has been read should be treated
by a non-validating parser as if declared CDATA.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22903"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the AttValue parsed or NULL. The value has to be freed by the caller.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22916"
></A
><H3
><A
NAME="XMLPARSESYSTEMLITERAL"
></A
>xmlParseSystemLiteral ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlParseSystemLiteral (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse an XML Literal</P
><P
>[11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22925"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the SystemLiteral parsed or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22938"
></A
><H3
><A
NAME="XMLPARSEPUBIDLITERAL"
></A
>xmlParsePubidLiteral ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlParsePubidLiteral (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse an XML public literal</P
><P
>[12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22947"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the PubidLiteral parsed or NULL.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22960"
></A
><H3
><A
NAME="XMLPARSECHARDATA"
></A
>xmlParseCharData ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParseCharData (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
int cdata);</PRE
></TD
></TR
></TABLE
><P
>parse a CharData section.
if we are within a CDATA section ']]&gt;' marks an end of section.</P
><P
>The right angle bracket (&gt;) may be represented using the string "&amp;gt;",
and must, for compatibility, be escaped using "&amp;gt;" or a character
reference when it appears in the string "]]&gt;" in content, when that
string is not marking the end of a CDATA section. </P
><P
>[14] CharData ::= [^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22969"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>cdata</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> int indicating whether we are within a CDATA section</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN22982"
></A
><H3
><A
NAME="XMLPARSEEXTERNALID"
></A
>xmlParseExternalID ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlParseExternalID (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **publicID,
int strict);</PRE
></TD
></TR
></TABLE
><P
>Parse an External ID or a Public ID</P
><P
>NOTE: Productions [75] and [83] interact badly since [75] can generate
'PUBLIC' S PubidLiteral S SystemLiteral</P
><P
>[75] ExternalID ::= 'SYSTEM' S SystemLiteral
| 'PUBLIC' S PubidLiteral S SystemLiteral</P
><P
>[83] PublicID ::= 'PUBLIC' S PubidLiteral</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN22994"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>publicID</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a xmlChar** receiving PubidLiteral</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>strict</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> indicate whether we should restrict parsing to only
production [75], see NOTE below</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the function returns SystemLiteral and in the second
case publicID receives PubidLiteral, is strict is off
it is possible to return NULL and have publicID set.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23015"
></A
><H3
><A
NAME="XMLPARSECOMMENT"
></A
>xmlParseComment ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParseComment (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>Skip an XML (SGML) comment &lt;!-- .... --&gt;
The spec says that "For compatibility, the string "--" (double-hyphen)
must not occur within comments. "</P
><P
>[15] Comment ::= '&lt;!--' ((Char - '-') | ('-' (Char - '-')))* '--&gt;'</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23023"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23032"
></A
><H3
><A
NAME="XMLPARSEPITARGET"
></A
>xmlParsePITarget ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlParsePITarget (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse the name of a PI</P
><P
>[17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23041"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the PITarget name or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23054"
></A
><H3
><A
NAME="XMLPARSEPI"
></A
>xmlParsePI ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParsePI (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse an XML Processing Instruction.</P
><P
>[16] PI ::= '&lt;?' PITarget (S (Char* - (Char* '?&gt;' Char*)))? '?&gt;'</P
><P
>The processing is transfered to SAX once parsed.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23063"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23072"
></A
><H3
><A
NAME="XMLPARSENOTATIONDECL"
></A
>xmlParseNotationDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParseNotationDecl (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse a notation declaration</P
><P
>[82] NotationDecl ::= '&lt;!NOTATION' S Name S (ExternalID | PublicID) S? '&gt;'</P
><P
>Hence there is actually 3 choices:
'PUBLIC' S PubidLiteral
'PUBLIC' S PubidLiteral S SystemLiteral
and 'SYSTEM' S SystemLiteral</P
><P
>See the NOTE on <A
HREF="libxml-parserinternals.html#XMLPARSEEXTERNALID"
>xmlParseExternalID</A
>().</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23083"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23092"
></A
><H3
><A
NAME="XMLPARSEENTITYDECL"
></A
>xmlParseEntityDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParseEntityDecl (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse &lt;!ENTITY declarations</P
><P
>[70] EntityDecl ::= GEDecl | PEDecl</P
><P
>[71] GEDecl ::= '&lt;!ENTITY' S Name S EntityDef S? '&gt;'</P
><P
>[72] PEDecl ::= '&lt;!ENTITY' S '%' S Name S PEDef S? '&gt;'</P
><P
>[73] EntityDef ::= EntityValue | (ExternalID NDataDecl?)</P
><P
>[74] PEDef ::= EntityValue | ExternalID</P
><P
>[76] NDataDecl ::= S 'NDATA' S Name</P
><P
>[ VC: Notation Declared ]
The Name must match the declared name of a notation.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23106"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23115"
></A
><H3
><A
NAME="XMLPARSEDEFAULTDECL"
></A
>xmlParseDefaultDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlParseDefaultDecl (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **value);</PRE
></TD
></TR
></TABLE
><P
>Parse an attribute default declaration</P
><P
>[60] DefaultDecl ::= '<GTKDOCLINK
HREF="REQUIRED-CAPS"
>REQUIRED</GTKDOCLINK
>' | '<GTKDOCLINK
HREF="IMPLIED-CAPS"
>IMPLIED</GTKDOCLINK
>' | (('<GTKDOCLINK
HREF="FIXED-CAPS"
>FIXED</GTKDOCLINK
>' S)? AttValue)</P
><P
>[ VC: Required Attribute ]
if the default declaration is the keyword <GTKDOCLINK
HREF="REQUIRED-CAPS"
>REQUIRED</GTKDOCLINK
>, then the
attribute must be specified for all elements of the type in the
attribute-list declaration.</P
><P
>[ VC: Attribute Default Legal ]
The declared default value must meet the lexical constraints of
the declared attribute type c.f. <A
HREF="libxml-valid.html#XMLVALIDATEATTRIBUTEDECL"
>xmlValidateAttributeDecl</A
>()</P
><P
>[ VC: Fixed Attribute Default ]
if an attribute has a default value declared with the <GTKDOCLINK
HREF="FIXED-CAPS"
>FIXED</GTKDOCLINK
>
keyword, instances of that attribute must match the default value. </P
><P
>[ WFC: No &lt; in Attribute Values ]
handled in <A
HREF="libxml-parserinternals.html#XMLPARSEATTVALUE"
>xmlParseAttValue</A
>()</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23135"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>value</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Receive a possible fixed default value for the attribute</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, XML_ATTRIBUTE_IMPLIED
or XML_ATTRIBUTE_FIXED. </TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23152"
></A
><H3
><A
NAME="XMLPARSENOTATIONTYPE"
></A
>xmlParseNotationType ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> xmlParseNotationType (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse an Notation attribute type.</P
><P
>Note: the leading 'NOTATION' S part has already being parsed...</P
><P
>[58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')'</P
><P
>[ VC: Notation Attributes ]
Values of this type must match one of the notation names included
in the declaration; all notation names in the declaration must be declared.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23163"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the notation attribute tree built while parsing</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23176"
></A
><H3
><A
NAME="XMLPARSEENUMERATIONTYPE"
></A
>xmlParseEnumerationType ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> xmlParseEnumerationType (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse an Enumeration attribute type.</P
><P
>[59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')'</P
><P
>[ VC: Enumeration ]
Values of this type must match one of the Nmtoken tokens in
the declaration</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23186"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the enumeration attribute tree built while parsing</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23199"
></A
><H3
><A
NAME="XMLPARSEENUMERATEDTYPE"
></A
>xmlParseEnumeratedType ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlParseEnumeratedType (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> *tree);</PRE
></TD
></TR
></TABLE
><P
>parse an Enumerated attribute type.</P
><P
>[57] EnumeratedType ::= NotationType | Enumeration</P
><P
>[58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')'</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23209"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>tree</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the enumeration tree built while parsing</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> XML_ATTRIBUTE_ENUMERATION or XML_ATTRIBUTE_NOTATION</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23226"
></A
><H3
><A
NAME="XMLPARSEATTRIBUTETYPE"
></A
>xmlParseAttributeType ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlParseAttributeType (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLENUMERATIONPTR"
>xmlEnumerationPtr</A
> *tree);</PRE
></TD
></TR
></TABLE
><P
>parse the Attribute list def for an element</P
><P
>[54] AttType ::= StringType | TokenizedType | EnumeratedType</P
><P
>[55] StringType ::= 'CDATA'</P
><P
>[56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' |
'ENTITIES' | 'NMTOKEN' | 'NMTOKENS'</P
><P
>Validity constraints for attribute values syntax are checked in
<A
HREF="libxml-valid.html#XMLVALIDATEATTRIBUTEVALUE"
>xmlValidateAttributeValue</A
>()</P
><P
>[ VC: ID ]
Values of type ID must match the Name production. A name must not
appear more than once in an XML document as a value of this type;
i.e., ID values must uniquely identify the elements which bear them.</P
><P
>[ VC: One ID per Element Type ]
No element type may have more than one ID attribute specified.</P
><P
>[ VC: ID Attribute Default ]
An ID attribute must have a declared default of <GTKDOCLINK
HREF="IMPLIED-CAPS"
>IMPLIED</GTKDOCLINK
> or <GTKDOCLINK
HREF="REQUIRED-CAPS"
>REQUIRED</GTKDOCLINK
>.</P
><P
>[ VC: IDREF ]
Values of type IDREF must match the Name production, and values
of type IDREFS must match Names; each IDREF Name must match the value
of an ID attribute on some element in the XML document; i.e. IDREF
values must match the value of some ID attribute.</P
><P
>[ VC: Entity Name ]
Values of type ENTITY must match the Name production, values
of type ENTITIES must match Names; each Entity Name must match the
name of an unparsed entity declared in the DTD. </P
><P
>[ VC: Name Token ]
Values of type NMTOKEN must match the Nmtoken production; values
of type NMTOKENS must match Nmtokens.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23247"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>tree</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the enumeration tree built while parsing</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the attribute type</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23264"
></A
><H3
><A
NAME="XMLPARSEATTRIBUTELISTDECL"
></A
>xmlParseAttributeListDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParseAttributeListDecl (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>: parse the Attribute list def for an element</P
><P
>[52] AttlistDecl ::= '&lt;!ATTLIST' S Name AttDef* S? '&gt;'</P
><P
>[53] AttDef ::= S Name S AttType S DefaultDecl</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23273"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23282"
></A
><H3
><A
NAME="XMLPARSEELEMENTMIXEDCONTENTDECL"
></A
>xmlParseElementMixedContentDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> xmlParseElementMixedContentDecl
(<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> inputchk);</PRE
></TD
></TR
></TABLE
><P
>parse the declaration for a Mixed Element content
The leading '(' and spaces have been skipped in xmlParseElementContentDecl</P
><P
>[51] Mixed ::= '(' S? '<GTKDOCLINK
HREF="PCDATA-CAPS"
>PCDATA</GTKDOCLINK
>' (S? '|' S? Name)* S? ')*' |
'(' S? '<GTKDOCLINK
HREF="PCDATA-CAPS"
>PCDATA</GTKDOCLINK
>' S? ')'</P
><P
>[ VC: Proper Group/PE Nesting ] applies to [51] too (see [49])</P
><P
>[ VC: No Duplicate Types ]
The same name must not appear more than once in a single
mixed-content declaration.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23296"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>inputchk</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the list of the xmlElementContentPtr describing the element choices</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23313"
></A
><H3
><A
NAME="XMLPARSEELEMENTCHILDRENCONTENTD"
></A
>xmlParseElementChildrenContentD ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> xmlParseElementChildrenContentD
(<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>VMS version of <A
HREF="libxml-parserinternals.html#XMLPARSEELEMENTCHILDRENCONTENTDECL"
>xmlParseElementChildrenContentDecl</A
>()</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23322"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the tree of xmlElementContentPtr describing the element
hierarchy.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23335"
></A
><H3
><A
NAME="XMLPARSEELEMENTCHILDRENCONTENTDECL"
></A
>xmlParseElementChildrenContentDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> xmlParseElementChildrenContentDecl
(<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> inputchk);</PRE
></TD
></TR
></TABLE
><P
>parse the declaration for a Mixed Element content
The leading '(' and spaces have been skipped in xmlParseElementContentDecl</P
><P
>[47] children ::= (choice | seq) ('?' | '*' | '+')?</P
><P
>[48] cp ::= (Name | choice | seq) ('?' | '*' | '+')?</P
><P
>[49] choice ::= '(' S? cp ( S? '|' S? cp )* S? ')'</P
><P
>[50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')'</P
><P
>[ VC: Proper Group/PE Nesting ] applies to [49] and [50]
TODO Parameter-entity replacement text must be properly nested
with parenthesized groups. That is to say, if either of the
opening or closing parentheses in a choice, seq, or Mixed
construct is contained in the replacement text for a parameter
entity, both must be contained in the same replacement text. For
interoperability, if a parameter-entity reference appears in a
choice, seq, or Mixed construct, its replacement text should not
be empty, and neither the first nor last non-blank character of
the replacement text should be a connector (| or ,).</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23349"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>inputchk</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the tree of xmlElementContentPtr describing the element
hierarchy.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23366"
></A
><H3
><A
NAME="XMLPARSEELEMENTCONTENTDECL"
></A
>xmlParseElementContentDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlParseElementContentDecl (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
<A
HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
>xmlElementContentPtr</A
> *result);</PRE
></TD
></TR
></TABLE
><P
>parse the declaration for an Element content either Mixed or Children,
the cases EMPTY and ANY are handled directly in xmlParseElementDecl</P
><P
>[46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23376"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the name of the element being defined.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>result</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the Element Content pointer will be stored here if any</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the type of element content XML_ELEMENT_TYPE_xxx</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23397"
></A
><H3
><A
NAME="XMLPARSEELEMENTDECL"
></A
>xmlParseElementDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlParseElementDecl (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse an Element declaration.</P
><P
>[45] elementdecl ::= '&lt;!ELEMENT' S Name S contentspec S? '&gt;'</P
><P
>[ VC: Unique Element Type Declaration ]
No element type may be declared more than once</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23406"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the type of the element, or -1 in case of error</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23419"
></A
><H3
><A
NAME="XMLPARSEMARKUPDECL"
></A
>xmlParseMarkupDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParseMarkupDecl (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse Markup declarations</P
><P
>[29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl |
NotationDecl | PI | Comment</P
><P
>[ VC: Proper Declaration/PE Nesting ]
Parameter-entity replacement text must be properly nested with
markup declarations. That is to say, if either the first character
or the last character of a markup declaration (markupdecl above) is
contained in the replacement text for a parameter-entity reference,
both must be contained in the same replacement text.</P
><P
>[ WFC: PEs in Internal Subset ]
In the internal DTD subset, parameter-entity references can occur
only where markup declarations can occur, not within markup declarations.
(This does not apply to references that occur in external parameter
entities or to the external subset.)</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23429"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23438"
></A
><H3
><A
NAME="XMLPARSECHARREF"
></A
>xmlParseCharRef ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlParseCharRef (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse Reference declarations</P
><P
>[66] CharRef ::= '&amp;#' [0-9]+ ';' |
'&amp;<GTKDOCLINK
HREF="X"
>x</GTKDOCLINK
>' [0-9a-fA-F]+ ';'</P
><P
>[ WFC: Legal Character ]
Characters referred to using character references must match the
production for Char.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23448"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the value parsed (as an int), 0 in case of error</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23461"
></A
><H3
><A
NAME="XMLPARSEENTITYREF"
></A
>xmlParseEntityRef ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLENTITYPTR"
>xmlEntityPtr</A
> xmlParseEntityRef (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse ENTITY references declarations</P
><P
>[68] EntityRef ::= '&amp;' Name ';'</P
><P
>[ WFC: Entity Declared ]
In a document without any DTD, a document with only an internal DTD
subset which contains no parameter entity references, or a document
with "standalone='yes'", the Name given in the entity reference
must match that in an entity declaration, except that well-formed
documents need not declare any of the following entities: amp, lt,
gt, apos, quot. The declaration of a parameter entity must precede
any reference to it. Similarly, the declaration of a general entity
must precede any reference to it which appears in a default value in an
attribute-list declaration. Note that if entities are declared in the
external subset or in external parameter entities, a non-validating
processor is not obligated to read and process their declarations;
for such documents, the rule that an entity must be declared is a
well-formedness constraint only if standalone='yes'.</P
><P
>[ WFC: Parsed Entity ]
An entity reference must not contain the name of an unparsed entity</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23472"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlEntityPtr if found, or NULL otherwise.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23485"
></A
><H3
><A
NAME="XMLPARSEREFERENCE"
></A
>xmlParseReference ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParseReference (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse and handle entity references in content, depending on the SAX
interface, this may end-up in a call to <GTKDOCLINK
HREF="CHARACTER"
>character</GTKDOCLINK
>() if this is a
CharRef, a predefined entity, if there is no <A
HREF="libxml-sax.html#REFERENCE"
>reference</A
>() callback.
or if the parser was asked to switch to that mode.</P
><P
>[67] Reference ::= EntityRef | CharRef</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23495"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23504"
></A
><H3
><A
NAME="XMLPARSEPEREFERENCE"
></A
>xmlParsePEReference ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParsePEReference (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse PEReference declarations
The entity content is handled directly by pushing it's content as
a new input stream.</P
><P
>[69] PEReference ::= '%' Name ';'</P
><P
>[ WFC: No Recursion ]
A parsed entity must not contain a recursive
reference to itself, either directly or indirectly. </P
><P
>[ WFC: Entity Declared ]
In a document without any DTD, a document with only an internal DTD
subset which contains no parameter entity references, or a document
with "standalone='yes'", ... ... The declaration of a parameter
entity must precede any reference to it...</P
><P
>[ VC: Entity Declared ]
In a document with an external subset or external parameter entities
with "standalone='no'", ... ... The declaration of a parameter entity
must precede any reference to it...</P
><P
>[ WFC: In DTD ]
Parameter-entity references may only appear in the DTD.
NOTE: misleading but this is handled.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23516"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23525"
></A
><H3
><A
NAME="XMLPARSEDOCTYPEDECL"
></A
>xmlParseDocTypeDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParseDocTypeDecl (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse a DOCTYPE declaration</P
><P
>[28] doctypedecl ::= '&lt;!DOCTYPE' S Name (S ExternalID)? S?
('[' (markupdecl | PEReference | S)* ']' S?)? '&gt;'</P
><P
>[ VC: Root Element Type ]
The Name in the document type declaration must match the element
type of the root element.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23534"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23543"
></A
><H3
><A
NAME="XMLPARSEATTRIBUTE"
></A
>xmlParseAttribute ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlParseAttribute (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> **value);</PRE
></TD
></TR
></TABLE
><P
>parse an attribute</P
><P
>[41] Attribute ::= Name Eq AttValue</P
><P
>[ WFC: No External Entity References ]
Attribute values cannot contain direct or indirect entity references
to external entities.</P
><P
>[ WFC: No &lt; in Attribute Values ]
The replacement text of any entity referred to directly or indirectly in
an attribute value (other than "&amp;lt;") must not contain a &lt;. </P
><P
>[ VC: Attribute Value Type ]
The attribute must have been declared; the value must be of the type
declared for it.</P
><P
>[25] Eq ::= S? '=' S?</P
><P
>With namespace:</P
><P
>[NS 11] Attribute ::= QName Eq AttValue</P
><P
>Also the case QName == xmlns:??? is handled independently as a namespace
definition.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23560"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>value</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a xmlChar ** used to store the value of the attribute</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the attribute name, and the value in *value.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23577"
></A
><H3
><A
NAME="XMLPARSESTARTTAG"
></A
>xmlParseStartTag ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlParseStartTag (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse a start of tag either for rule element or
EmptyElement. In both case we don't parse the tag closing chars.</P
><P
>[40] STag ::= '&lt;' Name (S Attribute)* S? '&gt;'</P
><P
>[ WFC: Unique Att Spec ]
No attribute name may appear more than once in the same start-tag or
empty-element tag. </P
><P
>[44] EmptyElemTag ::= '&lt;' Name (S Attribute)* S? '/&gt;'</P
><P
>[ WFC: Unique Att Spec ]
No attribute name may appear more than once in the same start-tag or
empty-element tag. </P
><P
>With namespace:</P
><P
>[NS 8] STag ::= '&lt;' QName (S Attribute)* S? '&gt;'</P
><P
>[NS 10] EmptyElement ::= '&lt;' QName (S Attribute)* S? '/&gt;'</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23592"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the element name parsed</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23605"
></A
><H3
><A
NAME="XMLPARSEENDTAG"
></A
>xmlParseEndTag ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParseEndTag (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse an end of tag</P
><P
>[42] ETag ::= '&lt;/' Name S? '&gt;'</P
><P
>With namespace</P
><P
>[NS 9] ETag ::= '&lt;/' QName S? '&gt;'</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23615"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23624"
></A
><H3
><A
NAME="XMLPARSECDSECT"
></A
>xmlParseCDSect ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParseCDSect (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>Parse escaped pure raw content.</P
><P
>[18] CDSect ::= CDStart CData CDEnd</P
><P
>[19] CDStart ::= '&lt;![CDATA['</P
><P
>[20] Data ::= (Char* - (Char* ']]&gt;' Char*))</P
><P
>[21] CDEnd ::= ']]&gt;'</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23635"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23644"
></A
><H3
><A
NAME="XMLPARSECONTENT"
></A
>xmlParseContent ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParseContent (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>Parse a content:</P
><P
>[43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23652"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23661"
></A
><H3
><A
NAME="XMLPARSEELEMENT"
></A
>xmlParseElement ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParseElement (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse an XML element, this is highly recursive</P
><P
>[39] element ::= EmptyElemTag | STag content ETag</P
><P
>[ WFC: Element Type Match ]
The Name in an element's end-tag must match the element type in the
start-tag. </P
><P
>[ VC: Element Valid ]
An element is valid if there is a declaration matching elementdecl
where the Name matches the element type and one of the following holds:
- The declaration matches EMPTY and the element has no content.
- The declaration matches children and the sequence of child elements
belongs to the language generated by the regular expression in the
content model, with optional white space (characters matching the
nonterminal S) between each pair of child elements.
- The declaration matches Mixed and the content consists of character
data and child elements whose types match names in the content model.
- The declaration matches ANY, and the types of any child elements have
been declared.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23671"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23680"
></A
><H3
><A
NAME="XMLPARSEVERSIONNUM"
></A
>xmlParseVersionNum ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlParseVersionNum (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse the XML version value.</P
><P
>[26] VersionNum ::= ([a-zA-Z0-9_.:] | '-')+</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23689"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the string giving the XML version number, or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23702"
></A
><H3
><A
NAME="XMLPARSEVERSIONINFO"
></A
>xmlParseVersionInfo ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlParseVersionInfo (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse the XML version.</P
><P
>[24] VersionInfo ::= S 'version' Eq (' VersionNum ' | " VersionNum ")</P
><P
>[25] Eq ::= S? '=' S?</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23712"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the version string, e.g. "1.0"</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23725"
></A
><H3
><A
NAME="XMLPARSEENCNAME"
></A
>xmlParseEncName ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlParseEncName (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse the XML encoding name</P
><P
>[81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23734"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the encoding name value or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23747"
></A
><H3
><A
NAME="XMLPARSEENCODINGDECL"
></A
>xmlParseEncodingDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlParseEncodingDecl (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse the XML encoding declaration</P
><P
>[80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' | "'" EncName "'")</P
><P
>this setups the conversion filters.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23757"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the encoding value or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23770"
></A
><H3
><A
NAME="XMLPARSESDDECL"
></A
>xmlParseSDDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlParseSDDecl (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse the XML standalone declaration</P
><P
>[32] SDDecl ::= S 'standalone' Eq
(("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no')'"')) </P
><P
>[ VC: Standalone Document Declaration ]
TODO The standalone document declaration must have the value "no"
if any external markup declarations contain declarations of:
- attributes with default values, if elements to which these
attributes apply appear in the document without specifications
of values for these attributes, or
- entities (other than amp, lt, gt, apos, quot), if references
to those entities appear in the document, or
- attributes with values subject to normalization, where the
attribute appears in the document with a value which will change
as a result of normalization, or
- element types with element content, if white space occurs directly
within any instance of those types.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23779"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if standalone, 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23792"
></A
><H3
><A
NAME="XMLPARSEXMLDECL"
></A
>xmlParseXMLDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParseXMLDecl (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse an XML declaration header</P
><P
>[23] XMLDecl ::= '&lt;?xml' VersionInfo EncodingDecl? SDDecl? S? '?&gt;'</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23800"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23809"
></A
><H3
><A
NAME="XMLPARSETEXTDECL"
></A
>xmlParseTextDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParseTextDecl (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse an XML declaration header for external entities</P
><P
>[77] TextDecl ::= '&lt;?xml' VersionInfo? EncodingDecl S? '?&gt;'</P
><P
>Question: Seems that EncodingDecl is mandatory ? Is that a typo ?</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23818"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23827"
></A
><H3
><A
NAME="XMLPARSEMISC"
></A
>xmlParseMisc ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParseMisc (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>parse an XML Misc* optional field.</P
><P
>[27] Misc ::= Comment | PI | S</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23835"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23844"
></A
><H3
><A
NAME="XMLPARSEEXTERNALSUBSET"
></A
>xmlParseExternalSubset ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParseExternalSubset (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *ExternalID,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *SystemID);</PRE
></TD
></TR
></TABLE
><P
>parse Markup declarations from an external subset</P
><P
>[30] extSubset ::= textDecl? extSubsetDecl</P
><P
>[31] extSubsetDecl ::= (markupdecl | conditionalSect | PEReference | S) *</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23855"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ExternalID</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the external identifier</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>SystemID</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the system identifier (or URL)</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23872"
></A
><H3
><A
NAME="XML-SUBSTITUTE-NONE-CAPS"
></A
>XML_SUBSTITUTE_NONE</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XML_SUBSTITUTE_NONE 0</PRE
></TD
></TR
></TABLE
><P
>If no entities need to be substituted.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23878"
></A
><H3
><A
NAME="XML-SUBSTITUTE-REF-CAPS"
></A
>XML_SUBSTITUTE_REF</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XML_SUBSTITUTE_REF 1</PRE
></TD
></TR
></TABLE
><P
>Whether general entities need to be substituted.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23884"
></A
><H3
><A
NAME="XML-SUBSTITUTE-PEREF-CAPS"
></A
>XML_SUBSTITUTE_PEREF</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XML_SUBSTITUTE_PEREF 2</PRE
></TD
></TR
></TABLE
><P
>Whether parameter entities need to be substituted.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23890"
></A
><H3
><A
NAME="XML-SUBSTITUTE-BOTH-CAPS"
></A
>XML_SUBSTITUTE_BOTH</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define XML_SUBSTITUTE_BOTH 3</PRE
></TD
></TR
></TABLE
><P
>Both general and parameter entities need to be substituted.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23896"
></A
><H3
><A
NAME="XMLDECODEENTITIES"
></A
>xmlDecodeEntities ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlDecodeEntities (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
int len,
int what,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> end,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> end2,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> end3);</PRE
></TD
></TR
></TABLE
><P
>This function is deprecated, we now always process entities content
through xmlStringDecodeEntities</P
><P
>TODO: remove it in next major release.</P
><P
>[67] Reference ::= EntityRef | CharRef</P
><P
>[69] PEReference ::= '%' Name ';'</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23910"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>len</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the len to decode (in bytes !), -1 for no size limit</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>what</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>end</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an end marker xmlChar, 0 if none</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>end2</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an end marker xmlChar, 0 if none</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>end3</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an end marker xmlChar, 0 if none</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>A newly allocated string with the substitution done. The caller
must deallocate it !</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23943"
></A
><H3
><A
NAME="XMLSTRINGDECODEENTITIES"
></A
>xmlStringDecodeEntities ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlStringDecodeEntities (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *str,
int what,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> end,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> end2,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> end3);</PRE
></TD
></TR
></TABLE
><P
>Takes a entity string content and process to do the adequate substitutions.</P
><P
>[67] Reference ::= EntityRef | CharRef</P
><P
>[69] PEReference ::= '%' Name ';'</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23957"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>str</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the input string</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>what</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>end</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an end marker xmlChar, 0 if none</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>end2</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an end marker xmlChar, 0 if none</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>end3</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an end marker xmlChar, 0 if none</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>A newly allocated string with the substitution done. The caller
must deallocate it !</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN23990"
></A
><H3
><A
NAME="NODEPUSH"
></A
>nodePush ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int nodePush (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> value);</PRE
></TD
></TR
></TABLE
><P
>Pushes a new element node on top of the node stack</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN23998"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>value</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the element node</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 in case of error, the index in the stack otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24015"
></A
><H3
><A
NAME="NODEPOP"
></A
>nodePop ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> nodePop (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>Pops the top element node from the node stack</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24023"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the node just removed</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24036"
></A
><H3
><A
NAME="INPUTPUSH"
></A
>inputPush ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int inputPush (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> value);</PRE
></TD
></TR
></TABLE
><P
>Pushes a new parser input on top of the input stack</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24044"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>value</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the parser input</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 in case of error, the index in the stack otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24061"
></A
><H3
><A
NAME="INPUTPOP"
></A
>inputPop ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> inputPop (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>Pops the top parser input from the input stack</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24069"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the input just removed</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24082"
></A
><H3
><A
NAME="NAMEPOP"
></A
>namePop ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* namePop (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>Pops the top element name from the name stack</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24090"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the name just removed</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24103"
></A
><H3
><A
NAME="NAMEPUSH"
></A
>namePush ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int namePush (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *value);</PRE
></TD
></TR
></TABLE
><P
>Pushes a new element name on top of the name stack</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24111"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>value</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the element name</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>0 in case of error, the index in the stack otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24128"
></A
><H3
><A
NAME="XMLSKIPBLANKCHARS"
></A
>xmlSkipBlankChars ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlSkipBlankChars (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>skip all blanks character found at that point in the input streams.
It pops up finished entities in the process if allowable at that point.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24135"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the number of space chars skipped</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24148"
></A
><H3
><A
NAME="XMLSTRINGCURRENTCHAR"
></A
>xmlStringCurrentChar ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlStringCurrentChar (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *cur,
int *len);</PRE
></TD
></TR
></TABLE
><P
>The current char value, if using UTF-8 this may actually span multiple
bytes in the input buffer.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24156"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>cur</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> pointer to the beginning of the char</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>len</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> pointer to the length of the char read</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the current char value and its length</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24177"
></A
><H3
><A
NAME="XMLPARSERHANDLEPEREFERENCE"
></A
>xmlParserHandlePEReference ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParserHandlePEReference (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>[69] PEReference ::= '%' Name ';'</P
><P
>[ WFC: No Recursion ]
A parsed entity must not contain a recursive
reference to itself, either directly or indirectly. </P
><P
>[ WFC: Entity Declared ]
In a document without any DTD, a document with only an internal DTD
subset which contains no parameter entity references, or a document
with "standalone='yes'", ... ... The declaration of a parameter
entity must precede any reference to it...</P
><P
>[ VC: Entity Declared ]
In a document with an external subset or external parameter entities
with "standalone='no'", ... ... The declaration of a parameter entity
must precede any reference to it...</P
><P
>[ WFC: In DTD ]
Parameter-entity references may only appear in the DTD.
NOTE: misleading but this is handled.</P
><P
>A PEReference may have been detected in the current input stream
the handling is done accordingly to
http://www.w3.org/TR/REC-xml<GTKDOCLINK
HREF="ENTPROC"
>entproc</GTKDOCLINK
>
i.e.
- Included in literal in entity values
- Included as Parameter Entity reference within DTDs</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24190"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24199"
></A
><H3
><A
NAME="XMLPARSERHANDLEREFERENCE"
></A
>xmlParserHandleReference ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParserHandleReference (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>TODO: Remove, now deprecated ... the test is done directly in the
content parsing
routines.</P
><P
>[67] Reference ::= EntityRef | CharRef</P
><P
>[68] EntityRef ::= '&amp;' Name ';'</P
><P
>[ WFC: Entity Declared ]
the Name given in the entity reference must match that in an entity
declaration, except that well-formed documents need not declare any
of the following entities: amp, lt, gt, apos, quot. </P
><P
>[ WFC: Parsed Entity ]
An entity reference must not contain the name of an unparsed entity</P
><P
>[66] CharRef ::= '&amp;#' [0-9]+ ';' |
'&amp;<GTKDOCLINK
HREF="X"
>x</GTKDOCLINK
>' [0-9a-fA-F]+ ';'</P
><P
>A PEReference may have been detected in the current input stream
the handling is done accordingly to
http://www.w3.org/TR/REC-xml<GTKDOCLINK
HREF="ENTPROC"
>entproc</GTKDOCLINK
></P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24214"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24223"
></A
><H3
><A
NAME="XMLCHECKLANGUAGEID"
></A
>xmlCheckLanguageID ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlCheckLanguageID (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *lang);</PRE
></TD
></TR
></TABLE
><P
>Checks that the value conforms to the LanguageID production:</P
><P
>NOTE: this is somewhat deprecated, those productions were removed from
the XML Second edition.</P
><P
>[33] LanguageID ::= Langcode ('-' Subcode)*
[34] Langcode ::= ISO639Code | IanaCode | UserCode
[35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z])
[36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+
[37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+
[38] Subcode ::= ([a-z] | [A-Z])+</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24232"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>lang</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> pointer to the string value</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>1 if correct 0 otherwise</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24245"
></A
><H3
><A
NAME="XMLCURRENTCHAR"
></A
>xmlCurrentChar ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlCurrentChar (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt,
int *len);</PRE
></TD
></TR
></TABLE
><P
>The current char value, if using UTF-8 this may actually span multiple
bytes in the input buffer. Implement the end of line normalization:
2.11 End-of-Line Handling
Wherever an external parsed entity or the literal entity value
of an internal parsed entity contains either the literal two-character
sequence "<GTKDOCLINK
HREF="XD"
>xD</GTKDOCLINK
><GTKDOCLINK
HREF="XA"
>xA</GTKDOCLINK
>" or a standalone literal <GTKDOCLINK
HREF="XD"
>xD</GTKDOCLINK
>, an XML processor
must pass to the application the single character <GTKDOCLINK
HREF="XA"
>xA</GTKDOCLINK
>.
This behavior can conveniently be produced by normalizing all
line breaks to <GTKDOCLINK
HREF="XA"
>xA</GTKDOCLINK
> on input, before parsing.)</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24257"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XML parser context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>len</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> pointer to the length of the char read</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the current char value and its length</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24274"
></A
><H3
><A
NAME="XMLCOPYCHARMULTIBYTE"
></A
>xmlCopyCharMultiByte ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlCopyCharMultiByte (<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *out,
int val);</PRE
></TD
></TR
></TABLE
><P
>append the char value in the array</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24281"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>out</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> pointer to an array of xmlChar</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>val</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the char value</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the number of xmlChar written</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24298"
></A
><H3
><A
NAME="XMLCOPYCHAR"
></A
>xmlCopyChar ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlCopyChar (int len,
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *out,
int val);</PRE
></TD
></TR
></TABLE
><P
>append the char value in the array</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24305"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>len</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Ignored, compatibility</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>out</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> pointer to an array of xmlChar</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>val</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the char value</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the number of xmlChar written</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24326"
></A
><H3
><A
NAME="XMLNEXTCHAR"
></A
>xmlNextChar ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlNextChar (<A
HREF="libxml-tree.html#XMLPARSERCTXTPTR"
>xmlParserCtxtPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>Skip to the next char input char.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24333"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XML parser context</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24342"
></A
><H3
><A
NAME="XMLPARSERINPUTSHRINK"
></A
>xmlParserInputShrink ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlParserInputShrink (<A
HREF="libxml-tree.html#XMLPARSERINPUTPTR"
>xmlParserInputPtr</A
> in);</PRE
></TD
></TR
></TABLE
><P
>This function removes used input for the parser.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24349"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>in</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an XML parser input</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24358"
></A
><H3
><A
NAME="HTMLINITAUTOCLOSE"
></A
>htmlInitAutoClose ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void htmlInitAutoClose (void);</PRE
></TD
></TR
></TABLE
><P
>Initialize the htmlStartCloseIndex for fast lookup of closing tags names.
This is not reentrant. Call <A
HREF="libxml-parser.html#XMLINITPARSER"
>xmlInitParser</A
>() once before processing in
case of use in multithreaded programs.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24365"
></A
><H3
><A
NAME="HTMLCREATEFILEPARSERCTXT"
></A
>htmlCreateFileParserCtxt ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
>htmlParserCtxtPtr</A
> htmlCreateFileParserCtxt (const char *filename,
const char *encoding);</PRE
></TD
></TR
></TABLE
><P
>Create a parser context for a file content.
Automatic support for ZLIB/Compress compressed document is provided
by default if found at compile-time.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24372"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>filename</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the filename</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>encoding</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a free form C string describing the HTML document encoding, or NULL</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the new parser context or NULL</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24389"
></A
><H3
><A
NAME="XMLENTITYREFERENCEFUNC"
></A
>xmlEntityReferenceFunc ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void (*xmlEntityReferenceFunc) (<A
HREF="libxml-tree.html#XMLENTITYPTR"
>xmlEntityPtr</A
> ent,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> firstNode,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> lastNode);</PRE
></TD
></TR
></TABLE
><P
>Callback function used when one needs to be able to track back the
provenance of a chunk of nodes inherited from an entity replacement.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24398"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ent</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the entity</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>firstNode</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the fist node in the chunk</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>lastNode</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the last nod in the chunk</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24415"
></A
><H3
><A
NAME="XMLSETENTITYREFERENCEFUNC"
></A
>xmlSetEntityReferenceFunc ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlSetEntityReferenceFunc (<A
HREF="libxml-parserinternals.html#XMLENTITYREFERENCEFUNC"
>xmlEntityReferenceFunc</A
> func);</PRE
></TD
></TR
></TABLE
><P
>Set the function to call call back when a xml reference has been made</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24422"><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>func</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> A valid function</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><BR
CLEAR="all"><BR><TABLE
WIDTH="100%"
BORDER="0"
BGCOLOR="#000000"
CELLPADDING="1"
CELLSPACING="0"
><TR
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="left"
><A
HREF="libxml-docbparser.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&#60;&#60;&#60; 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-lib.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Up</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="right"
><A
HREF="libxml-encoding.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Next Page &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
><TR
><TD
COLSPAN="2"
ALIGN="left"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>DOCBparser</B
></FONT
></TD
><TD
COLSPAN="2"
ALIGN="right"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>encoding</B
></FONT
></TD
></TR
></TABLE
></DIV
></BODY
></HTML
>