
    ShH                    4   S SK r S SKrS SKr " S S\5      rS rS r " S S\5      r " S S	\5      r " S
 S\5      r	 " S S\5      r
 " S S5      r " S S\5      r " S S\5      r " S S5      r " S S5      r " S S5      r " S S5      rS rS rS rSrS rS!rS"rSrS rS!rS"rS# r " S$ S%5      r " S& S'5      r " S( S)5      r  " S* S+5      r!S, r" " S- S.5      r#S/ r$/ r%S0 r&S1 r'S2 r(S3 r)S4 r*S5 r+S6 r,S7 r-S8 r.S9 r/S: r0S; r1S< r2S= r3S> r4S? r5S@ r6SA r7SB r8SC r9SD r:SE r;SF r<SG r=SH r>SI r?SJ r@SK rASL rBSM rCSN rDSO rESP rFSQ rGSR rHSS rIST rJSU rKSV rLSW rMSX rNSY rOSZ rPS[ rQS\ rRS] rSS^ rTS_ rUS` rVSa rWSb rXSc rYSd rZSe r[Sf r\Sg r]Sh r^Si r_Sj r`Sk raSl rbSm rcSn rdSo reSp rfSq rgSr rhSs riSt rjSu rkSv rlSw rmSx rnSy roSz rpS{ rqS| rrS} rsS~ rtS ruS rvS rwS rxS ryS rzS r{S r|S r}S r~S rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rGS  rGS rGS rGS rGS rGS rGS rGS rGS rGS	 rGS
 Gr GS GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS Gr	GS Gr
GS GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS  GrGS! GrGS" GrGS# GrGS$ GrGS% GrGS& GrGS' GrGS( GrGS) GrGS* Gr GS+ Gr!GS, Gr"GS- Gr#GS. Gr$GS/ Gr%GS0 Gr&GS1 Gr'GS2 Gr(GS3 Gr)GS4 Gr*GS5 Gr+GS6 Gr,GS7 Gr-GS8 Gr.GS9 Gr/GS: Gr0GS; Gr1GS< Gr2GS= Gr3GS> Gr4GS? Gr5GS@ Gr6GSA Gr7GSB Gr8GSC Gr9GSD Gr:GSE Gr;GSF Gr<GSG Gr=GSH Gr>GSI Gr?GSJ Gr@GSK GrAGSL GrBGSM GrCGSN GrDGSO GrEGSP GrFGSQ GrGGSR GrHGSS GrIGST GrJGSU GrKGSV GrLGSW GrMGSX GrNGSY GrOGSZ GrPGS[ GrQGS\ GrRGS] GrSGS^ GrTGS_ GrUGS` GrVGSa GrWGSb GrXGSc GrYGSd GrZGSe Gr[GSf Gr\GSg Gr]GSh Gr^GSi Gr_GSj Gr`GSk GraGSl GrbGSm GrcGSn GrdGSo GreGSp GrfGSq GrgGSr GrhGSs GriGSt GrjGSu GrkGSv GrlGSw GrmGSx GrnGSy GroGSz GrpGS{ GrqGS| GrrGS} GrsGS~ GrtGS GruGS GrvGS GrwGS GrxGS GryGS GrzGS Gr{GS Gr|GS Gr}GS Gr~GS GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS GrGS Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GSG\5      Gr " GS GS5      Gr " GS GSG\5      Gr " GS GS\5      Gr " GS GS\5      Gr " GS GS5      Gr " GS GS5      Gr " GS GS5      Gr " GS GS\!5      Gr " GS GS5      Gr " GS GS5      Gr " GS GS\ 5      Gr " GS GS5      Gr " GS GS\#5      Gr " GS GS5      Gr " GS GS\5      Gr " GS GS5      Gr " GS GS5      GrS GrSGrS GrS!GrS GrSGrS GrSGrS GrS!GrS"GrGSGrGSGrSGrS GrS!GrS"GrSGrS GrS!GrS"GrS GrSGrS GrS!GrS"GrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrS GrSGrS GrS!GrS"GrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrSGr S GrS!GrS"GrGSGrGSGrSGrS GrS"GrGSGr	GSGr
GSGrGSGrGSGrS GrSGrS GrS"GrS GrSGrS GrS!GrS"GrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGr GSGr!GSGr"GSGr#GSGr$GSGr%GSGr&GSGr'GSGr(GSGr)GSGr*GSGr+GSGr,GSGr-GSGr.GSGr/GSGr0GSGr1GSGr2GSGr3GSGr4GSGr5GSGr6GSGr7GSGr8GSGr9GSGr:GSGr;GSGr<GSGr=GSGr>GSGr?GSGr@GSGrAGSGrBGSGrCGSGrDGSGrEGS GrFGSGrGGSGrHGSGrIGSGrJGSGrKGSGrLGSGrMGSGrNGS	GrOGS
GrPGSGrQGSGrRGSGrSGSGrTGSGrUGSGrVGSGrWGSGrXGSGrYGSGrZGSGr[GSGr\GSGr]GSGr^GSGr_GSGr`GSGraGSGrbGSGrcGSGrdGSGreGSGrfGS GrgGS!GrhGS"GriGS#GrjGS$GrkGS%GrlGS&GrmGS'GrnGS(GroGS)GrpGS*GrqGS+GrrGS,GrsGS-GrtGS.GruGS/GrvGS0GrwGS1GrxGS2GryGS3GrzGS4Gr{GS5Gr|GS6Gr}GS7Gr~GS8GrGS9GrGS:GrGS;GrGS<GrGS=GrGS>GrGS?GrGS@GrGSAGrGSBGrGSCGrGSDGrGSEGrGSFGrGSGGrGSHGrGSIGrGSJGrGSKGrGSLGrGSMGrGSNGrGSOGrGSPGrGSQGrGSRGrGSSGrGSTGrGSUGrGSVGrGSWGrGSXGrGSYGrGSZGrGS[GrGS\GrGS]GrGS^GrGS_GrGS`GrGSaGrGSbGrGScGrGSdGrGSeGrGSfGrGSgGrGShGrGSiGrGSjGrGSkGrGSlGrGSmGrGSnGrGSoGrGSpGrGSqGrGSrGrGSsGrGStGrGSuGrGSvGrGSwGrGSxGrGSyGrGSzGrGS{GrGS|GrGS}GrGS~GrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGr GSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGr	GSGr
GSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGr GSGr!GSGr"GSGr#GSGr$GSGr%GSGr&GSGr'GSGr(GSGr)GSGr*GSGr+GSGr,GSGr-GSGr.GSGr/GSGr0GSGr1GSGr2GSGr3GSGr4GSGr5GSGr6GSGr7GSGr8GSGr9GSGr:GSGr;GSGr<GSGr=GSGr>GSGr?GSGr@GSGrAGSGrBGSGrCGSGrDGSGrEGSGrFGS GrGGSGrHGSGrIGSGrJGSGrKGSGrLGSGrMGSGrNGSGrOGS	GrPGS
GrQGSGrRGSGrSGSGrTGSGrUGSGrVGSGrWGSGrXGSGrYGSGrZGSGr[GSGr\GSGr]GSGr^GSGr_GSGr`GSGraGSGrbGSGrcGSGrdGSGreGSGrfGS GrgGS!GrhGS"GriGS#GrjGS$GrkGS%GrlGS&GrmGS'GrnGS(GroGS)GrpGS*GrqGS+GrrGS,GrsGS-GrtGS.GruGS/GrvGS0GrwGS1GrxGS2GryGS3GrzGS4Gr{GS5Gr|GS6Gr}GS7Gr~GS8GrGS9GrGS:GrGS;GrGS<GrGS=GrGS>GrGS?GrGS@GrGSAGrGSBGrGSCGrGSDGrGSEGrGSFGrGSGGrGSHGrGSIGrGSJGrGSKGrGSLGrGSMGrGSNGrGSOGrGSPGrGSQGrGSRGrGSSGrGSTGrGSUGrGSVGrGSWGrGSXGrGSYGrGSZGrGS[GrGS\GrGS]GrGS^GrGS_GrGS`GrGSaGrGSbGrGScGrGSdGrGSeGrGSfGrGSgGrGShGrGSiGrGSjGrGSkGrGSlGrGSmGrGSnGrGSoGrGSpGrGSqGrGSrGrGSsGrGStGrGSuGrGSvGrGSwGrGSxGrGSyGrGSzGrGS{GrGS|GrGS}GrGS~GrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGr GSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGr	GSGr
GSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGr GSGr!GSGr"GSGr#GSGr$GSGr%GSGr&GSGr'GSGr(GSGr)GSGr*GSGr+GSGr,GSGr-GSGr.GSGr/GSGr0GSGr1GSGr2GSGr3GSGr4GSGr5GSGr6GSGr7GSGr8GSGr9GSGr:GSGr;GSGr<GSGr=GSGr>GSGr?GSGr@GSGrAGSGrBGSGrCGSGrDGSGrEGSGrFGS GrGGSGrHGSGrIGSGrJGSGrKGSGrLGSGrMGSGrNGSGrOGS	GrPGS
GrQGSGrRGSGrSGSGrTGSGrUGSGrVGSGrWGSGrXGSGrYGSGrZGSGr[GSGr\GSGr]GSGr^GSGr_GSGr`GSGraGSGrbGSGrcGSGrdGSGreGSGrfGS GrgGS!GrhGS"GriGS#GrjGS$GrkGS%GrlGS&GrmGS'GrnGS(GroGS)GrpGS*GrqGS+GrrGS,GrsGS-GrtGS.GruGS/GrvGS0GrwGS1GrxGS2GryGS3GrzGS4Gr{GS5Gr|GS6Gr}GS7Gr~GS8GrGS9GrGS:GrGS;GrGS<GrGS=GrGS>GrGS?GrGS@GrGSAGrGSBGrGSCGrGSDGrGSEGrGSFGrGSGGrGSHGrGSIGrGSJGrGSKGrGSLGrGSMGrGSNGrGSOGrGSPGrGSQGrGSRGrGSSGrGSTGrGSUGrGSVGrGSWGrGSXGrGSYGrGSZGrGS[GrGS\GrGS]GrGS^GrGS_GrGS`GrGSaGrGSbGrGScGrGSdGrGSeGrGSfGrGSgGrGShGrGSiGrGSjGrGSkGrGSlGrGSmGrGSnGrGSoGrGSpGrGSqGrGSrGrGSsGrGStGrGSuGrGSvGrGSwGrGSxGrGSyGrGSzGrGS{GrGS|GrGS}GrGS~GrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrS GrSGrS GrS!GrS"GrGSGrSGrS GrS!GrS"GrSGrS GrS!GrS"GrS GrSGrS Gr S!GrS"GrGSGrGSGrGSGrGSGrGSGrGSGrGSGr	GSGr
GSGrGSGrGSGrGSGrGSGrS GrSGrS GrSGrS GrS!GrS"GrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGr GSGr!GSGr"GSGr#GSGr$GSGr%GSGr&GSGr'S Gr(SGr)S Gr*SGr+S Gr,S!Gr-S"Gr.GSGr/GSGr0GSGr1GSGr2GSGr3GSGr4GSGr5GSGr6GSGr7GSGr8GSGr9GSGr:GSGr;GSGr<GSGr=GSGr>GSGr?GSGr@GSGrAGSGrBGSGrCGSGrDGSGrEGSGrFGSGrGGSGrHGSGrIGSGrJGSGrKGSGrLSGrMS GrNS!GrOS"GrPS GrQSGrRS GrSS!GrTS"GrUGSGrVGSGrWGSGrXGSGrYGSGrZGSGr[GSGr\GSGr]GSGr^GSGr_GSGr`GSGraGSGrbGSGrcGSGrdGSGreGSGrfGSGrgGSGrhGSGriGSGrjGSGrkS GrlSGrmS GrnS!GroS"GrpGSGrqS GrrSGrsS GrtS!GruGSGrvS GrwSGrxS GryS!GrzS"Gr{GSGr|GSGr}GSGr~GSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrS GrSGrS GrS!GrS"GrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrS GrSGrS GrS"GrGSGrSGrS GrSGrS GrS!GrSGrS"GrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrS GrSGrS GrS!GrS"GrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrS GrSGrS GrS!GrSGrS GrS!GrS"GrGSGrGSGrGSGrGSGrGSGrGSGrSGrS GrS"GrGSGrGSGrGSMGrGSGrS GrSGrS Gr S!GrS"GrGSGrGSGrGSGrSGrS GrS!GrS"Gr	GSGr
GSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSGrGSmGr GSnGr!GSoGr"GSpGr#GSqGr$GSrGr%GSsGr&GStGr'GSuGr(GSvGr)GSwGr*GSxGr+GSGr,GSGr-SGr.S Gr/S Gr0SGr1S Gr2S!Gr3S"Gr4GSGr5S Gr6SGr7S Gr8SGr9S Gr:S"Gr;GSGr<GSGr=GSGr>GSGr?GSGr@GSGrAGSMGrBGSGrCGSGrDGSGrEGSGrFGSGrGGSGrHGSGrIGSGrJGSGrKGSGrLGSGrMGSGrNGSGrOS GrPSGrQS GrRS!GrSS"GrTSGrUS GrVS"GrWGSGrXGSGrYGSGrZGSGr[GSGr\S Gr]SGr^S Gr_S!Gr`S GraSGrbS GrcS!GrdS"GreGSGrfGSGrgGSGrhGSGriGSGrjS GrkSGrlS GrmS!GrnS"GroGSGrpGSGrqGSGrrGSGrsGSGrtGSGruGSGrvGSGrwGSGrxGSGryGSGrzGSGr{GSGr|GSGr}GSGr~GSGrGSGrGSGrGSGrGSGrGSGrg(      Nc                       \ rS rSrSrg)libxmlError    N)__name__
__module____qualname____firstlineno____static_attributes__r       )/usr/lib/python3/dist-packages/libxml2.pyr   r      s    dr   r   c                 `     [        [        5      R                  nUS:w  a  US:w  a  gg!    g= f)N	PyCObject	PyCapsule   r   )type_objr   )objns     r   checkWrapperr   	   s7    J[ 0 s   %) -c                 N    [        U 5      nUS:  a  [        R                  U-
  $ U$ Nr   )idsysmaxsize)ois     r   pos_idr      s%    
1A	Aa Hr   c                        \ rS rSrS rS rSrg)	treeError   c                     Xl         g Nmsgselfr%   s     r   __init__treeError.__init__       r   c                     U R                   $ r#   r$   r'   s    r   __str__treeError.__str__!       xxr   r$   Nr   r   r	   r
   r(   r-   r   r   r   r   r    r           r   r    c                        \ rS rSrS rS rSrg)parserError$   c                     Xl         g r#   r$   r&   s     r   r(   parserError.__init__%   r*   r   c                     U R                   $ r#   r$   r,   s    r   r-   parserError.__str__'   r/   r   r$   Nr0   r   r   r   r3   r3   $   r1   r   r3   c                        \ rS rSrS rS rSrg)uriError*   c                     Xl         g r#   r$   r&   s     r   r(   uriError.__init__+   r*   r   c                     U R                   $ r#   r$   r,   s    r   r-   uriError.__str__-   r/   r   r$   Nr0   r   r   r   r:   r:   *   r1   r   r:   c                        \ rS rSrS rS rSrg)
xpathError0   c                     Xl         g r#   r$   r&   s     r   r(   xpathError.__init__1   r*   r   c                     U R                   $ r#   r$   r,   s    r   r-   xpathError.__str__3   r/   r   r$   Nr0   r   r   r   rA   rA   0   r1   r   rA   c                   :    \ rS rSrS rS rS rS	S jrS	S jrSr	g)
	ioWrapper6   c                     Xl         S U l        g r#   )_ioWrapper__io_or'   r   s     r   r(   ioWrapper.__init__7   s    	r   c                 h    U R                   S :X  a  gU R                   R                  5         S U l         gNr   )rK   closer,   s    r   io_closeioWrapper.io_close;   s)    99			r   c                 Z    U R                   S :X  a  gU R                   R                  5         grP   )rK   flushr,   s    r   io_flushioWrapper.io_flushB   s"    99		r   c                 j   U R                   S :X  a  g US:  a  U R                   R                  5       nU$ U R                   R                  U5      n U$ ! [         aU    SS KnUR                  " 5       S   n[        S[        U5      5        [        SU R                   5        U R                   S :H     gf = f)NrQ   r   r   zfailed to read from Python:zon IO:)rK   read	Exceptionr   exc_infoprintr   )r'   lenretr   es        r   io_readioWrapper.io_readH   s    99	Qwiinn&  iinnS)   	q!A/a9(DII&II	s    A A AB21B2c                     U R                   S :X  a  gUS:  a  U R                   R                  U5      $ U R                   R                  X5      $ rP   )rK   write)r'   strr^   s      r   io_writeioWrapper.io_writeZ   s>    99799??3'(yys()r   )__iorL   N)rQ   )
r   r   r	   r
   r(   rS   rW   ra   rf   r   r   r   r   rH   rH   6   s    $*r   rH   c                   *    \ rS rSrSS jrS rS rSrg)ioReadWrappera   c                 d    [         R                  X5        [        R                  " X5      U l        g r#   )rH   r(   
libxml2modxmlCreateInputBufferrL   )r'   r   encs      r   r(   ioReadWrapper.__init__b   s"    4&11$<r   c                     [        S5        U R                  5         U R                  S :w  a   [        R                  " U R                  5        S U l        g )N__del__)r]   rS   rL   rm   xmlFreeParserInputBufferr,   s    r   rr   ioReadWrapper.__del__f   s7    i77d?//8r   c                     U R                  5         U R                  S :w  a   [        R                  " U R                  5        S U l        g r#   )rS   rL   rm   rs   r,   s    r   rR   ioReadWrapper.closem   s/    77d?//8r   rL   N )r   r   r	   r
   r(   rr   rR   r   r   r   r   rj   rj   a   s    =r   rj   c                   0    \ rS rSrSS jrS rS rS rSrg)	ioWriteWrappers   c                    [        U5      [        S5      :X  a  [        S5        S U l        g [        U5      R                  S:X  aN  [        R
                  " U5      nUS :w  a  [        R                  X5        O[        R                  X5        Xl        g [        R
                  " U5      nUS :w  a  [        R                  X5        O[        R                  X5        Xl        g )Nry   zwrite io from a stringr   )	r   r]   r   r   rm   outputBufferGetPythonFilerH   r(   rL   )r'   r   ro   files       r   r(   ioWriteWrapper.__init__t   s    :b!*+DF$Z  K/77=Dt|""4.""4.G 77=Dt|""4.""4.Gr   c                     U R                  5         U R                  S :w  a   [        R                  " U R                  5        S U l        g r#   )rS   rL   rm   xmlOutputBufferCloser,   s    r   rr   ioWriteWrapper.__del__   s/    77d?++DGG4r   c                     U R                  5         U R                  S :w  a   [        R                  " U R                  5        S U l        g r#   rW   rL   rm   r   r,   s    r   rV   ioWriteWrapper.flush   /    77d?++DGG4r   c                     U R                  5         U R                  S :w  a   [        R                  " U R                  5        S U l        g r#   r   r,   s    r   rR   ioWriteWrapper.close   r   r   )rL   r   Nrx   )	r   r   r	   r
   r(   rr   rV   rR   r   r   r   r   r{   r{   s   s    0r   r{   c                       \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rSrg)SAXCallback   zBase class for SAX handlersc                     g)z#called at the start of the documentNr   r,   s    r   startDocumentSAXCallback.startDocument       r   c                     g)z!called at the end of the documentNr   r,   s    r   endDocumentSAXCallback.endDocument   r   r   c                     g)zwcalled at the start of every element, tag is the name of
the element, attrs is a dictionary of the element's attributesNr   )r'   tagattrss      r   startElementSAXCallback.startElement        	r   c                     g)zDcalled at the start of every element, tag is the name of
the elementNr   )r'   r   s     r   
endElementSAXCallback.endElement   r   r   c                     g)zcalled when character data have been read, data is the string
containing the data, multiple consecutive characters() callback
are possible.Nr   r'   datas     r   
charactersSAXCallback.characters        	r   c                     g)zcalled when CDATA section have been read, data is the string
containing the data, multiple consecutive cdataBlock() callback
are possible.Nr   r   s     r   
cdataBlockSAXCallback.cdataBlock   r   r   c                     g)z.called when an entity reference has been foundNr   r'   names     r   	referenceSAXCallback.reference   r   r   c                     g)z>called when potentially ignorable white spaces have been foundNr   r   s     r   ignorableWhitespaceSAXCallback.ignorableWhitespace   r   r   c                     g)zfcalled when a PI has been found, target contains the PI name and
data is the associated data in the PINr   )r'   targetr   s      r   processingInstruction!SAXCallback.processingInstruction   r   r   c                     g)zBcalled when a comment has been found, content contains the commentNr   r'   contents     r   commentSAXCallback.comment   r   r   c                     g)zcalled when a DOCTYPE declaration has been found, name is the
DTD name and externalID, systemID are the DTD public and system
identifier for that DTd if availableNr   r'   r   
externalIDsystemIDs       r   externalSubsetSAXCallback.externalSubset   r   r   c                     g)zcalled when a DOCTYPE declaration has been found, name is the
DTD name and externalID, systemID are the DTD public and system
identifier for that DTD if availableNr   r   s       r   internalSubsetSAXCallback.internalSubset   r   r   c                     g)zcalled when an ENTITY declaration has been found, name is the
entity name and externalID, systemID are the entity public and
system identifier for that entity if available, type indicates
the entity type, and content reports it's string contentNr   )r'   r   r   r   r   r   s         r   
entityDeclSAXCallback.entityDecl       
 	r   c                     g)zcalled when an NOTATION declaration has been found, name is the
notation name and externalID, systemID are the notation public and
system identifier for that notation if availableNr   r   s       r   notationDeclSAXCallback.notationDecl   r   r   c                     g)z2called when an ATTRIBUTE definition has been foundNr   )r'   elemr   r   defidefaultValuenameLists          r   attributeDeclSAXCallback.attributeDecl   r   r   c                     g)z0called when an ELEMENT definition has been foundNr   )r'   r   r   r   s       r   elementDeclSAXCallback.elementDecl   r   r   c                     g)zcalled when an unparsed ENTITY declaration has been found,
name is the entity name and publicId,, systemID are the entity
public and system identifier for that entity if available,
and notationName indicate the associated NOTATIONNr   )r'   r   publicIdr   notationNames        r   r   r      r   r   c                     g r#   r   r&   s     r   warningSAXCallback.warning   r   r   c                     [        U5      er#   r3   r&   s     r   errorSAXCallback.error       #r   c                     [        U5      er#   r   r&   s     r   
fatalErrorSAXCallback.fatalError  r   r   r   N)r   r   r	   r
   __doc__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      si    %


r   r   c                      \ rS rSrS+S jrS rS rS rS rS r	S	 r
S
 rS rS rS rS r\rS rS rS rSSKr\" \R,                  SS 5      S:  a  S rOn\" \	SSS5      r\" \
SSS5      r\" \SSS5      r\" \SSS5      r\" \SSS5      r\" \SSS5      r\" \SSS5      r\" \SSS5      r \" \SSS5      r!\" \SSS5      r"S,S  jr#S,S! jr$    S-S" jr%    S-S# jr&S$ r'S% r(S& r)S' r*S( r+\*r,S) r-S*r.g).xmlCorei  Nc                 ,    US :w  a  Xl         g S U l         g r#   rw   rM   s     r   r(   xmlCore.__init__      4<Gr   c                 ~    US :X  a  g[         R                  " U R                  UR                  5      nUS :X  a  gUS:H  $ )NFTrm   compareNodesEqualrL   r'   otherr_   s      r   __eq__xmlCore.__eq__  s:    D=**477EHH=$;d{r   c                 t    US :X  a  g[         R                  " U R                  UR                  5      nU(       + $ )NTr   r   s      r   __ne__xmlCore.__ne__  s-    D=**477EHH=wr   c                 F    [         R                  " U R                  5      nU$ r#   )rm   nodeHashrL   r'   r_   s     r   __hash__xmlCore.__hash__  s    !!$''*
r   c                 "    U R                  5       $ r#   )	serializer,   s    r   r-   xmlCore.__str__"  s    ~~r   c                 f    [         R                  " U R                  5      nUS :X  a  g [        U5      $ r#   )rm   parentrL   nodeWrapr   s     r   
get_parentxmlCore.get_parent$  s*    ($;}r   c                 f    [         R                  " U R                  5      nUS :X  a  g [        U5      $ r#   )rm   childrenrL   r   r   s     r   get_childrenxmlCore.get_children)  s*    !!$''*$;}r   c                 f    [         R                  " U R                  5      nUS :X  a  g [        U5      $ r#   )rm   lastrL   r   r   s     r   get_lastxmlCore.get_last.  (    oodgg&$;}r   c                 f    [         R                  " U R                  5      nUS :X  a  g [        U5      $ r#   )rm   nextrL   r   r   s     r   get_nextxmlCore.get_next3  r  r   c                 b    [         R                  " U R                  5      nUS :X  a  g [        US9$ Nr   )rm   
propertiesrL   xmlAttrr   s     r   get_propertiesxmlCore.get_properties8  s+    ##DGG,$;C  r   c                 f    [         R                  " U R                  5      nUS :X  a  g [        U5      $ r#   )rm   prevrL   r   r   s     r   get_prevxmlCore.get_prev=  r  r   c                 B    [         R                  " U R                  5      $ r#   rm   xmlNodeGetContentrL   r,   s    r   get_contentxmlCore.get_contentB  s    ++DGG44r   c                 B    [         R                  " U R                  5      $ r#   )rm   r   rL   r,   s    r   get_namexmlCore.get_nameE      tww''r   c                 B    [         R                  " U R                  5      $ r#   )rm   r   rL   r,   s    r   get_typexmlCore.get_typeG  r  r   c                     [         R                  " U R                  5      nUS :X  a$  U R                  S;   a  [	        U R                  S9$ g [	        US9$ )N)document_xmldocument_htmlr  )rm   docrL   r   xmlDocr   s     r   get_docxmlCore.get_docI  sE    nnTWW%$;yy==477++3r   r      g@c                 j   US:X  a2  [         R                  " U R                  5      nUS :X  a  g [        U5      $ US:X  a0  [         R                  " U R                  5      nUS :X  a  g [        US9$ US:X  a2  [         R                  " U R                  5      nUS :X  a  g [        U5      $ US:X  a2  [         R                  " U R                  5      nUS :X  a  g [        U5      $ US:X  a2  [         R                  " U R                  5      nUS :X  a  g [        U5      $ US:X  a2  [         R                  " U R                  5      nUS :X  a  g [        U5      $ US:X  a   [         R                  " U R                  5      $ US	:X  a   [         R                  " U R                  5      $ US
:X  a   [         R                  " U R                  5      $ US:X  ac  [         R                  " U R                  5      nUS :X  a4  U R                  S:X  d  U R                  S:X  a  [        U R                  S9$ g [        US9$ [        U5      e)Nr   r  r  r   r  r  r  r   r   r   r#  r!  r"  )rm   r   rL   r   r  r  r   r  r  r  r  r   r   r#  r$  AttributeError)r'   attrr_   s      r   __getattr__xmlCore.__getattr__W  s   x ''0$;}$% ++DGG4$;C((# ))$''2$;}$ oodgg.$;}$ oodgg.$;}$ oodgg.$;}$"!33DGG<<!tww//!tww// nnTWW-$;yyN2dii?6R%47733#3'' &&r   zParent nodezFirst child nodezLast sibling nodezNext sibling nodezPrevious sibling nodezList of propertieszContent of this nodez	Node namez	Node typez!The document this node belongs toc                 D    [         R                  " U R                  X5      $ r#   )rm   serializeNoderL   )r'   encodingformats      r   r   xmlCore.serialize  s    ''BBr   c                 F    [         R                  " U R                  XU5      $ r#   )rm   
saveNodeTorL   )r'   r   r/  r0  s       r   saveToxmlCore.saveTo  s    $$TWWdfEEr   c                     U(       a  U Vs/ s H  oUR                   PM     nn[        R                  " U R                  5       R                   UUS:g  UUS:g  5      $ s  snf r   )rL   rm   xmlC14NDocDumpMemoryr%  )r'   nodes	exclusiveprefixeswith_commentsr   s         r   
c14nMemoryxmlCore.c14nMemory  sY    
 #()5aTT5E)..LLNNQ  	  *s   Ac                     U(       a  U Vs/ s H  ofR                   PM     nn[        R                  " U R                  5       R                   UUS:g  UUS:g  U5      $ s  snf r   )rL   rm   xmlC14NDocSaveTor%  )r'   r   r8  r9  r:  r;  r   s          r   
c14nSaveToxmlCore.c14nSaveTo  s\     #()5aTT5E)**LLNNQ 	 *s   Ac                     U R                   nUS :X  a  g UR                  5       nUR                  U 5        UR                  U5      nUR	                  5         U$ r#   )r#  xpathNewContextsetContextNode	xpathEvalxpathFreeContext)r'   exprr#  ctxtress        r   rE  xmlCore.xpathEval  sP    hh$;""$D!nnT"
r   c                 $    U R                  U5      $ r#   )rE  )r'   rG  s     r   
xpathEval2xmlCore.xpathEval2  s    ~~d##r   c                 b    [         R                  " U R                  U5      nUc  g[        US9nU$ )a  
Remove a namespace definition from a node.  If href is None,
remove all of the ns definitions on that node.  The removed
namespaces are returned as a linked list.

Note: If any child nodes referred to the removed namespaces,
they will be left with dangling links.  You should call
renconciliateNs() to fix those pointers.

Note: This method does not free memory taken by the ns
definitions.  You will need to free it manually with the
freeNsList() method on the returns xmlNs object.
Nr  )rm   xmlNodeRemoveNsDefrL   xmlNs)r'   hrefr_   _xmlCore__tmps       r   removeNsDefxmlCore.removeNsDef  s/     ++DGGT:;d3r   c                     [        U 5      $ r#   )xmlCoreDepthFirstItertorr,   s    r   walk_depth_firstxmlCore.walk_depth_first  s    '--r   c                     [        U 5      $ r#   )xmlCoreBreadthFirstItertorr,   s    r   walk_breadth_firstxmlCore.walk_breadth_first   s    )$//r   c                      U R                   R                  R                  5         [        R                  " U R
                  5        g !    N%= fr#   )r#  _ctxtrF  rm   
xmlFreeDocrL   r,   s    r   freexmlCore.free  s9    	HHNN++- 	dgg&	s   $A Arw   r#   r   )Nr   Nr   )/r   r   r	   r
   r(   r   r   r   r-   r   r   r  r  r  r  r  
getContentr  r  r%  r   floatversionr+  propertyr   r   r  r  r  r  r   r   r   r#  r   r4  r<  r@  rE  rL  rS  rW  r[  __iter__r`  r   r   r   r   r   r     ss   
 



!

5J((  S[[1$-	'^ *dD-@L$6HI$.AB$.AB$.EFndD:NO
;d4JK$k:$k:wd,OPCF"  !"	   !"(6$*.0H'r   r   c                   *    \ rS rSrS rS rS r\rSrg)rV    c                     Xl         / U l        g r#   nodeparentsr'   rk  s     r   r(   !xmlCoreDepthFirstItertor.__init__      	r   c                     U $ r#   r   r,   s    r   rf  !xmlCoreDepthFirstItertor.__iter__      r   c                 F    U R                   (       aN  U R                   nU R                  R                  U R                   5        U R                   R                  U l         U$  U R                  R	                  5       nUR                  U l         M  ! [
         a    [        ef = fr#   )rk  rl  appendr   pop
IndexErrorStopIterationr  r'   r_   r   s      r   __next__!xmlCoreDepthFirstItertor.__next__  s    yyii##DII. II..	
$))+ DI   $##$   "B B rj  N	r   r   r	   r
   r(   rf  ry  r  r   r   r   r   rV  rV    s    $ Dr   rV  c                   *    \ rS rSrS rS rS r\rSrg)rZ  i&  c                     Xl         / U l        g r#   rj  rm  s     r   r(   #xmlCoreBreadthFirstItertor.__init__'  ro  r   c                     U $ r#   r   r,   s    r   rf  #xmlCoreBreadthFirstItertor.__iter__*  rr  r   c                 F    U R                   (       aN  U R                   nU R                  R                  U R                   5        U R                   R                  U l         U$  U R                  R	                  5       nUR                  U l         M  ! [
         a    [        ef = fr#   )rk  rl  rt  r  ru  rv  rw  r   rx  s      r   ry  #xmlCoreBreadthFirstItertor.__next__,  s    yyii##DII. IINN	
$))+ DI   $##$r{  rj  Nr|  r   r   r   rZ  rZ  &  s    ( Dr   rZ  c                 B   [         R                  " U 5      nUS:X  d  US:X  a	  [        U S9$ US:X  a	  [        U S9$ USS S:X  a	  [	        U S9$ US:X  a	  [        U S9$ US	:X  a	  [        U S9$ US
:X  a	  [        U S9$ US:X  a	  [        U S9$ US:X  a	  [        U S9$ [        U S9$ )Nelementtextr  	attributer      document	namespace	elem_declattribute_declentity_decldtd)
rm   r   xmlNoder  r$  rP  
xmlElementxmlAttribute	xmlEntityxmlDtd)r   r   s     r   r   r   =  s    ??1DyDFNA{AAayJ1~{!}{q!!##}a  u}1~?r   c                 F   [        U 5      nU[        / 5      :X  a  [        [        [        U 5      5      nU$ U[        S5      :X  a$  [        [        [        U 5      5      n[	        U5      $ U[        S5      :X  d  U[        S5      :X  d  U[        S5      :X  a  U $ [        U 5      $ )Nr   ry   r   g        )r   listmapxpathObjectRettupler   )r   otyper_   s      r   r  r  R  s    GER3~q)*
	$r(	3~q)*Sz	$r(	etAw.%492D{r   c                 2    [         R                  " XX#5      ng r#   )rm   xmlRegisterXPathFunction)rH  r   ns_urifr_   s        r   registerXPathFunctionr  b  s    

-
-d&
DCr   r      r'     c                     SSK nSUR                  ;  a  [        R                  " X5      nU$ SSKnUR                  X5      nU$ )ziRegister a Python written function to for error reporting.
The function is called back as f(ctx, error). r   Nlibxslt)r   modulesrm   xmlRegisterErrorHandlerr  registerErrorHandler)r  ctxr   r_   r  s        r   r  r  x  sD     #007 J 	**11Jr   c                   6    \ rS rSrS	S jrS rS rS rS rSr	g)
parserCtxtCorei  Nc                 ,    US :w  a  Xl         g S U l         g r#   rw   rM   s     r   r(   parserCtxtCore.__init__  r   r   c                 r    U R                   S :w  a   [        R                  " U R                   5        S U l         g r#   rL   rm   xmlFreeParserCtxtr,   s    r   rr   parserCtxtCore.__del__  &    77d?((1r   c                 F    [         R                  " U R                  X5        g)zxRegister an error handler that will be called back as
f(arg,msg,severity,reserved).

@reserved is currently always None.N)rm   xmlParserCtxtSetErrorHandlerrL   r'   r  args      r   setErrorHandlerparserCtxtCore.setErrorHandler  s    
 	//>r   c                 B    [         R                  " U R                  5      $ )LReturn (f,arg) as previously registered with setErrorHandler
or (None,None).)rm   xmlParserCtxtGetErrorHandlerrL   r,   s    r   getErrorHandlerparserCtxtCore.getErrorHandler  s     66tww??r   c                 D    [         R                  " U R                  U5      $ )z(Register a local catalog with the parser)rm   addLocalCatalogrL   r'   uris     r   r  parserCtxtCore.addLocalCatalog  s    ))$''377r   rw   r#   )
r   r   r	   r
   r(   rr   r  r  r  r   r   r   r   r  r    s    
?@
8r   r  c                   $    \ rS rSrS rSS jrSrg)ValidCtxtCorei  c                     g r#   r   r'   argskws      r   r(   ValidCtxtCore.__init__      r   Nc                 H    [         R                  " U R                  XU5        g)za
Register error and warning handlers for DTD validation.
These will be called back as f(msg,arg)
N)rm   xmlSetValidErrorsrL   r'   err_func	warn_funcr  s       r   setValidityErrorHandler%ValidCtxtCore.setValidityErrorHandler  s    
 	$$TWWh3Gr   r   r#   r   r   r	   r
   r(   r  r   r   r   r   r  r    s    Hr   r  c                   $    \ rS rSrS rSS jrSrg)SchemaValidCtxtCorei  c                     g r#   r   r  s      r   r(   SchemaValidCtxtCore.__init__  r  r   Nc                 H    [         R                  " U R                  XU5        g)zd
Register error and warning handlers for Schema validation.
These will be called back as f(msg,arg)
N)rm   xmlSchemaSetValidErrorsrL   r  s       r   r  +SchemaValidCtxtCore.setValidityErrorHandler  s    
 	**477HMr   r   r#   r  r   r   r   r  r    s    Nr   r  c                   $    \ rS rSrS rSS jrSrg)relaxNgValidCtxtCorei  c                     g r#   r   r  s      r   r(   relaxNgValidCtxtCore.__init__  r  r   Nc                 H    [         R                  " U R                  XU5        g)ze
Register error and warning handlers for RelaxNG validation.
These will be called back as f(msg,arg)
N)rm   xmlRelaxNGSetValidErrorsrL   r  s       r   r  ,relaxNgValidCtxtCore.setValidityErrorHandler  s    
 	++DGGX#Nr   r   r#   r  r   r   r   r  r    s    Or   r  c                 0    U u  pEU" XQU[        U5      5      $ )z)Intermediate callback to wrap the locator)xmlTextReaderLocator)xxx_todo_changemer%   severitylocatorr  r  s         r   _xmlTextReaderErrorFuncr    s    GQSX27;<<r   c                   0    \ rS rSrSS jrS rS rS rSrg)	xmlTextReaderCorei  Nc                 :    S U l         US :w  a  Xl        g S U l        g r#   )inputrL   rM   s     r   r(   xmlTextReaderCore.__init__  s    
4<$vr   c                 r    U R                   S :w  a   [        R                  " U R                   5        S U l         g r#   rL   rm   xmlFreeTextReaderr,   s    r   rr   xmlTextReaderCore.__del__  r  r   c                     Uc#  [         R                  " U R                  SS5        g[         R                  " U R                  [        X45        g)zRRegister an error handler that will be called back as
f(arg,msg,severity,locator).N)rm   xmlTextReaderSetErrorHandlerrL   r  r  s      r   SetErrorHandler!xmlTextReaderCore.SetErrorHandler  s@     933T# 33/9r   c                 R    [         R                  " U R                  5      u  pUc  gU$ )r  )NN)rm   xmlTextReaderGetErrorHandlerrL   r  s      r   GetErrorHandler!xmlTextReaderCore.GetErrorHandler  s)     77@9 Jr   rL   r  r#   )	r   r   r	   r
   r(   rr   r  r  r   r   r   r   r  r    s    

9r   r  c                  .    [         R                  " 5         g r#   rm   xmlPythonCleanupParserr   r   r   cleanupParserr    s    %%'r   c                 `    S n[         R                  " U5        [        R                  U 5        g )Nc                 N    [        [        5       H  nU" U 5      nUc  M  Us  $    g r#   )reversed__input_callbacks)URIcbr   s      r   findOpenCallback/registerInputCallback.<locals>.findOpenCallback  s%    ,-B3A} .r   )rm   xmlRegisterInputCallbackr  rt  )funcr   s     r   registerInputCallbackr    s&    
 ''(89T"r   c                      [        [        5      S:  a  [        R                  5         [        [        5      S:X  a  [        R                  " 5         g g r   )r^   r  ru  rm   xmlUnregisterInputCallbackr   r   r   popInputCallbacksr    s=     !
"--/ #r   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )z8Create a parser context for an HTML in-memory document. z#htmlCreateMemoryParserCtxt() failedr  )rm   htmlCreateMemoryParserCtxtr3   
parserCtxtbuffersizer_   s      r   r	  r	    s-    

/
/
=C
{%JKK3r   c                 2    [         R                  " U 5      nU$ )zBSet and return the previous value for handling HTML omitted
tags. )rm   htmlHandleOmittedElemvalr_   s     r   r  r    s     
*
*3
/CJr   c                 2    [         R                  " U 5      nU$ )z0Check if an attribute is of content type Script )rm   htmlIsScriptAttributer   r_   s     r   r  r  %  s    

*
*4
0CJr   c                  Z    [         R                  " 5       n U c  [        S5      e[        U S9$ ).Allocate and initialize a new parser context. zhtmlNewParserCtxt() failedr  )rm   htmlNewParserCtxtr3   r
  r_   s    r   r  r  *  s+    

&
&
(C
{%ABB3r   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )z3parse an HTML in-memory document and build a tree. zhtmlParseDoc() failedr  )rm   htmlParseDocr3   r$  )curr/  r_   s      r   r  r  0  s-    

!
!#
0C
{%<==sr   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )zparse an HTML file and build a tree. Automatic support for
ZLIB/Compress compressed document is provided by default if
 found at compile-time. zhtmlParseFile() failedr  )rm   htmlParseFiler3   r$  filenamer/  r_   s      r   r  r  6  s/     
"
"8
6C
{%=>>sr   c                 ^    [         R                  " XX#5      nUc  [        S5      e[        US9$ )2parse an XML in-memory document and build a tree. zhtmlReadDoc() failedr  )rm   htmlReadDocr    r$  r  URLr/  optionsr_   s        r   r"  r"  >  s/    

 
 8
=C
{#9::sr   c                 ^    [         R                  " XX#5      nUc  [        S5      e[        US9$ )zparse an HTML from a file descriptor and build a tree. NOTE
that the file descriptor will not be closed when the reader
 is closed or reset. zhtmlReadFd() failedr  )rm   
htmlReadFdr    r$  fdr$  r/  r%  r_   s        r   r'  r'  D  s1     


;C
{#899sr   c                 ^    [         R                  " XU5      nUc  [        S5      e[        US9$ )6parse an XML file from the filesystem or the network. zhtmlReadFile() failedr  )rm   htmlReadFiler    r$  r  r/  r%  r_   s       r   r,  r,  L  s/    

!
!(g
>C
{#:;;sr   c                 `    [         R                  " XX#U5      nUc  [        S5      e[        US9$ )r!  zhtmlReadMemory() failedr  )rm   htmlReadMemoryr    r$  r  r  r$  r/  r%  r_   s         r   r/  r/  R  s1    

#
#F#
IC
{#<==sr   c                 2    [         R                  " U 5      nU$ )z7Determine if a given attribute is a boolean attribute. )rm   htmlIsBooleanAttrr  s     r   r2  r2  \      

&
&t
,CJr   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )zCreates a new HTML document zhtmlNewDoc() failedr  )rm   
htmlNewDocr    r$  r  
ExternalIDr_   s      r   r5  r5  a  s-    



0C
{#899sr   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )zPCreates a new HTML document without a DTD node if @URI and
@ExternalID are None zhtmlNewDocNoDtD() failedr  )rm   htmlNewDocNoDtDr    r$  r6  s      r   r9  r9  g  s/     
$
$S
5C
{#=>>sr   c                 2    [         R                  " U 5      nU$ )zSet the default version of SAX used globally by the
library. By default, during initialization the default is
set to 2. Note that it is generally a better coding style
to use xmlSAXVersion() to set up the version explicitly for
 a given parsing context. )rm   xmlSAXDefaultVersionrd  r_   s     r   SAXDefaultVersionr=  r  s     
)
)'
2CJr   c                  .    [         R                  " 5         g)z$Initialize the default SAX2 handler N)rm   xmlDefaultSAXHandlerInitr   r   r   defaultSAXHandlerInitr@  {  s    '')r   c                  .    [         R                  " 5         gz#Initialize the default SAX handler N)rm   docbDefaultSAXHandlerInitr   r   r   rC  rC        ((*r   c                  .    [         R                  " 5         grB  )rm   htmlDefaultSAXHandlerInitr   r   r   rF  rF    rD  r   c                 4    [         R                  " XU5      nU$ )zAdd an entry in the catalog, it may overwrite existing but
different entries. If called before any other catalog
routine, allows to override the default shared catalog put
 in place by xmlInitializeCatalog(); )rm   xmlCatalogAdd)r   origreplacer_   s       r   
catalogAddrK    s    
 
"
"4w
7CJr   c                  .    [         R                  " 5         g)z0Free up all the memory associated with catalogs N)rm   xmlCatalogCleanupr   r   r   catalogCleanuprN          "r   c                  0    [         R                  " 5       n U $ z1Convert all the SGML catalog entries as XML ones )rm   xmlCatalogConvertr  s    r   catalogConvertrS    s    

&
&
(CJr   c                 V    U b  U R                  5         [        R                  " U 5        g)z7Dump all the global catalog content to the given file. N)rV   rm   xmlCatalogDump)outs    r   catalogDumprW    s    
		c"r   c                 2    [         R                  " U 5      nU$ )zhTry to lookup the catalog reference associated to a public
ID DEPRECATED, use xmlCatalogResolvePublic() )rm   xmlCatalogGetPublicpubIDr_   s     r   catalogGetPublicr\         
(
(
/CJr   c                 2    [         R                  " U 5      nU$ )zhTry to lookup the catalog reference associated to a system
ID DEPRECATED, use xmlCatalogResolveSystem() )rm   xmlCatalogGetSystemsysIDr_   s     r   catalogGetSystemrb    r]  r   c                 2    [         R                  " U 5      nU$ z!Remove an entry from the catalog )rm   xmlCatalogRemovevaluer_   s     r   catalogRemoverh    s    

%
%e
,CJr   c                 2    [         R                  " X5      nU$ z:Do a complete resolution lookup of an External Identifier )rm   xmlCatalogResolve)r[  ra  r_   s      r   catalogResolverl        

&
&u
4CJr   c                 2    [         R                  " U 5      nU$ )z>Try to lookup the catalog reference associated to a public
ID )rm   xmlCatalogResolvePublicrZ  s     r   catalogResolvePublicrp         
,
,U
3CJr   c                 2    [         R                  " U 5      nU$ z3Try to lookup the catalog resource for a system ID )rm   xmlCatalogResolveSystemr`  s     r   catalogResolveSystemru        

,
,U
3CJr   c                 2    [         R                  " U 5      nU$ z*Do a complete resolution lookup of an URI )rm   xmlCatalogResolveURIr  r_   s     r   catalogResolveURIr{    s    

)
)#
.CJr   c                 2    [         R                  " U 5      nU$ )zTUsed to set the debug level for catalog operation, 0
disable debugging, 1 enable it )rm   xmlCatalogSetDebug)levelr_   s     r   catalogSetDebugr    s     
'
'
.CJr   c                  .    [         R                  " 5         g)zDo the catalog initialization. this function is not thread
safe, catalog initialization should preferably be done once
 at startup N)rm   xmlInitializeCatalogr   r   r   initializeCatalogr    s     ##%r   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )zLoad the catalog and build the associated data structures.
This can be either an XML Catalog or an SGML Catalog It
will recurse in SGML CATALOG entries. On the other hand XML
 Catalogs are not handled recursively. zxmlLoadACatalog() failedr  )rm   xmlLoadACatalogr    catalogr  r_   s     r   loadACatalogr    s/    
 
$
$X
.C
{#=>>r   c                 2    [         R                  " U 5      nU$ )zLoad the catalog and makes its definitions effective for
the default external entity loader. It will recurse in SGML
CATALOG entries. this function is not thread safe, catalog
 initialization should preferably be done once at startup )rm   xmlLoadCatalogr  s     r   loadCatalogr    s    
 
#
#H
-CJr   c                 0    [         R                  " U 5        g)zLoad the catalogs and makes their definitions effective for
the default external entity loader. this function is not
thread safe, catalog initialization should preferably be
 done once at startup N)rm   xmlLoadCatalogs)pathsss    r   loadCatalogsr    s    
 v&r   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )zLoad an SGML super catalog. It won't expand CATALOG or
DELEGATE references. This is only needed for manipulating
SGML Super Catalogs like adding and removing CATALOG or
 DELEGATE entries. z xmlLoadSGMLSuperCatalog() failedr  )rm   xmlLoadSGMLSuperCatalogr    r  r  s     r   loadSGMLSuperCatalogr    s/    
 
,
,X
6C
{#EFFr   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )zcreate a new Catalog. zxmlNewCatalog() failedr  )rm   xmlNewCatalogr    r  )sgmlr_   s     r   
newCatalogr    s-    

"
"4
(C
{#;<<r   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )zcparse an XML file and build a tree. It's like
xmlParseFile() except it bypass all catalog lookups. zxmlParseCatalogFile() failedr  )rm   xmlParseCatalogFiler3   r$  r  s     r   parseCatalogFiler    s/     
(
(
2C
{%CDDsr   c                 2    [         R                  " U 5      nU$ )zLThis function is DEPRECATED. Use xmlIsBaseChar_ch or
xmlIsBaseCharQ instead )rm   xmlIsBaseCharchr_   s     r   
isBaseCharr         
"
"2
&CJr   c                 2    [         R                  " U 5      nU$ )zFThis function is DEPRECATED. Use xmlIsBlank_ch or
xmlIsBlankQ instead )rm   
xmlIsBlankr  s     r   isBlankr         


#CJr   c                 2    [         R                  " U 5      nU$ )zDThis function is DEPRECATED. Use xmlIsChar_ch or xmlIsCharQ
instead )rm   	xmlIsCharr  s     r   isCharr    s     

r
"CJr   c                 2    [         R                  " U 5      nU$ )z9This function is DEPRECATED. Use xmlIsCombiningQ instead )rm   xmlIsCombiningr  s     r   isCombiningr    s    

#
#B
'CJr   c                 2    [         R                  " U 5      nU$ )zFThis function is DEPRECATED. Use xmlIsDigit_ch or
xmlIsDigitQ instead )rm   
xmlIsDigitr  s     r   isDigitr    r  r   c                 2    [         R                  " U 5      nU$ )zLThis function is DEPRECATED. Use xmlIsExtender_ch or
xmlIsExtenderQ instead )rm   xmlIsExtenderr  s     r   
isExtenderr  "  r  r   c                 2    [         R                  " U 5      nU$ )z;This function is DEPRECATED. Use xmlIsIdeographicQ instead )rm   xmlIsIdeographicr  s     r   isIdeographicr  (  s    

%
%b
)CJr   c                 2    [         R                  " U 5      nU$ )zNThis function is DEPRECATED. Use xmlIsPubidChar_ch or
xmlIsPubidCharQ instead )rm   xmlIsPubidCharr  s     r   isPubidCharr  -  s     
#
#B
'CJr   c                 2    [         R                  " U 5      nU$ )z&Convenient way to turn bool into text )rm   xmlBoolToText)boolvalr_   s     r   
boolToTextr  7  s    

"
"7
+CJr   c                 V    U b  U R                  5         [        R                  " X5        g)z<Dumps information about the string, shorten it if necessary N)rV   rm   xmlDebugDumpString)outputre   s     r   debugDumpStringr  <  s    6<<>!!&.r   c                 0    [         R                  " X5        g)z6Print the xpath error to libxml default error channel N)rm   xmlShellPrintXPathError)	errorTyper  s     r   shellPrintXPathErrorr  A  s    &&y6r   c                  .    [         R                  " 5         g)zWFree the dictionary mutex. Do not call unless sure the
library is not in use anymore ! N)rm   xmlDictCleanupr   r   r   dictCleanupr  I       r   c                  0    [         R                  " 5       n U $ )zDDo the dictionary mutex initialization. this function is
deprecated )rm   xmlInitializeDictr  s    r   initializeDictr  N  s     
&
&
(CJr   c                 2    [         R                  " X5      nU$ )z[Registers an alias @alias for an encoding named @name.
Existing alias will be overwritten. )rm   xmlAddEncodingAlias)r   aliasr_   s      r   addEncodingAliasr  X  s     
(
(
5CJr   c                  .    [         R                  " 5         g)zvCleanup the memory allocated for the char encoding support,
it unregisters all the encoding handlers and the aliases. N)rm   xmlCleanupCharEncodingHandlersr   r   r   cleanupCharEncodingHandlersr  ^  s     --/r   c                  .    [         R                  " 5         g)zUnregisters all aliases N)rm   xmlCleanupEncodingAliasesr   r   r   cleanupEncodingAliasesr  c  rD  r   c                 2    [         R                  " U 5      nU$ )z%Unregisters an encoding alias @alias )rm   xmlDelEncodingAliasr  r_   s     r   delEncodingAliasr  g      

(
(
/CJr   c                 2    [         R                  " U 5      nU$ )z-Lookup an encoding name for the given alias. )rm   xmlGetEncodingAliasr  s     r   encodingAliasr  l  r  r   c                  .    [         R                  " 5         g)zInitialize the char encoding support, it registers the
default encoding supported. NOTE: while public, this
function usually doesn't need to be called in normal
 processing. N)rm   xmlInitCharEncodingHandlersr   r   r   initCharEncodingHandlersr  q  s    
 **,r   c                  .    [         R                  " 5         g)z:Cleanup up the predefined entities table. Deprecated call N)rm   xmlCleanupPredefinedEntitiesr   r   r   cleanupPredefinedEntitiesr  |  s    ++-r   c                  .    [         R                  " 5         g)z0Set up the predefined entities. Deprecated call N)rm   xmlInitializePredefinedEntitiesr   r   r   initializePredefinedEntitiesr    s    ..0r   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )z1Check whether this name is an predefined entity. zxmlGetPredefinedEntity() failedr  )rm   xmlGetPredefinedEntityr    r  r  s     r   predefinedEntityr    s-    

+
+D
1C
{#DEE#r   c                  .    [         R                  " 5         g)z'Additional cleanup for multi-threading N)rm   xmlCleanupGlobalsr   r   r   cleanupGlobalsr    rO  r   c                  .    [         R                  " 5         g)z.Additional initialisation for multi-threading N)rm   xmlInitGlobalsr   r   r   initGlobalsr    s    r   c                 2    [         R                  " U 5      nU$ r#   )rm   xmlThrDefDefaultBufferSizevr_   s     r   thrDefDefaultBufferSizer    s    

/
/
2CJr   c                 2    [         R                  " U 5      nU$ r#   )rm   'xmlThrDefDoValidityCheckingDefaultValuer  s     r   $thrDefDoValidityCheckingDefaultValuer        

<
<Q
?CJr   c                 2    [         R                  " U 5      nU$ r#   )rm    xmlThrDefGetWarningsDefaultValuer  s     r   thrDefGetWarningsDefaultValuer        

5
5a
8CJr   c                 2    [         R                  " U 5      nU$ r#   )rm   xmlThrDefIndentTreeOutputr  s     r   thrDefIndentTreeOutputr        

.
.q
1CJr   c                 2    [         R                  " U 5      nU$ r#   )rm   xmlThrDefKeepBlanksDefaultValuer  s     r   thrDefKeepBlanksDefaultValuer        

4
4Q
7CJr   c                 2    [         R                  " U 5      nU$ r#   )rm    xmlThrDefLineNumbersDefaultValuer  s     r   thrDefLineNumbersDefaultValuer    r  r   c                 2    [         R                  " U 5      nU$ r#   )rm   xmlThrDefLoadExtDtdDefaultValuer  s     r   thrDefLoadExtDtdDefaultValuer    r   r   c                 2    [         R                  " U 5      nU$ r#   )rm   xmlThrDefParserDebugEntitiesr  s     r   thrDefParserDebugEntitiesr	    s    

1
1!
4CJr   c                 2    [         R                  " U 5      nU$ r#   )rm   #xmlThrDefPedanticParserDefaultValuer  s     r    thrDefPedanticParserDefaultValuer    s    

8
8
;CJr   c                 2    [         R                  " U 5      nU$ r#   )rm   xmlThrDefSaveNoEmptyTagsr  s     r   thrDefSaveNoEmptyTagsr    s    

-
-a
0CJr   c                 2    [         R                  " U 5      nU$ r#   )rm   'xmlThrDefSubstituteEntitiesDefaultValuer  s     r   $thrDefSubstituteEntitiesDefaultValuer    r  r   c                 2    [         R                  " U 5      nU$ r#   )rm   xmlThrDefTreeIndentStringr  s     r   thrDefTreeIndentStringr    r  r   c                  .    [         R                  " 5         g)z@Cleanup the FTP protocol layer. This cleanup proxy
information. N)rm   xmlNanoFTPCleanupr   r   r   nanoFTPCleanupr           "r   c                  .    [         R                  " 5         g)zhInitialize the FTP protocol layer. Currently it just checks
for proxy information, and get the hostname N)rm   xmlNanoFTPInitr   r   r   nanoFTPInitr    r  r   c                 4    [         R                  " XX#U5        g)zSetup the FTP proxy information. This can also be done by
using ftp_proxy ftp_proxy_user and ftp_proxy_password
 environment variables. N)rm   xmlNanoFTPProxy)hostportuserpasswdr   s        r   nanoFTPProxyr#    s     t4>r   c                 0    [         R                  " U 5        g)z(Re)Initialize the FTP Proxy context by parsing the URL and
finding the protocol host port it indicates. Should be like
ftp://myproxy/ or ftp://myproxy:3128/ A None URL cleans up
 proxy information. N)rm   xmlNanoFTPScanProxyr$  s    r   nanoFTPScanProxyr'    s    
 ""3'r   c                  .    [         R                  " 5         g)z!Cleanup the HTTP protocol layer. N)rm   xmlNanoHTTPCleanupr   r   r   nanoHTTPCleanupr*        !!#r   c                  .    [         R                  " 5         g)zSInitialize the HTTP protocol layer. Currently it just
checks for proxy information N)rm   xmlNanoHTTPInitr   r   r   nanoHTTPInitr.    s      r   c                 0    [         R                  " U 5        g)z(Re)Initialize the HTTP Proxy context by parsing the URL
and finding the protocol host port it indicates. Should be
like http://myproxy/ or http://myproxy:3128/ A None URL
 cleans up proxy information. N)rm   xmlNanoHTTPScanProxyr&  s    r   nanoHTTPScanProxyr1    s    
 ##C(r   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )z8Creates a parser context for an XML in-memory document. zxmlCreateDocParserCtxt() failedr  )rm   xmlCreateDocParserCtxtr3   r
  r  r_   s     r   createDocParserCtxtr5    s-    

+
+C
0C
{%FGG3r   c                  .    [         R                  " 5         g)zInitialization function for the XML parser. This is not
reentrant. Call once before processing in case of use in
 multithreaded programs. N)rm   xmlInitParserr   r   r   
initParserr8    s     r   c                 2    [         R                  " U 5      nU$ )a  Set and return the previous value for default blanks text
nodes support. The 1.x version of the parser used an
heuristic to try to detect ignorable white spaces. As a
result the SAX callback was generating
xmlSAX2IgnorableWhitespace() callbacks instead of
characters() one, and when using the DOM output text nodes
containing those blanks were not generated. The 2.x and
later version will switch to the XML standard way and
ignorableWhitespace() are only generated when running the
parser in validating mode and when the current element
doesn't allow CDATA or mixed content. This function is
provided as a way to force the standard behavior on 1.X
libs and to switch back to the old mode for compatibility
when running 1.X client code on 2.X . Upgrade of 1.X code
should be done by using xmlIsBlankNode() commodity function
to detect the "empty" nodes generated. This value also
affect autogeneration of indentation when saving code if
 blanks sections are kept, indentation is not generated. )rm   xmlKeepBlanksDefaultr  s     r   keepBlanksDefaultr;    s    & 
)
)#
.CJr   c                 2    [         R                  " U 5      nU$ )zSet and return the previous value for enabling line numbers
in elements contents. This may break on old application and
 is turned off by default. )rm   xmlLineNumbersDefaultr  s     r   lineNumbersDefaultr>    s     
*
*3
/CJr   c                  Z    [         R                  " 5       n U c  [        S5      e[        U S9$ )r  zxmlNewParserCtxt() failedr  )rm   xmlNewParserCtxtr3   r
  r  s    r   newParserCtxtrA  "  s+    

%
%
'C
{%@AA3r   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )z#Load and parse an external subset. zxmlParseDTD() failedr  )rm   xmlParseDTDr3   r  )r7  SystemIDr_   s      r   parseDTDrE  (  s-    

 
 
6C
{%;<<sr   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )r!  zxmlParseDoc() failedr  )rm   xmlParseDocr3   r$  r4  s     r   parseDocrH  .  s-    

 
 
%C
{%;<<sr   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )zparse an XML external entity out of context and build a
tree.  [78] extParsedEnt ::= TextDecl? content  This
 correspond to a "Well Balanced" chunk zxmlParseEntity() failedr  )rm   xmlParseEntityr3   r$  r  s     r   parseEntityrK  4  s/     
#
#H
-C
{%>??sr   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )zparse an XML file and build a tree. Automatic support for
ZLIB/Compress compressed document is provided by default if
 found at compile-time. zxmlParseFile() failedr  )rm   xmlParseFiler3   r$  r  s     r   	parseFilerN  <  s/     
!
!(
+C
{%<==sr   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )z/parse an XML in-memory block and build a tree. zxmlParseMemory() failedr  )rm   xmlParseMemoryr3   r$  r  s      r   parseMemoryrQ  D  s-    

#
#F
1C
{%>??sr   c                 2    [         R                  " U 5      nU$ )zBSet and return the previous value for enabling pedantic
warnings. )rm   xmlPedanticParserDefaultr  s     r   pedanticParserDefaultrT  J  s     
-
-c
2CJr   c                 ^    [         R                  " XX#5      nUc  [        S5      e[        US9$ )r!  zxmlReadDoc() failedr  )rm   
xmlReadDocr    r$  r#  s        r   readDocrW  P  s/    


(
<C
{#899sr   c                 ^    [         R                  " XX#5      nUc  [        S5      e[        US9$ )zparse an XML from a file descriptor and build a tree. NOTE
that the file descriptor will not be closed when the reader
 is closed or reset. zxmlReadFd() failedr  )rm   	xmlReadFdr    r$  r(  s        r   readFdrZ  V  s1     

r
:C
{#788sr   c                 ^    [         R                  " XU5      nUc  [        S5      e[        US9$ )r+  zxmlReadFile() failedr  )rm   xmlReadFiler    r$  r-  s       r   readFiler]  ^  s/    

 
 W
=C
{#9::sr   c                 `    [         R                  " XX#U5      nUc  [        S5      e[        US9$ )r!  zxmlReadMemory() failedr  )rm   xmlReadMemoryr    r$  r0  s         r   
readMemoryr`  d  s1    

"
"6
HC
{#;<<sr   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )zparse an XML in-memory document and build a tree. In the
case the document is not Well Formed, a attempt to build a
 tree is tried anyway zxmlRecoverDoc() failedr  )rm   xmlRecoverDocr    r$  r4  s     r   
recoverDocrc  j  s/     
"
"3
'C
{#;<<sr   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )zparse an XML file and build a tree. Automatic support for
ZLIB/Compress compressed document is provided by default if
found at compile-time. In the case the document is not Well
 Formed, it attempts to build a tree anyway zxmlRecoverFile() failedr  )rm   xmlRecoverFiler    r$  r  s     r   recoverFilerf  r  s/    
 
#
#H
-C
{#<==sr   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )zparse an XML in-memory block and build a tree. In the case
the document is not Well Formed, an attempt to build a tree
 is tried anyway zxmlRecoverMemory() failedr  )rm   xmlRecoverMemoryr    r$  r  s      r   recoverMemoryri  {  s/     
%
%f
3C
{#>??sr   c                 2    [         R                  " U 5      nU$ )a>  Set and return the previous value for default entity
support. Initially the parser always keep entity references
instead of substituting entity values in the output. This
function has to be used to change the default parser
behavior SAX::substituteEntities() has to be used for
 changing that on a file by file basis. )rm   xmlSubstituteEntitiesDefaultr  s     r   substituteEntitiesDefaultrl    s     
1
1#
6CJr   c                 2    [         R                  " U 5      nU$ )a  Checks that the value conforms to the LanguageID
production:  NOTE: this is somewhat deprecated, those
productions were removed from the XML Second edition.  [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])+  The
current REC reference the successors of RFC 1766, currently
5646  http://www.rfc-editor.org/rfc/rfc5646.txt langtag    
= language ["-" script] ["-" region] *("-" variant) *("-"
extension) ["-" privateuse] language      = 2*3ALPHA       
; shortest ISO 639 code ["-" extlang]       ; sometimes
followed by ; extended language subtags / 4ALPHA           
; or reserved for future use / 5*8ALPHA            ; or
registered language subtag  extlang       = 3ALPHA         
; selected ISO 639 codes *2("-" 3ALPHA)      ; permanently
reserved  script        = 4ALPHA              ; ISO 15924
code  region        = 2ALPHA              ; ISO 3166-1 code
/ 3DIGIT              ; UN M.49 code  variant       =
5*8alphanum         ; registered variants / (DIGIT
3alphanum)  extension     = singleton 1*("-" (2*8alphanum))
; Single alphanumerics ; "x" reserved for private use
singleton     = DIGIT               ; 0 - 9 / %x41-57      
; A - W / %x59-5A             ; Y - Z / %x61-77            
; a - w / %x79-7A             ; y - z  it sounds right to
still allow Irregular i-xxx IANA and user codes too The
parser below doesn't try to cope with extension or
privateuse that could be added but that's not interoperable
 anyway )rm   xmlCheckLanguageID)langr_   s     r   checkLanguageIDrp    s    > 
'
'
-CJr   c                 4    [         R                  " XU5      nU$ z#append the char value in the array )rm   xmlCopyChar)r^   rV  r  r_   s       r   copyCharrt    s    

 
 3
/CJr   c                 2    [         R                  " X5      nU$ rr  )rm   xmlCopyCharMultiByte)rV  r  r_   s      r   copyCharMultiByterw    s    

)
)#
3CJr   c                 ^    [         R                  " XU5      nUc  [        S5      e[        US9$ )zCreate a parser context for an external entity Automatic
support for ZLIB/Compress compressed document is provided
 by default if found at compile-time. z"xmlCreateEntityParserCtxt() failedr  )rm   xmlCreateEntityParserCtxtr3   r
  )r$  IDbaser_   s       r   createEntityParserCtxtr|    s1     
.
.s
=C
{%IJJ3r   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )Create a parser context for a file content. Automatic
support for ZLIB/Compress compressed document is provided
 by default if found at compile-time. z xmlCreateFileParserCtxt() failedr  )rm   xmlCreateFileParserCtxtr3   r
  r  s     r   createFileParserCtxtr    s/     
,
,X
6C
{%GHH3r   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )z7Create a parser context for an XML in-memory document. z"xmlCreateMemoryParserCtxt() failedr  )rm   xmlCreateMemoryParserCtxtr3   r
  r  s      r   createMemoryParserCtxtr    s-    

.
.v
<C
{%IJJ3r   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )zCreate a parser context for a file or URL content.
Automatic support for ZLIB/Compress compressed document is
provided by default if found at compile-time and for file
 accesses zxmlCreateURLParserCtxt() failedr  )rm   xmlCreateURLParserCtxtr3   r
  )r  r%  r_   s      r   createURLParserCtxtr    s/    
 
+
+H
>C
{%FGG3r   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )r~  z!htmlCreateFileParserCtxt() failedr  )rm   htmlCreateFileParserCtxtr3   r
  r  s      r   r  r    s/     
-
-h
AC
{%HII3r   c                  .    [         R                  " 5         g)zThis is a no-op now. N)rm   htmlInitAutoCloser   r   r   r  r    rO  r   c                 2    [         R                  " U 5      nU$ )z`Check whether the character is allowed by the production
[84] Letter ::= BaseChar | Ideographic )rm   xmlIsLetter)cr_   s     r   isLetterr    s     
 
 
#CJr   c                 V    U c  SnOU R                   n[        R                  " U5      nU$ )z.Pops the top element name from the name stack N)rL   rm   namePoprH  ctxt__or_   s      r   r  r    s)    |tWGG'


W
%CJr   c                 V    U c  SnOU R                   n[        R                  " X!5      nU$ )z3Pushes a new element name on top of the name stack N)rL   rm   namePush)rH  rg  r  r_   s       r   r  r    s)    |tWGG'


g
-CJr   c                     U c  SnOU R                   n[        R                  " U5      nUc  [        S5      e[	        US9$ )z.Pops the top element node from the node stack NznodePop() failedr  )rL   rm   nodePopr    r  r  s      r   r  r    s?    |tWGG'


W
%C
{#566r   c                 z    U c  SnOU R                   nUc  SnOUR                   n[        R                  " X#5      nU$ )z3Pushes a new element node on top of the node stack N)rL   rm   nodePush)rH  rg  r  value__or_   s        r   r  r    s;    |tWGG'}hXX(


g
0CJr   c                 2    [         R                  " XU5        g)zfInterface to parse an XML file or resource pointed by an
URI to build an event flow to the SAX object N)rm   xmlSAXParseFile)SAXr  recovers      r   SAXParseFiler    s     s1r   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )z1Create a libxml2 input buffer from a Python file zxmlCreateInputBuffer() failedr  )rm   rn   r    inputBufferr   r/  r_   s      r   createInputBufferr    s-    

)
)$
9C
{#BCCC  r   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )z2Create a libxml2 output buffer from a Python file zxmlCreateOutputBuffer() failedr  )rm   xmlCreateOutputBufferr    outputBufferr  s      r   createOutputBufferr    s-    

*
*4
:C
{#CDDS!!r   c                 ^    [         R                  " XX#5      nUc  [        S5      e[        US9$ )zCreate a progressive XML parser context to build either an
event flow if the SAX object is not None, or a DOM tree
 otherwise. zxmlCreatePushParser() failedr  )rm   xmlCreatePushParserr3   r
  r  chunkr  r  r_   s        r   createPushParserr  "  s1     
(
(T
?C
{%CDD3r   c                 2    [         R                  " U 5      nU$ )zSwitch on the generation of line number for elements nodes.
Also returns the number of bytes allocated and not freed by
 libxml2 since memory debugging was switched on. )rm   xmlDebugMemory)activater_   s     r   debugMemoryr  *  s     
#
#H
-CJr   c                  .    [         R                  " 5         g)z/dump the memory allocated in the file .memdump N)rm   xmlDumpMemoryr   r   r   
dumpMemoryr  1  s    r   c                 ^    [         R                  " XX#5      nUc  [        S5      e[        US9$ )zCreate a progressive HTML parser context to build either an
event flow if the SAX object is not None, or a DOM tree
 otherwise. zhtmlCreatePushParser() failedr  )rm   htmlCreatePushParserr3   r
  r  s        r   r  r  5  s1     
)
)#d
@C
{%DEE3r   c                 2    [         R                  " XU5        g)zgInterface to parse an HTML file or resource pointed by an
URI to build an event flow to the SAX object N)rm   htmlSAXParseFile)r  r  r/  s      r   r  r  =  s     (3r   c                  0    [         R                  " 5       n U $ )z8Returns the total amount of memory allocated by libxml2 )rm   xmlMemoryUsedr  s    r   
memoryUsedr  B  s    

"
"
$CJr   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )zCreate a new Node zxmlNewNode() failedr  )rm   
xmlNewNoder    r  r  s     r   newNoder  G  s-    



%C
{#899r   c                  .    [         R                  " 5         g)an  Cleanup function for the XML library. It tries to reclaim
all parsing related global memory allocated for the library
processing. It doesn't deallocate any document related
memory. Calling this function should not prevent reusing
the library but one should call xmlCleanupParser() only
when the process has finished using the library or XML
 document built with it. Nr  r   r   r   pythonCleanupParserr  M  s     %%'r   c                 2    [         R                  " U 5      nU$ )z-Set the entity resolver as a python function )rm   xmlSetEntityLoader)resolverr_   s     r   setEntityLoaderr  W  s    

'
'
1CJr   c                  .    [         R                  " 5         g)z?Cleanup the default Schemas type library associated to
RelaxNG N)rm   xmlRelaxNGCleanupTypesr   r   r   relaxNGCleanupTypesr  `  s     %%'r   c                  0    [         R                  " 5       n U $ )z'Initialize the default type libraries. )rm   xmlRelaxNGInitTypesr  s    r   relaxNGInitTypesr  e  s    

(
(
*CJr   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )zfCreate an XML RelaxNGs parse context for that memory buffer
expected to contain an XML RelaxNGs file. z#xmlRelaxNGNewMemParserCtxt() failedr  )rm   xmlRelaxNGNewMemParserCtxtr3   relaxNgParserCtxtr  s      r   relaxNGNewMemParserCtxtr  j  s/     
/
/
=C
{%JKK#&&r   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )zfCreate an XML RelaxNGs parse context for that file/resource
expected to contain an XML RelaxNGs file. z xmlRelaxNGNewParserCtxt() failedr  )rm   xmlRelaxNGNewParserCtxtr3   r  r$  r_   s     r   relaxNGNewParserCtxtr  q  s/     
,
,S
1C
{%GHH#&&r   c                 4    [         R                  " XX#5      nU$ )zBuilds the QName @prefix:@ncname in @memory if there is
enough space and prefix is not None nor empty, otherwise
allocate a new string. If prefix is None or empty it
 returns ncname. )rm   xmlBuildQName)ncnameprefixmemoryr^   r_   s        r   
buildQNamer  |  s    
 
"
"66
?CJr   c                  0    [         R                  " 5       n U $ )z3get the default compression mode used, ZLIB based. )rm   xmlGetCompressModer  s    r   compressModer    s    

'
'
)CJr   c                 2    [         R                  " X5      nU$ )z7Try to find if the document correspond to an XHTML DTD )rm   
xmlIsXHTML)r   publicIDr_   s      r   isXHTMLr    s    



3CJr   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )z-Creation of a new node containing a comment. zxmlNewComment() failedr  )rm   xmlNewCommentr    r  r   r_   s     r   
newCommentr    s-    

"
"7
+C
{#;<<r   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )zCreates a new XML document zxmlNewDoc() failedr  )rm   	xmlNewDocr    r$  r<  s     r   newDocr    s-    


w
'C
{#788sr   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )zaCreation of a processing instruction element. Use
xmlDocNewPI preferably to get string interning zxmlNewPI() failedr  )rm   xmlNewPIr    r  )r   r   r_   s      r   newPIr    s/     

d
,C
{#677r   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )zCreation of a new text node. zxmlNewText() failedr  )rm   
xmlNewTextr    r  r  s     r   newTextr    s-    



(C
{#899r   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )zMCreation of a new text node with an extra parameter for the
content's length zxmlNewTextLen() failedr  )rm   xmlNewTextLenr    r  )r   r^   r_   s      r   
newTextLenr    s/     
"
"7
0C
{#;<<r   c                 0    [         R                  " U 5        g)zjset the default compression mode used, ZLIB based Correct
values: 0 (uncompressed) to 9 (max compression) N)rm   xmlSetCompressMode)modes    r   setCompressModer    s     !!$'r   c                 2    [         R                  " X5      nU$ )z;Check that a value conforms to the lexical space of NCName )rm   xmlValidateNCNamerg  spacer_   s      r   validateNCNamer    rm  r   c                 2    [         R                  " X5      nU$ )z<Check that a value conforms to the lexical space of NMToken )rm   xmlValidateNMTokenr  s      r   validateNMTokenr    s    

'
'
5CJr   c                 2    [         R                  " X5      nU$ )z9Check that a value conforms to the lexical space of Name )rm   xmlValidateNamer  s      r   validateNamer    s    

$
$U
2CJr   c                 2    [         R                  " X5      nU$ )z:Check that a value conforms to the lexical space of QName )rm   xmlValidateQNamer  s      r   validateQNamer    s    

%
%e
3CJr   c                 2    [         R                  " U 5      nU$ )zEscaping routine, does not do validity checks ! It will try
to escape the chars needing this, but this is heuristic
 based it's impossible to be sure. )rm   xmlURIEscapere   r_   s     r   	URIEscaper    s     
!
!#
&CJr   c                 2    [         R                  " X5      nU$ )zsThis routine escapes a string to hex, ignoring reserved
characters (a-z) and the characters in the exception list. )rm   xmlURIEscapeStr)re   r  r_   s      r   URIEscapeStrr    s     
$
$S
/CJr   c                 4    [         R                  " XU5      nU$ )zUnescaping routine, but does not check that the string is
an URI. The output is a direct unsigned char translation of
%XX values (no encoding) Note that the length of the result
 can only be smaller or same size as the input string. )rm   xmlURIUnescapeString)re   r^   r   r_   s       r   URIUnescapeStringr	    s    
 
)
)#F
;CJr   c                 2    [         R                  " X5      nU$ )a  Expresses the URI of the reference in terms relative to the
base.  Some examples of this operation include: base =
"http://site1.com/docs/book1.html" URI input               
URI returned docs/pic1.gif                    pic1.gif
docs/img/pic1.gif                img/pic1.gif img/pic1.gif 
../img/pic1.gif http://site1.com/docs/pic1.gif   pic1.gif
http://site2.com/docs/pic1.gif  
http://site2.com/docs/pic1.gif  base = "docs/book1.html"
URI input                        URI returned docs/pic1.gif
pic1.gif docs/img/pic1.gif                img/pic1.gif
img/pic1.gif                     ../img/pic1.gif
http://site1.com/docs/pic1.gif  
http://site1.com/docs/pic1.gif   Note: if the URI reference
is really weird or complicated, it may be worthwhile to
first convert it into a "nice" one by calling xmlBuildURI
(using 'base') before calling this routine, since this
routine (for reasonable efficiency) assumes URI has already
 been through some validation. )rm   xmlBuildRelativeURIr  r{  r_   s      r   buildRelativeURIr    s    & 
(
(
3CJr   c                 2    [         R                  " X5      nU$ )zComputes he final URI of the reference done by checking
that the given URI is valid, and building the final URI
using the base URI. This is processed according to section
5.2 of the RFC 2396  5.2. Resolving Relative References to
 Absolute Form )rm   xmlBuildURIr  s      r   buildURIr    s     
 
 
+CJr   c                 2    [         R                  " U 5      nU$ )z3Constructs a canonic path from the specified path. )rm   xmlCanonicPathpathr_   s     r   canonicPathr        

#
#D
)CJr   c                  Z    [         R                  " 5       n U c  [        S5      e[        U S9$ )zSimply creates an empty xmlURI zxmlCreateURI() failedr  )rm   xmlCreateURIr:   r  r  s    r   	createURIr    s*    

!
!
#C
{"9::C=r   c                 2    [         R                  " U 5      nU$ )zApplies the 5 normalization steps to a path string--that
is, RFC 2396 Section 5.2, steps 6.c through 6.g. 
Normalization occurs directly on the string, no new
 allocation is done )rm   xmlNormalizeURIPathr  s     r   normalizeURIPathr  
  s    
 
(
(
.CJr   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )z_Parse an URI based on RFC 3986  URI-reference = [
absoluteURI | relativeURI ] [ "#" fragment ] zxmlParseURI() failedr  )rm   xmlParseURIr:   r  r  s     r   parseURIr    s.     
 
 
%C
{"899C=r   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )zcParse an URI but allows to keep intact the original
fragments.  URI-reference = URI / relative-ref zxmlParseURIRaw() failedr  )rm   xmlParseURIRawr:   r  )re   rawr_   s      r   parseURIRawr#    s.     
#
#C
-C
{";<<C=r   c                 2    [         R                  " U 5      nU$ )z/Constructs an URI expressing the existing path )rm   xmlPathToURIr  s     r   	pathToURIr&         

!
!$
'CJr   c                  Z    [         R                  " 5       n U c  [        S5      e[        U S9$ )z)Allocate a validation context structure. zxmlNewValidCtxt() failedr  )rm   xmlNewValidCtxtr    	ValidCtxtr  s    r   newValidCtxtr+  )  s+    

$
$
&C
{#=>>#r   c                 2    [         R                  " U 5      nU$ )z4Validate that the given value match Name production )rm   xmlValidateNameValuerf  s     r   validateNameValuer.  /  s    

)
)%
0CJr   c                 2    [         R                  " U 5      nU$ )z5Validate that the given value match Names production )rm   xmlValidateNamesValuerf  s     r   validateNamesValuer1  4  s    

*
*5
1CJr   c                 2    [         R                  " U 5      nU$ )zKValidate that the given value match Nmtoken production  [
VC: Name Token ] )rm   xmlValidateNmtokenValuerf  s     r   validateNmtokenValuer4  9  rq  r   c                 2    [         R                  " U 5      nU$ )zLValidate that the given value match Nmtokens production  [
VC: Name Token ] )rm   xmlValidateNmtokensValuerf  s     r   validateNmtokensValuer7  ?  s     
-
-e
4CJr   c                 2    [         R                  " U 5      nU$ )zfunction checks to see if @path is a valid source (file,
socket...) for XML.  if stat is not available on the target
 machine, )rm   xmlCheckFilenamer  s     r   checkFilenamer:  I  s     
%
%d
+CJr   c                  .    [         R                  " 5         g)zKclears the entire input callback table. this includes the
compiled-in I/O. N)rm   xmlCleanupInputCallbacksr   r   r   cleanupInputCallbacksr=  P  s     '')r   c                  .    [         R                  " 5         g)zVclears the entire output callback table. this includes the
compiled-in I/O callbacks. N)rm   xmlCleanupOutputCallbacksr   r   r   cleanupOutputCallbacksr@  U  s     ((*r   c                 2    [         R                  " U 5      nU$ )zinput from FILE * )rm   xmlFileMatchr  s     r   	fileMatchrC  Z  s    

!
!(
+CJr   c                 2    [         R                  " U 5      nU$ )z$check if the URI matches an FTP one )rm   xmlIOFTPMatchr  s     r   
iOFTPMatchrF  _  s    

"
"8
,CJr   c                 2    [         R                  " U 5      nU$ )z%check if the URI matches an HTTP one )rm   xmlIOHTTPMatchr  s     r   iOHTTPMatchrI  d  s    

#
#H
-CJr   c                 2    [         R                  " U 5      nU$ )zUThis function is obsolete. Please see xmlURIFromPath in
uri.c for a better solution. )rm   xmlNormalizeWindowsPathr  s     r   normalizeWindowsPathrL  i       
,
,T
2CJr   c                 2    [         R                  " U 5      nU$ )z#lookup the directory for that file )rm   xmlParserGetDirectoryr  s     r   parserGetDirectoryrP  o  s    

*
*8
4CJr   c                  0    [         R                  " 5       n U $ )zZRemove the top output callbacks from the output stack. This
includes the compiled-in I/O. )rm   xmlPopOutputCallbacksr  s    r   popOutputCallbacksrS  t  s     
*
*
,CJr   c                  .    [         R                  " 5         gz0Registers the default compiled-in I/O handlers. N)rm    xmlRegisterDefaultInputCallbacksr   r   r   registerDefaultInputCallbacksrW  z  s    //1r   c                  .    [         R                  " 5         grU  )rm   !xmlRegisterDefaultOutputCallbacksr   r   r   registerDefaultOutputCallbacksrZ  ~  s    002r   c                  .    [         R                  " 5         g)zBy default, libxml submits HTTP output requests using the
"PUT" method. Calling this method changes the HTTP output
 method to use the "POST" method instead. N)rm   xmlRegisterHTTPPostCallbacksr   r   r   registerHTTPPostCallbacksr]    s     ++-r   c                  Z    [         R                  " 5       n U c  [        S5      e[        U S9$ )zZGet the last global error registered. This is per thread if
compiled with thread support. zxmlGetLastError() failedr  )rm   xmlGetLastErrorr    Errorr  s    r   	lastErrorra    s,     
$
$
&C
{#=>>c?r   c                  .    [         R                  " 5         g)zmCleanup the last global error registered. For parsing error
this does not change the well-formedness result. N)rm   xmlResetLastErrorr   r   r   resetLastErrorrd    r  r   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )z@Create an xmlTextReader structure fed with the resource at
@URI z!xmlNewTextReaderFilename() failedr  )rm   xmlNewTextReaderFilenamer    xmlTextReaderrz  s     r   newTextReaderFilenamerh    s/     
-
-c
2C
{#FGGc""r   c                 ^    [         R                  " XX#5      nUc  [        S5      e[        US9$ )xCreate an xmltextReader for an XML in-memory document. The
parsing flags @options are a combination of xmlParserOption. zxmlReaderForDoc() failedr  )rm   xmlReaderForDocr    rg  r#  s        r   readerForDocrl    s1     
$
$Sx
AC
{#=>>c""r   c                 ^    [         R                  " XX#5      nUc  [        S5      e[        US9$ )zCreate an xmltextReader for an XML from a file descriptor.
The parsing flags @options are a combination of
xmlParserOption. NOTE that the file descriptor will not be
 closed when the reader is closed or reset. zxmlReaderForFd() failedr  )rm   xmlReaderForFdr    rg  r(  s        r   readerForFdro    s1    
 
#
#BX
?C
{#<==c""r   c                 ^    [         R                  " XU5      nUc  [        S5      e[        US9$ )zwparse an XML file from the filesystem or the network. The
parsing flags @options are a combination of xmlParserOption. zxmlReaderForFile() failedr  )rm   xmlReaderForFiler    rg  r-  s       r   readerForFilerr    s1     
%
%h'
BC
{#>??c""r   c                 `    [         R                  " XX#U5      nUc  [        S5      e[        US9$ )rj  zxmlReaderForMemory() failedr  )rm   xmlReaderForMemoryr    rg  r0  s         r   readerForMemoryru    s3     
'
'cW
MC
{#@AAc""r   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )zParses a regular expression conforming to XML Schemas Part
2 Datatype Appendix F and builds an automata suitable for
 testing strings against that regular expression zxmlRegexpCompile() failedr  )rm   xmlRegexpCompiler    xmlReg)regexpr_   s     r   regexpCompilerz    s/     
%
%f
-C
{#>??sr   c                 \    [         R                  " X5      nUc  [        S5      e[        US9$ )zdCreate an XML Schemas parse context for that memory buffer
expected to contain an XML Schemas file. z"xmlSchemaNewMemParserCtxt() failedr  )rm   xmlSchemaNewMemParserCtxtr3   SchemaParserCtxtr  s      r   schemaNewMemParserCtxtr~    s/     
.
.v
<C
{%IJJ%%r   c                 \    [         R                  " U 5      nUc  [        S5      e[        US9$ )zdCreate an XML Schemas parse context for that file/resource
expected to contain an XML Schemas file. zxmlSchemaNewParserCtxt() failedr  )rm   xmlSchemaNewParserCtxtr3   r}  r  s     r   schemaNewParserCtxtr    s/     
+
+C
0C
{%FGG%%r   c                  .    [         R                  " 5         g)z-Cleanup the default XML Schemas type library N)rm   xmlSchemaCleanupTypesr   r   r   schemaCleanupTypesr    s    $$&r   c                 2    [         R                  " U 5      nU$ )z1Removes and normalize white spaces in the string )rm   xmlSchemaCollapseStringrf  s     r   schemaCollapseStringr    rv  r   c                  .    [         R                  " 5         g)z0Initialize the default XML Schemas type library N)rm   xmlSchemaInitTypesr   r   r   schemaInitTypesr    r+  r   c                 2    [         R                  " U 5      nU$ )z(Replaces 0xd, 0x9 and 0xa with a space. )rm   xmlSchemaWhiteSpaceReplacerf  s     r   schemaWhiteSpaceReplacer    s    

/
/
6CJr   c                 2    [         R                  " X5      nU$ )zcompares the two UCS4 values )rm   xmlUTF8Charcmp)utf1utf2r_   s      r   UTF8Charcmpr    s    

#
#D
/CJr   c                 2    [         R                  " U 5      nU$ )z1calculates the internal size of a UTF8 character )rm   xmlUTF8Sizeutfr_   s     r   UTF8Sizer    s    

 
 
%CJr   c                 2    [         R                  " U 5      nU$ )zgcompute the length of an UTF8 string, it doesn't do a full
UTF8 checking of the content of the string. )rm   xmlUTF8Strlenr  s     r   
UTF8Strlenr    s     
"
"3
'CJr   c                 2    [         R                  " X5      nU$ )z;a function to provide the relative location of a UTF8 char )rm   xmlUTF8Strloc)r  utfcharr_   s      r   
UTF8Strlocr  	  s    

"
"3
0CJr   c                 2    [         R                  " X5      nU$ )za strndup for array of UTF8's )rm   xmlUTF8Strndupr  r^   r_   s      r   UTF8Strndupr    s    

#
#C
-CJr   c                 2    [         R                  " X5      nU$ )zQa function to provide the equivalent of fetching a
character from a string array )rm   xmlUTF8Strpos)r  posr_   s      r   
UTF8Strposr    s     
"
"3
,CJr   c                 2    [         R                  " X5      nU$ )z`storage size of an UTF8 string the behaviour is not
guaranteed if the input string is not UTF-8 )rm   xmlUTF8Strsizer  s      r   UTF8Strsizer    s     
#
#C
-CJr   c                 4    [         R                  " XU5      nU$ )z`Create a substring from a given UTF-8 string Note: 
positions are given in units of UTF-8 chars )rm   xmlUTF8Strsub)r  startr^   r_   s       r   
UTF8Strsubr    s     
"
"3s
3CJr   c                 2    [         R                  " U 5      nU$ )aU  Checks @utf for being valid UTF-8. @utf is assumed to be
null-terminated. This function is not super-strict, as it
will allow longer UTF-8 sequences than necessary. Note that
Java is capable of producing these sequences if provoked.
Also note, this routine checks for the 4-byte maximum size,
 but does not check for 0x10ffff maximum value. )rm   xmlCheckUTF8r  s     r   	checkUTF8r  %  s     
!
!#
&CJr   c                 2    [         R                  " U 5      nU$ )z?Check whether the character is part of AegeanNumbers UCS
Block )rm   xmlUCSIsAegeanNumberscoder_   s     r   uCSIsAegeanNumbersr  3       
*
*4
0CJr   c                 2    [         R                  " U 5      nU$ )zMCheck whether the character is part of
AlphabeticPresentationForms UCS Block )rm   #xmlUCSIsAlphabeticPresentationFormsr  s     r    uCSIsAlphabeticPresentationFormsr  9       
8
8
>CJr   c                 2    [         R                  " U 5      nU$ )z8Check whether the character is part of Arabic UCS Block )rm   xmlUCSIsArabicr  s     r   uCSIsArabicr  ?  r  r   c                 2    [         R                  " U 5      nU$ )zKCheck whether the character is part of
ArabicPresentationForms-A UCS Block )rm    xmlUCSIsArabicPresentationFormsAr  s     r   uCSIsArabicPresentationFormsAr  D       
5
5d
;CJr   c                 2    [         R                  " U 5      nU$ )zKCheck whether the character is part of
ArabicPresentationForms-B UCS Block )rm    xmlUCSIsArabicPresentationFormsBr  s     r   uCSIsArabicPresentationFormsBr  J  r  r   c                 2    [         R                  " U 5      nU$ )z:Check whether the character is part of Armenian UCS Block )rm   xmlUCSIsArmenianr  s     r   uCSIsArmenianr  P      

%
%d
+CJr   c                 2    [         R                  " U 5      nU$ )z8Check whether the character is part of Arrows UCS Block )rm   xmlUCSIsArrowsr  s     r   uCSIsArrowsr  U  r  r   c                 2    [         R                  " U 5      nU$ )z<Check whether the character is part of BasicLatin UCS Block )rm   xmlUCSIsBasicLatinr  s     r   uCSIsBasicLatinr  Z      

'
'
-CJr   c                 2    [         R                  " U 5      nU$ )z9Check whether the character is part of Bengali UCS Block )rm   xmlUCSIsBengalir  s     r   uCSIsBengalir  _      

$
$T
*CJr   c                 2    [         R                  " X5      nU$ )z5Check whether the character is part of the UCS Block )rm   xmlUCSIsBlock)r  blockr_   s      r   
uCSIsBlockr  d  s    

"
"4
/CJr   c                 2    [         R                  " U 5      nU$ )z?Check whether the character is part of BlockElements UCS
Block )rm   xmlUCSIsBlockElementsr  s     r   uCSIsBlockElementsr  i  r  r   c                 2    [         R                  " U 5      nU$ )z:Check whether the character is part of Bopomofo UCS Block )rm   xmlUCSIsBopomofor  s     r   uCSIsBopomofor  o  r  r   c                 2    [         R                  " U 5      nU$ )zBCheck whether the character is part of BopomofoExtended UCS
Block )rm   xmlUCSIsBopomofoExtendedr  s     r   uCSIsBopomofoExtendedr  t       
-
-d
3CJr   c                 2    [         R                  " U 5      nU$ )z<Check whether the character is part of BoxDrawing UCS Block )rm   xmlUCSIsBoxDrawingr  s     r   uCSIsBoxDrawingr  z  r  r   c                 2    [         R                  " U 5      nU$ )zACheck whether the character is part of BraillePatterns UCS
Block )rm   xmlUCSIsBraillePatternsr  s     r   uCSIsBraillePatternsr    rM  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Buhid UCS Block )rm   xmlUCSIsBuhidr  s     r   
uCSIsBuhidr        

"
"4
(CJr   c                 2    [         R                  " U 5      nU$ )zICheck whether the character is part of
ByzantineMusicalSymbols UCS Block )rm   xmlUCSIsByzantineMusicalSymbolsr  s     r   uCSIsByzantineMusicalSymbolsr         
4
4T
:CJr   c                 2    [         R                  " U 5      nU$ )zBCheck whether the character is part of CJKCompatibility UCS
Block )rm   xmlUCSIsCJKCompatibilityr  s     r   uCSIsCJKCompatibilityr    r  r   c                 2    [         R                  " U 5      nU$ )zGCheck whether the character is part of
CJKCompatibilityForms UCS Block )rm   xmlUCSIsCJKCompatibilityFormsr  s     r   uCSIsCJKCompatibilityFormsr         
2
24
8CJr   c                 2    [         R                  " U 5      nU$ )zLCheck whether the character is part of
CJKCompatibilityIdeographs UCS Block )rm   "xmlUCSIsCJKCompatibilityIdeographsr  s     r   uCSIsCJKCompatibilityIdeographsr         
7
7
=CJr   c                 2    [         R                  " U 5      nU$ )zVCheck whether the character is part of
CJKCompatibilityIdeographsSupplement UCS Block )rm   ,xmlUCSIsCJKCompatibilityIdeographsSupplementr  s     r   )uCSIsCJKCompatibilityIdeographsSupplementr    s     
A
A$
GCJr   c                 2    [         R                  " U 5      nU$ )zGCheck whether the character is part of
CJKRadicalsSupplement UCS Block )rm   xmlUCSIsCJKRadicalsSupplementr  s     r   uCSIsCJKRadicalsSupplementr     r  r   c                 2    [         R                  " U 5      nU$ )zJCheck whether the character is part of
CJKSymbolsandPunctuation UCS Block )rm    xmlUCSIsCJKSymbolsandPunctuationr  s     r   uCSIsCJKSymbolsandPunctuationr    r  r   c                 2    [         R                  " U 5      nU$ )zFCheck whether the character is part of CJKUnifiedIdeographs
UCS Block )rm   xmlUCSIsCJKUnifiedIdeographsr  s     r   uCSIsCJKUnifiedIdeographsr         
1
1$
7CJr   c                 2    [         R                  " U 5      nU$ )zPCheck whether the character is part of
CJKUnifiedIdeographsExtensionA UCS Block )rm   &xmlUCSIsCJKUnifiedIdeographsExtensionAr  s     r   #uCSIsCJKUnifiedIdeographsExtensionAr
         
;
;D
ACJr   c                 2    [         R                  " U 5      nU$ )zPCheck whether the character is part of
CJKUnifiedIdeographsExtensionB UCS Block )rm   &xmlUCSIsCJKUnifiedIdeographsExtensionBr  s     r   #uCSIsCJKUnifiedIdeographsExtensionBr    r  r   c                 2    [         R                  " X5      nU$ )z8Check whether the character is part of the UCS Category )rm   xmlUCSIsCat)r  catr_   s      r   uCSIsCatr    s    

 
 
+CJr   c                 2    [         R                  " U 5      nU$ )z6Check whether the character is part of C UCS Category )rm   xmlUCSIsCatCr  s     r   	uCSIsCatCr    r'  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Cc UCS Category )rm   xmlUCSIsCatCcr  s     r   
uCSIsCatCcr    r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Cf UCS Category )rm   xmlUCSIsCatCfr  s     r   
uCSIsCatCfr    r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Co UCS Category )rm   xmlUCSIsCatCor  s     r   
uCSIsCatCor    r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Cs UCS Category )rm   xmlUCSIsCatCsr  s     r   
uCSIsCatCsr!    r  r   c                 2    [         R                  " U 5      nU$ )z6Check whether the character is part of L UCS Category )rm   xmlUCSIsCatLr  s     r   	uCSIsCatLr$    r'  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Ll UCS Category )rm   xmlUCSIsCatLlr  s     r   
uCSIsCatLlr'    r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Lm UCS Category )rm   xmlUCSIsCatLmr  s     r   
uCSIsCatLmr*    r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Lo UCS Category )rm   xmlUCSIsCatLor  s     r   
uCSIsCatLor-    r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Lt UCS Category )rm   xmlUCSIsCatLtr  s     r   
uCSIsCatLtr0    r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Lu UCS Category )rm   xmlUCSIsCatLur  s     r   
uCSIsCatLur3    r  r   c                 2    [         R                  " U 5      nU$ )z6Check whether the character is part of M UCS Category )rm   xmlUCSIsCatMr  s     r   	uCSIsCatMr6  	  r'  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Mc UCS Category )rm   xmlUCSIsCatMcr  s     r   
uCSIsCatMcr9  	  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Me UCS Category )rm   xmlUCSIsCatMer  s     r   
uCSIsCatMer<  	  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Mn UCS Category )rm   xmlUCSIsCatMnr  s     r   
uCSIsCatMnr?  	  r  r   c                 2    [         R                  " U 5      nU$ )z6Check whether the character is part of N UCS Category )rm   xmlUCSIsCatNr  s     r   	uCSIsCatNrB  	  r'  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Nd UCS Category )rm   xmlUCSIsCatNdr  s     r   
uCSIsCatNdrE  	  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Nl UCS Category )rm   xmlUCSIsCatNlr  s     r   
uCSIsCatNlrH   	  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of No UCS Category )rm   xmlUCSIsCatNor  s     r   
uCSIsCatNorK  %	  r  r   c                 2    [         R                  " U 5      nU$ )z6Check whether the character is part of P UCS Category )rm   xmlUCSIsCatPr  s     r   	uCSIsCatPrN  *	  r'  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Pc UCS Category )rm   xmlUCSIsCatPcr  s     r   
uCSIsCatPcrQ  /	  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Pd UCS Category )rm   xmlUCSIsCatPdr  s     r   
uCSIsCatPdrT  4	  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Pe UCS Category )rm   xmlUCSIsCatPer  s     r   
uCSIsCatPerW  9	  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Pf UCS Category )rm   xmlUCSIsCatPfr  s     r   
uCSIsCatPfrZ  >	  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Pi UCS Category )rm   xmlUCSIsCatPir  s     r   
uCSIsCatPir]  C	  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Po UCS Category )rm   xmlUCSIsCatPor  s     r   
uCSIsCatPor`  H	  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Ps UCS Category )rm   xmlUCSIsCatPsr  s     r   
uCSIsCatPsrc  M	  r  r   c                 2    [         R                  " U 5      nU$ )z6Check whether the character is part of S UCS Category )rm   xmlUCSIsCatSr  s     r   	uCSIsCatSrf  R	  r'  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Sc UCS Category )rm   xmlUCSIsCatScr  s     r   
uCSIsCatScri  W	  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Sk UCS Category )rm   xmlUCSIsCatSkr  s     r   
uCSIsCatSkrl  \	  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Sm UCS Category )rm   xmlUCSIsCatSmr  s     r   
uCSIsCatSmro  a	  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of So UCS Category )rm   xmlUCSIsCatSor  s     r   
uCSIsCatSorr  f	  r  r   c                 2    [         R                  " U 5      nU$ )z6Check whether the character is part of Z UCS Category )rm   xmlUCSIsCatZr  s     r   	uCSIsCatZru  k	  r'  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Zl UCS Category )rm   xmlUCSIsCatZlr  s     r   
uCSIsCatZlrx  p	  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Zp UCS Category )rm   xmlUCSIsCatZpr  s     r   
uCSIsCatZpr{  u	  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Zs UCS Category )rm   xmlUCSIsCatZsr  s     r   
uCSIsCatZsr~  z	  r  r   c                 2    [         R                  " U 5      nU$ )z:Check whether the character is part of Cherokee UCS Block )rm   xmlUCSIsCherokeer  s     r   uCSIsCherokeer  	  r  r   c                 2    [         R                  " U 5      nU$ )zKCheck whether the character is part of
CombiningDiacriticalMarks UCS Block )rm   !xmlUCSIsCombiningDiacriticalMarksr  s     r   uCSIsCombiningDiacriticalMarksr  	       
6
6t
<CJr   c                 2    [         R                  " U 5      nU$ )zUCheck whether the character is part of
CombiningDiacriticalMarksforSymbols UCS Block )rm   +xmlUCSIsCombiningDiacriticalMarksforSymbolsr  s     r   (uCSIsCombiningDiacriticalMarksforSymbolsr  	  s     
@
@
FCJr   c                 2    [         R                  " U 5      nU$ )zDCheck whether the character is part of CombiningHalfMarks
UCS Block )rm   xmlUCSIsCombiningHalfMarksr  s     r   uCSIsCombiningHalfMarksr  	       
/
/
5CJr   c                 2    [         R                  " U 5      nU$ )zJCheck whether the character is part of
CombiningMarksforSymbols UCS Block )rm    xmlUCSIsCombiningMarksforSymbolsr  s     r   uCSIsCombiningMarksforSymbolsr  	  r  r   c                 2    [         R                  " U 5      nU$ )zACheck whether the character is part of ControlPictures UCS
Block )rm   xmlUCSIsControlPicturesr  s     r   uCSIsControlPicturesr  	  rM  r   c                 2    [         R                  " U 5      nU$ )zACheck whether the character is part of CurrencySymbols UCS
Block )rm   xmlUCSIsCurrencySymbolsr  s     r   uCSIsCurrencySymbolsr  	  rM  r   c                 2    [         R                  " U 5      nU$ )zBCheck whether the character is part of CypriotSyllabary UCS
Block )rm   xmlUCSIsCypriotSyllabaryr  s     r   uCSIsCypriotSyllabaryr  	  r  r   c                 2    [         R                  " U 5      nU$ )z:Check whether the character is part of Cyrillic UCS Block )rm   xmlUCSIsCyrillicr  s     r   uCSIsCyrillicr  	  r  r   c                 2    [         R                  " U 5      nU$ )zDCheck whether the character is part of CyrillicSupplement
UCS Block )rm   xmlUCSIsCyrillicSupplementr  s     r   uCSIsCyrillicSupplementr  	  r  r   c                 2    [         R                  " U 5      nU$ )z9Check whether the character is part of Deseret UCS Block )rm   xmlUCSIsDeseretr  s     r   uCSIsDeseretr  	  r  r   c                 2    [         R                  " U 5      nU$ )z<Check whether the character is part of Devanagari UCS Block )rm   xmlUCSIsDevanagarir  s     r   uCSIsDevanagarir  	  r  r   c                 2    [         R                  " U 5      nU$ )z:Check whether the character is part of Dingbats UCS Block )rm   xmlUCSIsDingbatsr  s     r   uCSIsDingbatsr  	  r  r   c                 2    [         R                  " U 5      nU$ )zGCheck whether the character is part of
EnclosedAlphanumerics UCS Block )rm   xmlUCSIsEnclosedAlphanumericsr  s     r   uCSIsEnclosedAlphanumericsr  	  r  r   c                 2    [         R                  " U 5      nU$ )zMCheck whether the character is part of
EnclosedCJKLettersandMonths UCS Block )rm   #xmlUCSIsEnclosedCJKLettersandMonthsr  s     r    uCSIsEnclosedCJKLettersandMonthsr  	  r  r   c                 2    [         R                  " U 5      nU$ )z:Check whether the character is part of Ethiopic UCS Block )rm   xmlUCSIsEthiopicr  s     r   uCSIsEthiopicr  	  r  r   c                 2    [         R                  " U 5      nU$ )zDCheck whether the character is part of GeneralPunctuation
UCS Block )rm   xmlUCSIsGeneralPunctuationr  s     r   uCSIsGeneralPunctuationr  	  r  r   c                 2    [         R                  " U 5      nU$ )zACheck whether the character is part of GeometricShapes UCS
Block )rm   xmlUCSIsGeometricShapesr  s     r   uCSIsGeometricShapesr  	  rM  r   c                 2    [         R                  " U 5      nU$ )z:Check whether the character is part of Georgian UCS Block )rm   xmlUCSIsGeorgianr  s     r   uCSIsGeorgianr  	  r  r   c                 2    [         R                  " U 5      nU$ )z8Check whether the character is part of Gothic UCS Block )rm   xmlUCSIsGothicr  s     r   uCSIsGothicr  	  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Greek UCS Block )rm   xmlUCSIsGreekr  s     r   
uCSIsGreekr  	  r  r   c                 2    [         R                  " U 5      nU$ )z?Check whether the character is part of GreekExtended UCS
Block )rm   xmlUCSIsGreekExtendedr  s     r   uCSIsGreekExtendedr  	  r  r   c                 2    [         R                  " U 5      nU$ )z@Check whether the character is part of GreekandCoptic UCS
Block )rm   xmlUCSIsGreekandCopticr  s     r   uCSIsGreekandCopticr  	       
+
+D
1CJr   c                 2    [         R                  " U 5      nU$ )z:Check whether the character is part of Gujarati UCS Block )rm   xmlUCSIsGujaratir  s     r   uCSIsGujaratir   
  r  r   c                 2    [         R                  " U 5      nU$ )z:Check whether the character is part of Gurmukhi UCS Block )rm   xmlUCSIsGurmukhir  s     r   uCSIsGurmukhir  
  r  r   c                 2    [         R                  " U 5      nU$ )zLCheck whether the character is part of
HalfwidthandFullwidthForms UCS Block )rm   "xmlUCSIsHalfwidthandFullwidthFormsr  s     r   uCSIsHalfwidthandFullwidthFormsr  

  r  r   c                 2    [         R                  " U 5      nU$ )zICheck whether the character is part of
HangulCompatibilityJamo UCS Block )rm   xmlUCSIsHangulCompatibilityJamor  s     r   uCSIsHangulCompatibilityJamor  
  r  r   c                 2    [         R                  " U 5      nU$ )z<Check whether the character is part of HangulJamo UCS Block )rm   xmlUCSIsHangulJamor  s     r   uCSIsHangulJamor  
  r  r   c                 2    [         R                  " U 5      nU$ )zACheck whether the character is part of HangulSyllables UCS
Block )rm   xmlUCSIsHangulSyllablesr  s     r   uCSIsHangulSyllablesr  
  rM  r   c                 2    [         R                  " U 5      nU$ )z9Check whether the character is part of Hanunoo UCS Block )rm   xmlUCSIsHanunoor  s     r   uCSIsHanunoor  !
  r  r   c                 2    [         R                  " U 5      nU$ )z8Check whether the character is part of Hebrew UCS Block )rm   xmlUCSIsHebrewr  s     r   uCSIsHebrewr  &
  r  r   c                 2    [         R                  " U 5      nU$ )zJCheck whether the character is part of
HighPrivateUseSurrogates UCS Block )rm    xmlUCSIsHighPrivateUseSurrogatesr  s     r   uCSIsHighPrivateUseSurrogatesr  +
  r  r   c                 2    [         R                  " U 5      nU$ )z@Check whether the character is part of HighSurrogates UCS
Block )rm   xmlUCSIsHighSurrogatesr  s     r   uCSIsHighSurrogatesr  1
  r  r   c                 2    [         R                  " U 5      nU$ )z:Check whether the character is part of Hiragana UCS Block )rm   xmlUCSIsHiraganar  s     r   uCSIsHiraganar  7
  r  r   c                 2    [         R                  " U 5      nU$ )z?Check whether the character is part of IPAExtensions UCS
Block )rm   xmlUCSIsIPAExtensionsr  s     r   uCSIsIPAExtensionsr  <
  r  r   c                 2    [         R                  " U 5      nU$ )zRCheck whether the character is part of
IdeographicDescriptionCharacters UCS Block )rm   (xmlUCSIsIdeographicDescriptionCharactersr  s     r   %uCSIsIdeographicDescriptionCharactersr  B
  s     
=
=d
CCJr   c                 2    [         R                  " U 5      nU$ )z8Check whether the character is part of Kanbun UCS Block )rm   xmlUCSIsKanbunr  s     r   uCSIsKanbunr  H
  r  r   c                 2    [         R                  " U 5      nU$ )z@Check whether the character is part of KangxiRadicals UCS
Block )rm   xmlUCSIsKangxiRadicalsr  s     r   uCSIsKangxiRadicalsr  M
  r  r   c                 2    [         R                  " U 5      nU$ )z9Check whether the character is part of Kannada UCS Block )rm   xmlUCSIsKannadar  s     r   uCSIsKannadar  S
  r  r   c                 2    [         R                  " U 5      nU$ )z:Check whether the character is part of Katakana UCS Block )rm   xmlUCSIsKatakanar  s     r   uCSIsKatakanar  X
  r  r   c                 2    [         R                  " U 5      nU$ )zLCheck whether the character is part of
KatakanaPhoneticExtensions UCS Block )rm   "xmlUCSIsKatakanaPhoneticExtensionsr  s     r   uCSIsKatakanaPhoneticExtensionsr  ]
  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Khmer UCS Block )rm   xmlUCSIsKhmerr  s     r   
uCSIsKhmerr  c
  r  r   c                 2    [         R                  " U 5      nU$ )z>Check whether the character is part of KhmerSymbols UCS
Block )rm   xmlUCSIsKhmerSymbolsr  s     r   uCSIsKhmerSymbolsr  h
  s     
)
)$
/CJr   c                 2    [         R                  " U 5      nU$ )z5Check whether the character is part of Lao UCS Block )rm   xmlUCSIsLaor  s     r   uCSIsLaor  n
  s    

 
 
&CJr   c                 2    [         R                  " U 5      nU$ )zCCheck whether the character is part of Latin-1Supplement
UCS Block )rm   xmlUCSIsLatin1Supplementr  s     r   uCSIsLatin1Supplementr  s
  r  r   c                 2    [         R                  " U 5      nU$ )zACheck whether the character is part of LatinExtended-A UCS
Block )rm   xmlUCSIsLatinExtendedAr  s     r   uCSIsLatinExtendedAr  y
  r  r   c                 2    [         R                  " U 5      nU$ )zICheck whether the character is part of
LatinExtendedAdditional UCS Block )rm   xmlUCSIsLatinExtendedAdditionalr  s     r   uCSIsLatinExtendedAdditionalr  
  r  r   c                 2    [         R                  " U 5      nU$ )zACheck whether the character is part of LatinExtended-B UCS
Block )rm   xmlUCSIsLatinExtendedBr  s     r   uCSIsLatinExtendedBr  
  r  r   c                 2    [         R                  " U 5      nU$ )zCCheck whether the character is part of LetterlikeSymbols
UCS Block )rm   xmlUCSIsLetterlikeSymbolsr  s     r   uCSIsLetterlikeSymbolsr  
       
.
.t
4CJr   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Limbu UCS Block )rm   xmlUCSIsLimbur  s     r   
uCSIsLimbur  
  r  r   c                 2    [         R                  " U 5      nU$ )zBCheck whether the character is part of LinearBIdeograms UCS
Block )rm   xmlUCSIsLinearBIdeogramsr  s     r   uCSIsLinearBIdeogramsr  
  r  r   c                 2    [         R                  " U 5      nU$ )zBCheck whether the character is part of LinearBSyllabary UCS
Block )rm   xmlUCSIsLinearBSyllabaryr  s     r   uCSIsLinearBSyllabaryr  
  r  r   c                 2    [         R                  " U 5      nU$ )z?Check whether the character is part of LowSurrogates UCS
Block )rm   xmlUCSIsLowSurrogatesr  s     r   uCSIsLowSurrogatesr!  
  r  r   c                 2    [         R                  " U 5      nU$ )z;Check whether the character is part of Malayalam UCS Block )rm   xmlUCSIsMalayalamr  s     r   uCSIsMalayalamr$  
  r3  r   c                 2    [         R                  " U 5      nU$ )zQCheck whether the character is part of
MathematicalAlphanumericSymbols UCS Block )rm   'xmlUCSIsMathematicalAlphanumericSymbolsr  s     r   $uCSIsMathematicalAlphanumericSymbolsr'  
  s     
<
<T
BCJr   c                 2    [         R                  " U 5      nU$ )zGCheck whether the character is part of
MathematicalOperators UCS Block )rm   xmlUCSIsMathematicalOperatorsr  s     r   uCSIsMathematicalOperatorsr*  
  r  r   c                 2    [         R                  " U 5      nU$ )zTCheck whether the character is part of
MiscellaneousMathematicalSymbols-A UCS Block )rm   )xmlUCSIsMiscellaneousMathematicalSymbolsAr  s     r   &uCSIsMiscellaneousMathematicalSymbolsAr-  
       
>
>t
DCJr   c                 2    [         R                  " U 5      nU$ )zTCheck whether the character is part of
MiscellaneousMathematicalSymbols-B UCS Block )rm   )xmlUCSIsMiscellaneousMathematicalSymbolsBr  s     r   &uCSIsMiscellaneousMathematicalSymbolsBr1  
  r.  r   c                 2    [         R                  " U 5      nU$ )zFCheck whether the character is part of MiscellaneousSymbols
UCS Block )rm   xmlUCSIsMiscellaneousSymbolsr  s     r   uCSIsMiscellaneousSymbolsr4  
  r  r   c                 2    [         R                  " U 5      nU$ )zOCheck whether the character is part of
MiscellaneousSymbolsandArrows UCS Block )rm   %xmlUCSIsMiscellaneousSymbolsandArrowsr  s     r   "uCSIsMiscellaneousSymbolsandArrowsr7  
  s     
:
:4
@CJr   c                 2    [         R                  " U 5      nU$ )zHCheck whether the character is part of
MiscellaneousTechnical UCS Block )rm   xmlUCSIsMiscellaneousTechnicalr  s     r   uCSIsMiscellaneousTechnicalr:  
       
3
3D
9CJr   c                 2    [         R                  " U 5      nU$ )z;Check whether the character is part of Mongolian UCS Block )rm   xmlUCSIsMongolianr  s     r   uCSIsMongolianr>  
  r3  r   c                 2    [         R                  " U 5      nU$ )z@Check whether the character is part of MusicalSymbols UCS
Block )rm   xmlUCSIsMusicalSymbolsr  s     r   uCSIsMusicalSymbolsrA  
  r  r   c                 2    [         R                  " U 5      nU$ )z9Check whether the character is part of Myanmar UCS Block )rm   xmlUCSIsMyanmarr  s     r   uCSIsMyanmarrD  
  r  r   c                 2    [         R                  " U 5      nU$ )z=Check whether the character is part of NumberForms UCS Block )rm   xmlUCSIsNumberFormsr  s     r   uCSIsNumberFormsrG  
      

(
(
.CJr   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Ogham UCS Block )rm   xmlUCSIsOghamr  s     r   
uCSIsOghamrK  
  r  r   c                 2    [         R                  " U 5      nU$ )z;Check whether the character is part of OldItalic UCS Block )rm   xmlUCSIsOldItalicr  s     r   uCSIsOldItalicrN  
  r3  r   c                 2    [         R                  " U 5      nU$ )zMCheck whether the character is part of
OpticalCharacterRecognition UCS Block )rm   #xmlUCSIsOpticalCharacterRecognitionr  s     r    uCSIsOpticalCharacterRecognitionrQ  
  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Oriya UCS Block )rm   xmlUCSIsOriyar  s     r   
uCSIsOriyarT  
  r  r   c                 2    [         R                  " U 5      nU$ )z9Check whether the character is part of Osmanya UCS Block )rm   xmlUCSIsOsmanyar  s     r   uCSIsOsmanyarW    r  r   c                 2    [         R                  " U 5      nU$ )zDCheck whether the character is part of PhoneticExtensions
UCS Block )rm   xmlUCSIsPhoneticExtensionsr  s     r   uCSIsPhoneticExtensionsrZ    r  r   c                 2    [         R                  " U 5      nU$ )z<Check whether the character is part of PrivateUse UCS Block )rm   xmlUCSIsPrivateUser  s     r   uCSIsPrivateUser]    r  r   c                 2    [         R                  " U 5      nU$ )z@Check whether the character is part of PrivateUseArea UCS
Block )rm   xmlUCSIsPrivateUseArear  s     r   uCSIsPrivateUseArear`    r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Runic UCS Block )rm   xmlUCSIsRunicr  s     r   
uCSIsRunicrc    r  r   c                 2    [         R                  " U 5      nU$ )z9Check whether the character is part of Shavian UCS Block )rm   xmlUCSIsShavianr  s     r   uCSIsShavianrf    r  r   c                 2    [         R                  " U 5      nU$ )z9Check whether the character is part of Sinhala UCS Block )rm   xmlUCSIsSinhalar  s     r   uCSIsSinhalari  !  r  r   c                 2    [         R                  " U 5      nU$ )zCCheck whether the character is part of SmallFormVariants
UCS Block )rm   xmlUCSIsSmallFormVariantsr  s     r   uCSIsSmallFormVariantsrl  &  r  r   c                 2    [         R                  " U 5      nU$ )zHCheck whether the character is part of
SpacingModifierLetters UCS Block )rm   xmlUCSIsSpacingModifierLettersr  s     r   uCSIsSpacingModifierLettersro  ,  r;  r   c                 2    [         R                  " U 5      nU$ )z:Check whether the character is part of Specials UCS Block )rm   xmlUCSIsSpecialsr  s     r   uCSIsSpecialsrr  2  r  r   c                 2    [         R                  " U 5      nU$ )zKCheck whether the character is part of
SuperscriptsandSubscripts UCS Block )rm   !xmlUCSIsSuperscriptsandSubscriptsr  s     r   uCSIsSuperscriptsandSubscriptsru  7  r  r   c                 2    [         R                  " U 5      nU$ )zFCheck whether the character is part of SupplementalArrows-A
UCS Block )rm   xmlUCSIsSupplementalArrowsAr  s     r   uCSIsSupplementalArrowsArx  =       
0
0
6CJr   c                 2    [         R                  " U 5      nU$ )zFCheck whether the character is part of SupplementalArrows-B
UCS Block )rm   xmlUCSIsSupplementalArrowsBr  s     r   uCSIsSupplementalArrowsBr|  C  ry  r   c                 2    [         R                  " U 5      nU$ )zSCheck whether the character is part of
SupplementalMathematicalOperators UCS Block )rm   )xmlUCSIsSupplementalMathematicalOperatorsr  s     r   &uCSIsSupplementalMathematicalOperatorsr  I  r.  r   c                 2    [         R                  " U 5      nU$ )zOCheck whether the character is part of
SupplementaryPrivateUseArea-A UCS Block )rm   $xmlUCSIsSupplementaryPrivateUseAreaAr  s     r   !uCSIsSupplementaryPrivateUseAreaAr  O       
9
9$
?CJr   c                 2    [         R                  " U 5      nU$ )zOCheck whether the character is part of
SupplementaryPrivateUseArea-B UCS Block )rm   $xmlUCSIsSupplementaryPrivateUseAreaBr  s     r   !uCSIsSupplementaryPrivateUseAreaBr  U  r  r   c                 2    [         R                  " U 5      nU$ )z8Check whether the character is part of Syriac UCS Block )rm   xmlUCSIsSyriacr  s     r   uCSIsSyriacr  [  r  r   c                 2    [         R                  " U 5      nU$ )z9Check whether the character is part of Tagalog UCS Block )rm   xmlUCSIsTagalogr  s     r   uCSIsTagalogr  `  r  r   c                 2    [         R                  " U 5      nU$ )z:Check whether the character is part of Tagbanwa UCS Block )rm   xmlUCSIsTagbanwar  s     r   uCSIsTagbanwar  e  r  r   c                 2    [         R                  " U 5      nU$ )z6Check whether the character is part of Tags UCS Block )rm   xmlUCSIsTagsr  s     r   	uCSIsTagsr  j  r'  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of TaiLe UCS Block )rm   xmlUCSIsTaiLer  s     r   
uCSIsTaiLer  o  r  r   c                 2    [         R                  " U 5      nU$ )zDCheck whether the character is part of TaiXuanJingSymbols
UCS Block )rm   xmlUCSIsTaiXuanJingSymbolsr  s     r   uCSIsTaiXuanJingSymbolsr  t  r  r   c                 2    [         R                  " U 5      nU$ )z7Check whether the character is part of Tamil UCS Block )rm   xmlUCSIsTamilr  s     r   
uCSIsTamilr  z  r  r   c                 2    [         R                  " U 5      nU$ )z8Check whether the character is part of Telugu UCS Block )rm   xmlUCSIsTelugur  s     r   uCSIsTelugur    r  r   c                 2    [         R                  " U 5      nU$ )z8Check whether the character is part of Thaana UCS Block )rm   xmlUCSIsThaanar  s     r   uCSIsThaanar    r  r   c                 2    [         R                  " U 5      nU$ )z6Check whether the character is part of Thai UCS Block )rm   xmlUCSIsThair  s     r   	uCSIsThair    r'  r   c                 2    [         R                  " U 5      nU$ )z9Check whether the character is part of Tibetan UCS Block )rm   xmlUCSIsTibetanr  s     r   uCSIsTibetanr    r  r   c                 2    [         R                  " U 5      nU$ )z:Check whether the character is part of Ugaritic UCS Block )rm   xmlUCSIsUgariticr  s     r   uCSIsUgariticr    r  r   c                 2    [         R                  " U 5      nU$ )zTCheck whether the character is part of
UnifiedCanadianAboriginalSyllabics UCS Block )rm   *xmlUCSIsUnifiedCanadianAboriginalSyllabicsr  s     r   'uCSIsUnifiedCanadianAboriginalSyllabicsr    s     
?
?
ECJr   c                 2    [         R                  " U 5      nU$ )zDCheck whether the character is part of VariationSelectors
UCS Block )rm   xmlUCSIsVariationSelectorsr  s     r   uCSIsVariationSelectorsr    r  r   c                 2    [         R                  " U 5      nU$ )zNCheck whether the character is part of
VariationSelectorsSupplement UCS Block )rm   $xmlUCSIsVariationSelectorsSupplementr  s     r   !uCSIsVariationSelectorsSupplementr    r  r   c                 2    [         R                  " U 5      nU$ )z<Check whether the character is part of YiRadicals UCS Block )rm   xmlUCSIsYiRadicalsr  s     r   uCSIsYiRadicalsr    r  r   c                 2    [         R                  " U 5      nU$ )z=Check whether the character is part of YiSyllables UCS Block )rm   xmlUCSIsYiSyllablesr  s     r   uCSIsYiSyllablesr    rH  r   c                 2    [         R                  " U 5      nU$ )zGCheck whether the character is part of
YijingHexagramSymbols UCS Block )rm   xmlUCSIsYijingHexagramSymbolsr  s     r   uCSIsYijingHexagramSymbolsr    r  r   c                 0    [         R                  " U 5        g)zjcheck the compiled lib version against the include one.
This can warn or immediately kill the application N)rm   xmlCheckVersion)rd  s    r   checkVersionr    s     w'r   c                 V    U c  SnOU R                   n[        R                  " U5      nU$ )z/Pops the top XPath object from the value stack N)rL   rm   valuePopr  s      r   r  r    s)    |tWGG'


g
&CJr   c                   |   \ rS rSrSjS jrS rS rS rS rS r	S	 r
S
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S  r!S! r"S" r#S# r$S$ r%S% r&S& r'S' r(S( r)S) r*S* r+S+ r,S, r-S- r.S. r/S/ r0S0 r1S1 r2S2 r3S3 r4S4 r5S5 r6S6 r7S7 r8S8 r9S9 r:S: r;S; r<S< r=S= r>S> r?S? r@S@ rASA rBSB rCSC rDSD rESE rFSF rGSG rHSH rISI rJSJ rKSK rLSL rMSM rNSN rOSO rPSP rQSQ rRSR rSSS rTST rUSU rVSV rWSW rXSX rYSY rZSZ r[S[ r\S\ r]S] r^S^ r_S_ r`S` raSa rbSb rcSc rdSd reSe rfSf rgSg rhSh riSirjg)kr    Nc                 j    [        U5      S:w  a  [        S5      eXl        [        R	                  XS9  g )Nr   z'xmlNode got a wrong wrapper object typer  )r   	TypeErrorrL   r   r(   rM   s     r   r(   xmlNode.__init__  0    "Y?h5i/i)r   c                 H    SU R                   [        [        U 5      5      4-  $ )Nz<xmlNode (%s) object at 0x%x>r   intr   r,   s    r   __repr__xmlNode.__repr__      .$))S=O1PPPr   c                 `    [         R                  " U R                  5      nUc  g[        US9nU$ zGet the namespace of a node Nr  )rm   xmlNodeGetNsrL   rP  r'   r_   _xmlNode__tmps      r   ns
xmlNode.ns  s+    %%dgg.;d3r   c                 `    [         R                  " U R                  5      nUc  g[        US9nU$ r  )rm   xmlNodeGetNsDefsrL   rP  r  s      r   nsDefsxmlNode.nsDefs  s+    ))$''2;d3r   c                 F    [         R                  " XR                  U5        g)z>Dumps debug information for the element node, it is
recursive N)rm   xmlDebugDumpNoderL   r'   r  depths      r   debugDumpNodexmlNode.debugDumpNode  s     	##FGGU;r   c                 F    [         R                  " XR                  U5        g)zFDumps debug information for the list of element node, it is
recursive N)rm   xmlDebugDumpNodeListrL   r  s      r   debugDumpNodeListxmlNode.debugDumpNodeList  s     	''?r   c                 F    [         R                  " XR                  U5        g)zBDumps debug information for the element node, it is not
recursive N)rm   xmlDebugDumpOneNoderL   r  s      r   debugDumpOneNodexmlNode.debugDumpOneNode  s     	&&vww>r   c                 F    [         R                  " U R                  5      nU$ )zCount the children of @node. )rm   xmlLsCountNoderL   r   s     r   lsCountNodexmlNode.lsCountNode      ''0
r   c                 D    [         R                  " XR                  5        g)z,Dump to @output the type and name of @node. N)rm   xmlLsOneNoderL   r'   r  s     r   	lsOneNodexmlNode.lsOneNode  s    0r   c                 D    [         R                  " U R                  5        g)zPrint node to the output FILE N)rm   xmlShellPrintNoderL   r,   s    r   shellPrintNodexmlNode.shellPrintNode  s    $$TWW-r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ )a  Add a new node to @parent, at the end of the child (or
property) list merging adjacent TEXT nodes (in which case
@cur is freed) If the new node is ATTRIBUTE, it is added
into properties instead of children. If there is an
 attribute with equal name, it is first destroyed. NzxmlAddChild() failedr  )rL   rm   xmlAddChildr    r  r'   r  cur__or_   r  s        r   addChildxmlNode.addChild
  sK     ;vvf$$TWWf5;Y'=>>S!r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ )znAdd a list of node at the end of the child list of the
parent merging adjacent TEXT nodes (@cur may be freed) NzxmlAddChildList() failedr  )rL   rm   xmlAddChildListr    r  r  s        r   addChildListxmlNode.addChildList  sK     ;vvf((&9;Y'ABBS!r   c                 F    [         R                  " U R                  U5        g)zAppend the extra substring to the node content. NOTE: In
contrast to xmlNodeSetContent(), @content is supposed to be
raw text, so unescaped XML special chars are allowed,
 entity references are not supported. N)rm   xmlNodeAddContentrL   r   s     r   
addContentxmlNode.addContent!      
 	$$TWWg6r   c                 F    [         R                  " U R                  X5        g)zAppend the extra substring to the node content. NOTE: In
contrast to xmlNodeSetContentLen(), @content is supposed to
be raw text, so unescaped XML special chars are allowed,
 entity references are not supported. N)rm   xmlNodeAddContentLenrL   r'   r   r^   s      r   addContentLenxmlNode.addContentLen(      
 	''>r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ )aU  Add a new node @elem as the next sibling of @cur If the new
node was already inserted in a document it is first
unlinked from its existing context. As a result of text
merging @elem may be freed. If the new node is ATTRIBUTE,
it is added into properties instead of children. If there
 is an attribute with equal name, it is first destroyed. NzxmlAddNextSibling() failedr  )rL   rm   xmlAddNextSiblingr    r  r'   r   elem__or_   r  s        r   addNextSiblingxmlNode.addNextSibling/  sK     <4g**477G<;Y'CDDS!r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ )aZ  Add a new node @elem as the previous sibling of @cur
merging adjacent TEXT nodes (@elem may be freed) If the new
node was already inserted in a document it is first
unlinked from its existing context. If the new node is
ATTRIBUTE, it is added into properties instead of children.
If there is an attribute with equal name, it is first
 destroyed. NzxmlAddPrevSibling() failedr  )rL   rm   xmlAddPrevSiblingr    r  r  s        r   addPrevSiblingxmlNode.addPrevSibling=  sK     <4g**477G<;Y'CDDS!r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ )zAdd a new element @elem to the list of siblings of @cur
merging adjacent TEXT nodes (@elem may be freed) If the new
element was already inserted in a document it is first
 unlinked from its existing context. NzxmlAddSibling() failedr  )rL   rm   xmlAddSiblingr    r  r  s        r   
addSiblingxmlNode.addSiblingL  sK    
 <4g&&tww8;Y'?@@S!r   c                 v    [         R                  " U R                  U5      nUc  [        S5      e[	        US9nU$ )zDo a copy of the node. zxmlCopyNode() failedr  )rm   xmlCopyNoderL   r    r  )r'   extendedr_   r  s       r   copyNodexmlNode.copyNodeX  s7    $$TWWh7;Y'=>>S!r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )zgDo a recursive copy of the node list. Use
xmlDocCopyNodeList() if possible to ensure string interning. zxmlCopyNodeList() failedr  )rm   xmlCopyNodeListrL   r    r  r  s      r   copyNodeListxmlNode.copyNodeList_  s7     ((1;Y'ABBS!r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ zDo a copy of the attribute. NzxmlCopyProp() failedr  rL   rm   xmlCopyPropr    r  r  s        r   copyPropxmlNode.copyPropg  sI    ;vvf$$TWWf5;Y'=>>S!r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ z Do a copy of an attribute list. NzxmlCopyPropList() failedr  rL   rm   xmlCopyPropListr    r  r  s        r   copyPropListxmlNode.copyPropListp  sI    ;vvf((&9;Y'ABBS!r   c                     Uc  SnOUR                   n[        R                  " U R                   X25      nUc  [        S5      e[	        US9nU$ z+Do a copy of the node to a given document. NzxmlDocCopyNode() failedr  rL   rm   xmlDocCopyNoder    r  )r'   r#  r  doc__or_   r  s         r   docCopyNodexmlNode.docCopyNodey  sI    ;vvf''B;Y'@AAS!r   c                     Uc  SnOUR                   n[        R                  " X R                   5      nUc  [        S5      e[	        US9nU$ z&Do a recursive copy of the node list. NzxmlDocCopyNodeList() failedr  rL   rm   xmlDocCopyNodeListr    r  r'   r#  r1  r_   r  s        r   docCopyNodeListxmlNode.docCopyNodeList  sG    ;vvf++FGG<;Y'DEES!r   c                     Uc  SnOUR                   n[        R                  " X R                   5      nUc  g[        US9nU$ zkSet the root element of the document (doc->children is a
list containing possibly comments, PIs, etc ...). Nr  rL   rm   xmlDocSetRootElementr  r8  s        r   docSetRootElementxmlNode.docSetRootElement  s@     ;vvf--fgg>;dS!r   c                 `    [         R                  " U R                  5      nUc  g[        US9nU$ )zFinds the first child node of that element which is a
Element node Note the handling of entities references is
different than in the W3C DOM element traversal spec since
we don't have back reference from entities content to
 entities references. Nr  )rm   xmlFirstElementChildrL   r  r  s      r   firstElementChildxmlNode.firstElementChild  s.     --dgg6;dS!r   c                 D    [         R                  " U R                  5        g)zFree a node, this is a recursive behaviour, all the
children are freed too. This doesn't unlink the child from
 the list, use xmlUnlinkNode() first. N)rm   xmlFreeNoderL   r,   s    r   freeNodexmlNode.freeNode  s     	tww'r   c                 D    [         R                  " U R                  5        g)zaFree a node and all its siblings, this is a recursive
behaviour, all the children are freed too. N)rm   xmlFreeNodeListrL   r,   s    r   freeNodeListxmlNode.freeNodeList       	""477+r   c                 j    Uc  SnOUR                   n[        R                  " X R                   5      nU$ a_  Searches for the BASE URL. The code should work on both XML
and HTML document even if base mechanisms are completely
different. It returns the base as defined in RFC 2396
sections 5.1.1. Base URI within Document Content and 5.1.2.
Base URI from the Encapsulating Entity However it does not
 return the document base (5.1.3), use doc->URL in this case NrL   rm   xmlNodeGetBaser'   r#  r1  r_   s       r   getBasexmlNode.getBase  s/     ;vvf''8
r   c                 F    [         R                  " U R                  5      nU$ )zRead the value of a node, this can be either the text
carried directly by this node if it's a TEXT node or the
aggregate string of the values carried by this node child's
 (TEXT and ENTITY_REF). Entity references are substituted. r  r   s     r   rb  xmlNode.getContent  s    
 **4773
r   c                 F    [         R                  " U R                  5      nU$ )zxSearches the language of a node, i.e. the values of the
xml:lang attribute or the one carried by the nearest
 ancestor. )rm   xmlNodeGetLangrL   r   s     r   getLangxmlNode.getLang  s     ''0
r   c                 F    [         R                  " U R                  5      nU$ )zSearches the space preserving behaviour of a node, i.e. the
values of the xml:space attribute or the one carried by the
 nearest ancestor. )rm   xmlNodeGetSpacePreserverL   r   s     r   getSpacePreservexmlNode.getSpacePreserve  s     009
r   c                 b    [         R                  " U R                  X5      nUc  g[        US9nU$ )aS  Search for an attribute associated to a node This attribute
has to be anchored in the namespace specified. This does
the entity substitution. This function looks in DTD
attribute declaration for #FIXED or default declaration
values unless DTD use has been turned off. Note that a
 namespace of None indicates to use the default namespace. Nr  )rm   xmlHasNsProprL   r  )r'   r   	nameSpacer_   r  s        r   	hasNsPropxmlNode.hasNsProp  s0     %%dggt?;dS!r   c                 b    [         R                  " U R                  U5      nUc  g[        US9nU$ )zSearch an attribute associated to a node This function also
looks in DTD attribute declaration for #FIXED or default
 declaration values unless DTD use has been turned off. Nr  )rm   
xmlHasProprL   r  )r'   r   r_   r  s       r   hasPropxmlNode.hasProp  s0     ##DGGT2;dS!r   c                 F    [         R                  " U R                  5      nU$ )z\Checks whether this node is an empty or whitespace only
(and possibly ignorable) text-node. )rm   xmlIsBlankNoderL   r   s     r   isBlankNodexmlNode.isBlankNode  s     ''0
r   c                 F    [         R                  " U R                  5      nU$ )zIs this node a Text node ? )rm   xmlNodeIsTextrL   r   s     r   isTextxmlNode.isText      &&tww/
r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )z!Search the last child of a node. zxmlGetLastChild() failedr  )rm   xmlGetLastChildrL   r    r  r  s      r   	lastChildxmlNode.lastChild  s5    ((1;Y'ABBS!r   c                 `    [         R                  " U R                  5      nUc  g[        US9nU$ )zFinds the last child node of that element which is a
Element node Note the handling of entities references is
different than in the W3C DOM element traversal spec since
we don't have back reference from entities content to
 entities references. Nr  )rm   xmlLastElementChildrL   r  r  s      r   lastElementChildxmlNode.lastElementChild  s.     ,,TWW5;dS!r   c                 F    [         R                  " U R                  5      nU$ )zGet line number of @node. Try to override the limitation of
lines being store in 16 bits ints if XML_PARSE_BIG_LINES
 parser option was used )rm   xmlGetLineNorL   r   s     r   lineNoxmlNode.lineNo  s     %%dgg.
r   c                 l    Uc  SnOUR                   n[        R                  " X0R                   U5      nU$ zBuilds the string equivalent to the text contained in the
Node list made of TEXTs and ENTITY_REFs, contrary to
xmlNodeListGetString() this function doesn't do any
 character encoding handling. NrL   rm   xmlNodeListGetRawStringr'   r#  inLiner1  r_   s        r   listGetRawStringxmlNode.listGetRawString  s1    
 ;vvf00&I
r   c                 l    Uc  SnOUR                   n[        R                  " X0R                   U5      nU$ zaBuild the string equivalent to the text contained in the
Node list made of TEXTs and ENTITY_REFs NrL   rm   xmlNodeListGetStringr  s        r   listGetStringxmlNode.listGetString  s1     ;vvf--fggvF
r   c                     Uc  SnOUR                   n[        R                  " U R                   XBU5      nUc  [        S5      e[	        US9nU$ a  Creation of a new child element, added at the end of
@parent children list. @ns and @content parameters are
optional (None). If @ns is None, the newly created element
inherits the namespace of @parent. If @content is non None,
a child list containing the TEXTs and ENTITY_REFs node will
be created. NOTE: @content is supposed to be a piece of XML
CDATA, so it allows entity references. XML special chars
must be escaped first by using
xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should
 be used. NzxmlNewChild() failedr  rL   rm   xmlNewChildr    r  r'   r  r   r   ns__or_   r  s          r   newChildxmlNode.newChild  sM     :tueee$$TWWe7C;Y'=>>S!r   c                 v    [         R                  " U R                  X5      nUc  [        S5      e[	        US9nU$ )a%  Creation of a new Namespace. This function will refuse to
create a namespace with a similar prefix than an existing
one present on this node. Note that for a default
namespace, @prefix should be None.  We use href==None in
the case of an element creation where the namespace was not
 defined. zxmlNewNs() failedr  )rm   xmlNewNsrL   r    rP  )r'   rQ  r  r_   r  s        r   newNsxmlNode.newNs*  s8     !!$''48;Y':;;3r   c                     Uc  SnOUR                   n[        R                  " U R                   XBU5      nUc  [        S5      e[	        US9nU$ ECreate a new property tagged with a namespace and carried
by a node. NzxmlNewNsProp() failedr  rL   rm   xmlNewNsPropr    r  r'   r  r   rg  r  r_   r  s          r   	newNsPropxmlNode.newNsProp6  M     :tueee%%dgguEB;Y'>??S!r   c                     Uc  SnOUR                   n[        R                  " U R                   XBU5      nUc  [        S5      e[	        US9nU$ r  NzxmlNewNsPropEatName() failedr  rL   rm   xmlNewNsPropEatNamer    r  r  s          r   newNsPropEatNamexmlNode.newNsPropEatName@  sM     :tueee,,TWWe5I;Y'EFFS!r   c                 v    [         R                  " U R                  X5      nUc  [        S5      e[	        US9nU$ )z)Create a new property carried by a node. zxmlNewProp() failedr  )rm   
xmlNewProprL   r    r  r'   r   rg  r_   r  s        r   newPropxmlNode.newPropJ  s7    ##DGGT9;Y'<==S!r   c                     Uc  SnOUR                   n[        R                  " U R                   XBU5      nUc  [        S5      e[	        US9nU$ an  Creation of a new child element, added at the end of
@parent children list. @ns and @content parameters are
optional (None). If @ns is None, the newly created element
inherits the namespace of @parent. If @content is non None,
a child TEXT node will be created containing the string
@content. NOTE: Use xmlNewChild() if @content will contain
entities that need to be preserved. Use this function,
xmlNewTextChild(), if you need to ensure that reserved XML
chars that might appear in @content, such as the ampersand,
greater-than or less-than signs, are automatically replaced
 by their XML escaped entity representations. NzxmlNewTextChild() failedr  rL   rm   xmlNewTextChildr    r  r  s          r   newTextChildxmlNode.newTextChildQ  sM     :tueee((%wG;Y'ABBS!r   c                 `    [         R                  " U R                  5      nUc  g[        US9nU$ )zFinds the first closest next sibling of the node which is
an element node. Note the handling of entities references
is different than in the W3C DOM element traversal spec
since we don't have back reference from entities content to
 entities references. Nr  )rm   xmlNextElementSiblingrL   r  r  s      r   nextElementSiblingxmlNode.nextElementSiblingd  s.     ..tww7;dS!r   c                 H    [         R                  " U R                  U5      nU$ )a@  Search and get the value of an attribute associated to a
node This does the entity substitution. This function looks
in DTD attribute declaration for #FIXED or default
declaration values unless DTD use has been turned off. This
function is similar to xmlGetProp except it will accept
 only an attribute in no namespace. )rm   xmlGetNoNsProprL   r'   r   r_   s      r   noNsPropxmlNode.noNsPropo  s     ''6
r   c                 F    [         R                  " U R                  5      nU$ )z0Build a structure based Path for the given node )rm   xmlGetNodePathrL   r   s     r   nodePathxmlNode.nodePathy  r  r   c                 H    [         R                  " U R                  X5      nU$ )a  Search and get the value of an attribute associated to a
node This attribute has to be anchored in the namespace
specified. This does the entity substitution. This function
looks in DTD attribute declaration for #FIXED or default
 declaration values unless DTD use has been turned off. )rm   xmlGetNsProprL   )r'   r   ra  r_   s       r   nsPropxmlNode.nsProp~  s     %%dggt?
r   c                 `    [         R                  " U R                  5      nUc  g[        US9nU$ )a  Finds the first closest previous sibling of the node which
is an element node. Note the handling of entities
references is different than in the W3C DOM element
traversal spec since we don't have back reference from
 entities content to entities references. Nr  )rm   xmlPreviousElementSiblingrL   r  r  s      r   previousElementSiblingxmlNode.previousElementSibling  s.     22477;;dS!r   c                 H    [         R                  " U R                  U5      nU$ )ay  Search and get the value of an attribute associated to a
node This does the entity substitution. This function looks
in DTD attribute declaration for #FIXED or default
declaration values unless DTD use has been turned off.
NOTE: this function acts independently of namespaces
associated to the attribute. Use xmlGetNsProp() or
 xmlGetNoNsProp() for namespace aware processing. )rm   
xmlGetProprL   r  s      r   propxmlNode.prop  s     ##DGGT2
r   c                 j    Uc  SnOUR                   n[        R                  " X R                   5      nU$ a  This function checks that all the namespaces declared
within the given tree are properly declared. This is needed
for example after Copy or Cut and then paste operations.
The subtree may still hold pointers to namespace
declarations outside the subtree or invalid/masked. As much
as possible the function try to reuse the existing
namespaces found in the new environment. If not possible
the new namespaces are redeclared on @tree at the top of
 the given subtree. NrL   rm   xmlReconciliateNsrR  s       r   reconciliateNsxmlNode.reconciliateNs  s/     ;vvf**677;
r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ )zUnlink the old node from its current context, prune the new
one at the same place. If @cur was already inserted in a
 document it is first unlinked from its existing context. NzxmlReplaceNode() failedr  )rL   rm   xmlReplaceNoder    r  r  s        r   replaceNodexmlNode.replaceNode  sK     ;vvf''8;Y'@AAS!r   c                     Uc  SnOUR                   n[        R                  " X0R                   U5      nUc  [        S5      e[	        US9nU$ a  Search a Ns registered under a given name space for a
document. recurse on the parents until it finds the defined
namespace or return None otherwise. @nameSpace can be None,
this is a search for the default namespace. We don't allow
to cross entities boundaries. If you don't declare the
namespace within those you will be in troubles !!! A
 warning is generated to cover this case. NzxmlSearchNs() failedr  rL   rm   xmlSearchNsr    rP  )r'   r#  ra  r1  r_   r  s         r   searchNsxmlNode.searchNs  sJ     ;vvf$$VWWi@;Y'=>>3r   c                     Uc  SnOUR                   n[        R                  " X0R                   U5      nUc  [        S5      e[	        US9nU$ zySearch a Ns aliasing a given URI. Recurse on the parents
until it finds the defined namespace or return None
 otherwise. NzxmlSearchNsByHref() failedr  rL   rm   xmlSearchNsByHrefr    rP  )r'   r#  rQ  r1  r_   r  s         r   searchNsByHrefxmlNode.searchNsByHref  sJ     ;vvf**677DA;Y'CDD3r   c                 F    [         R                  " U R                  U5        g)zQSet (or reset) the base URI of a node, i.e. the value of
the xml:base attribute. N)rm   xmlNodeSetBaserL   r  s     r   setBasexmlNode.setBase  s     	!!$''3/r   c                 F    [         R                  " U R                  U5        gzReplace the content of a node. NOTE: @content is supposed
to be a piece of XML CDATA, so it allows entity references,
but XML special chars need to be escaped first by using
 xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars(). N)rm   xmlNodeSetContentrL   r   s     r   
setContentxmlNode.setContent  r  r   c                 F    [         R                  " U R                  X5        gr  )rm   xmlNodeSetContentLenrL   r  s      r   setContentLenxmlNode.setContentLen  r	  r   c                 F    [         R                  " U R                  U5        g)zGSet the language of a node, i.e. the values of the xml:lang
attribute. N)rm   xmlNodeSetLangrL   )r'   ro  s     r   setLangxmlNode.setLang  s     	!!$''40r   c                 j    Uc  SnOUR                   n[        R                  " U R                   U5        gz<update all nodes in the list to point to the right document NrL   rm   xmlSetListDocr'   r#  r1  s      r   
setListDocxmlNode.setListDoc  s(    ;vvf  &1r   c                 F    [         R                  " U R                  U5        g)z#Set (or reset) the name of a node. N)rm   xmlNodeSetNamerL   r   s     r   setNamexmlNode.setName  s    !!$''40r   c                 j    Uc  SnOUR                   n[        R                  " U R                   U5        gz/Associate a namespace to a node, a posteriori. NrL   rm   xmlSetNs)r'   r  r  s      r   setNsxmlNode.setNs  s(    :tueeeDGGU+r   c                     Uc  SnOUR                   n[        R                  " U R                   XBU5      nUc  [        S5      e[	        US9nU$ zfSet (or reset) an attribute carried by a node. The ns
structure must be in scope, this is not checked NzxmlSetNsProp() failedr  rL   rm   xmlSetNsPropr    r  r  s          r   	setNsPropxmlNode.setNsProp  r  r   c                 v    [         R                  " U R                  X5      nUc  [        S5      e[	        US9nU$ )zSet (or reset) an attribute carried by a node. If @name has
a prefix, then the corresponding namespace-binding will be
used, if in scope; it is an error it there's no such
 ns-binding for the prefix in scope. zxmlSetProp() failedr  )rm   
xmlSetProprL   r    r  r  s        r   setPropxmlNode.setProp  s9    
 ##DGGT9;Y'<==S!r   c                 F    [         R                  " U R                  U5        g)zdSet (or reset) the space preserving behaviour of a node,
i.e. the value of the xml:space attribute. N)rm   xmlNodeSetSpacePreserverL   )r'   r  s     r   setSpacePreservexmlNode.setSpacePreserve  s     	**477C8r   c                 j    Uc  SnOUR                   n[        R                  " U R                   U5        gz?update all nodes under the tree to point to the right
document NrL   rm   xmlSetTreeDocr  s      r   
setTreeDocxmlNode.setTreeDoc  s*     ;vvf  &1r   c                 H    [         R                  " U R                  X5      nU$ )z@Concat the given string at the end of the existing node
content )rm   xmlTextConcatrL   )r'   r   r^   r_   s       r   
textConcatxmlNode.textConcat  s     &&tww=
r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ )zMerge two text nodes into one NzxmlTextMerge() failedr  )rL   rm   xmlTextMerger    r  )r'   second	second__or_   r  s        r   	textMergexmlNode.textMerge  sI    >t9 ))i%%dggy9;Y'>??S!r   c                 D    [         R                  " U R                  5        g)zUnlink a node from it's current context, the node is not
freed If one need to free the node, use xmlFreeNode()
routine after the unlink to discard it. Note that namespace
nodes can't be unlinked as they do not have pointer to
 their parent. N)rm   xmlUnlinkNoderL   r,   s    r   
unlinkNodexmlNode.unlinkNode(  s     	  )r   c                 l    Uc  SnOUR                   n[        R                  " U R                   X25      nU$ z'Remove an attribute carried by a node. NrL   rm   xmlUnsetNsProp)r'   r  r   r  r_   s        r   unsetNsPropxmlNode.unsetNsProp0  s/    :tueee''=
r   c                 H    [         R                  " U R                  U5      nU$ )zURemove an attribute carried by a node. This handles only
attributes in no namespace. )rm   xmlUnsetProprL   r  s      r   	unsetPropxmlNode.unsetProp7  s     %%dggt4
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " X0R                   U5      nU$ zDetermine whether an attribute is of type ID. In case we
have DTD(s) then this is done if DTD loading has been
requested. In the case of HTML documents parsed with the
 HTML parser, then ID detection is done systematically. NrL   rm   xmlIsIDr'   r#  r*  r1  attr__or_   s         r   isIDxmlNode.isIDA  sC    
 ;vvf<4g  ':
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " X0R                   U5      nU$ zDetermine whether an attribute is of type Ref. In case we
have DTD(s) then this is simple, otherwise we use an
 heuristic: name Ref (upper or lowercase). NrL   rm   xmlIsRefr2  s         r   isRefxmlNode.isRefM  sC     ;vvf<4g!!&''7;
r   c                 l    Uc  SnOUR                   n[        R                  " X@R                   X#5      nU$ aZ  Does the validation related extra step of the normalization
of attribute values:  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 (#x20) characters, and by replacing sequences of
 space (#x20) characters by single space (#x20) character. NrL   rm   xmlValidNormalizeAttributeValue)r'   r#  r   rg  r1  r_   s         r   validNormalizeAttributeValue$xmlNode.validNormalizeAttributeValueX  s1     ;vvf88$V
r   c                 F    [         R                  " U R                  5      nU$ z:Implement the XInclude substitution for the given subtree )rm   xmlXIncludeProcessTreerL   r   s     r   xincludeProcessTreexmlNode.xincludeProcessTreeh      //8
r   c                 H    [         R                  " U R                  U5      nU$ rC  )rm   xmlXIncludeProcessTreeFlagsrL   r'   flagsr_   s      r   xincludeProcessTreeFlags xmlNode.xincludeProcessTreeFlagsm  s    44TWWeD
r   c                 j    Uc  SnOUR                   n[        R                  " X R                   5      nU$ z<Validate a branch of a tree, starting with the given @elem. NrL   rm   xmlSchemaValidateOneElementr'   rH  r  r_   s       r   schemaValidateOneElement xmlNode.schemaValidateOneElementv  s-    <4g44WggF
r   c                 F    [         R                  " U R                  5      nU$ )z$Converts a node to its number value )rm   xmlXPathCastNodeToNumberrL   r   s     r   xpathCastNodeToNumberxmlNode.xpathCastNodeToNumber      11$'':
r   c                 F    [         R                  " U R                  5      nU$ )z%Converts a node to its string value. )rm   xmlXPathCastNodeToStringrL   r   s     r   xpathCastNodeToStringxmlNode.xpathCastNodeToString  rY  r   c                 l    Uc  SnOUR                   n[        R                  " U R                   U5      nU$ )z'Compare two nodes w.r.t document order N)rL   rm   xmlXPathCmpNodes)r'   node2node2__or_   s       r   xpathCmpNodesxmlNode.xpathCmpNodes  s/    =T(h))$''8<
r   c                     Uc  SnOUR                   n[        R                  " U R                   X5      nUc  [        S5      e[	        U5      $ )zEvaluate the XPath Location Path in the given context. The
node 'node' is set as the context node. The context node is
 not restored. NzxmlXPathNodeEval() failed)rL   rm   xmlXPathNodeEvalrA   r  )r'   re   r  ctx__or_   s        r   xpathNodeEvalxmlNode.xpathNodeEval  sG     ;vvf))$''3?;Z(CDDc""r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        U5      $ )z[Create a new xmlXPathObjectPtr of type NodeSet and
initialize it with the single Node @val zxmlXPathNewNodeSet() failed)rm   xmlXPathNewNodeSetrL   rA   r  r   s     r   xpathNewNodeSetxmlNode.xpathNewNodeSet  s3     ++DGG4;Z(EFFc""r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        U5      $ )zcCreate a new xmlXPathObjectPtr of type Value Tree (XSLT)
and initialize it with the tree root @val zxmlXPathNewValueTree() failed)rm   xmlXPathNewValueTreerL   rA   r  r   s     r   xpathNewValueTreexmlNode.xpathNewValueTree  s3     --dgg6;Z(GHHc""r   c                     Uc  SnOUR                   n[        R                  " X R                   5      nUc  [        S5      e[	        US9nU$ aq  Traversal function for the "ancestor" direction the
ancestor axis contains the ancestors of the context node;
the ancestors of the context node consist of the parent of
context node and the parent's parent and so on; the nodes
are ordered in reverse document order; thus the parent is
the first node on the axis, and the parent's parent is the
 second node on the axis NzxmlXPathNextAncestor() failedr  rL   rm   xmlXPathNextAncestorrA   r  r'   rH  r  r_   r  s        r   xpathNextAncestorxmlNode.xpathNextAncestor  sI     <4g--gww?;Z(GHHS!r   c                     Uc  SnOUR                   n[        R                  " X R                   5      nUc  [        S5      e[	        US9nU$ aA  Traversal function for the "ancestor-or-self" direction he
ancestor-or-self axis contains the context node and
ancestors of the context node in reverse document order;
thus the context node is the first node on the axis, and
the context node's parent the second; parent here is
 defined the same as with the parent axis. Nz#xmlXPathNextAncestorOrSelf() failedr  rL   rm   xmlXPathNextAncestorOrSelfrA   r  ru  s        r   xpathNextAncestorOrSelfxmlNode.xpathNextAncestorOrSelf  sI     <4g33GWWE;Z(MNNS!r   c                     Uc  SnOUR                   n[        R                  " X R                   5      nUc  [        S5      e[	        US9nU$ z`Traversal function for the "attribute" direction TODO:
support DTD inherited default attributes NzxmlXPathNextAttribute() failedr  rL   rm   xmlXPathNextAttributerA   r  ru  s        r   xpathNextAttributexmlNode.xpathNextAttribute  sI     <4g..w@;Z(HIIS!r   c                     Uc  SnOUR                   n[        R                  " X R                   5      nUc  [        S5      e[	        US9nU$ zyTraversal function for the "child" direction The child axis
contains the children of the context node in document order. NzxmlXPathNextChild() failedr  rL   rm   xmlXPathNextChildrA   r  ru  s        r   xpathNextChildxmlNode.xpathNextChild  sI     <4g**7GG<;Z(DEES!r   c                     Uc  SnOUR                   n[        R                  " X R                   5      nUc  [        S5      e[	        US9nU$ zTraversal function for the "descendant" direction the
descendant axis contains the descendants of the context
node in document order; a descendant is a child or a child
 of a child and so on. NzxmlXPathNextDescendant() failedr  rL   rm   xmlXPathNextDescendantrA   r  ru  s        r   xpathNextDescendantxmlNode.xpathNextDescendant  sI    
 <4g//A;Z(IJJS!r   c                     Uc  SnOUR                   n[        R                  " X R                   5      nUc  [        S5      e[	        US9nU$ a(  Traversal function for the "descendant-or-self" direction
the descendant-or-self axis contains the context node and
the descendants of the context node in document order; thus
the context node is the first node on the axis, and the
first child of the context node is the second node on the
 axis Nz%xmlXPathNextDescendantOrSelf() failedr  rL   rm   xmlXPathNextDescendantOrSelfrA   r  ru  s        r   xpathNextDescendantOrSelf!xmlNode.xpathNextDescendantOrSelf  sI     <4g55gwwG;Z(OPPS!r   c                     Uc  SnOUR                   n[        R                  " X R                   5      nUc  [        S5      e[	        US9nU$ a)  Traversal function for the "following" direction The
following axis contains all nodes in the same document as
the context node that are after the context node in
document order, excluding any descendants and excluding
attribute nodes and namespace nodes; the nodes are ordered
 in document order NzxmlXPathNextFollowing() failedr  rL   rm   xmlXPathNextFollowingrA   r  ru  s        r   xpathNextFollowingxmlNode.xpathNextFollowing  I     <4g..w@;Z(HIIS!r   c                     Uc  SnOUR                   n[        R                  " X R                   5      nUc  [        S5      e[	        US9nU$ zTraversal function for the "following-sibling" direction
The following-sibling axis contains the following siblings
 of the context node in document order. Nz%xmlXPathNextFollowingSibling() failedr  rL   rm   xmlXPathNextFollowingSiblingrA   r  ru  s        r   xpathNextFollowingSibling!xmlNode.xpathNextFollowingSibling  sI     <4g55gwwG;Z(OPPS!r   c                     Uc  SnOUR                   n[        R                  " X R                   5      nUc  [        S5      e[	        US9nU$ a'  Traversal function for the "namespace" direction the
namespace axis contains the namespace nodes of the context
node; the order of nodes on this axis is
implementation-defined; the axis will be empty unless the
context node is an element  We keep the XML namespace node
 at the end of the list. NzxmlXPathNextNamespace() failedr  rL   rm   xmlXPathNextNamespacerA   r  ru  s        r   xpathNextNamespacexmlNode.xpathNextNamespace  r  r   c                     Uc  SnOUR                   n[        R                  " X R                   5      nUc  [        S5      e[	        US9nU$ zyTraversal function for the "parent" direction The parent
axis contains the parent of the context node, if there is
 one. NzxmlXPathNextParent() failedr  rL   rm   xmlXPathNextParentrA   r  ru  s        r   xpathNextParentxmlNode.xpathNextParent   sI     <4g++GWW=;Z(EFFS!r   c                     Uc  SnOUR                   n[        R                  " X R                   5      nUc  [        S5      e[	        US9nU$ a0  Traversal function for the "preceding" direction the
preceding axis contains all nodes in the same document as
the context node that are before the context node in
document order, excluding any ancestors and excluding
attribute nodes and namespace nodes; the nodes are ordered
 in reverse document order NzxmlXPathNextPreceding() failedr  rL   rm   xmlXPathNextPrecedingrA   r  ru  s        r   xpathNextPrecedingxmlNode.xpathNextPreceding+  r  r   c                     Uc  SnOUR                   n[        R                  " X R                   5      nUc  [        S5      e[	        US9nU$ a  Traversal function for the "preceding-sibling" direction
The preceding-sibling axis contains the preceding siblings
of the context node in reverse document order; the first
preceding sibling is first on the axis; the sibling
 preceding that node is the second on the axis and so on. Nz%xmlXPathNextPrecedingSibling() failedr  rL   rm   xmlXPathNextPrecedingSiblingrA   r  ru  s        r   xpathNextPrecedingSibling!xmlNode.xpathNextPrecedingSibling9  sI     <4g55gwwG;Z(OPPS!r   c                     Uc  SnOUR                   n[        R                  " X R                   5      nUc  [        S5      e[	        US9nU$ z`Traversal function for the "self" direction The self axis
contains just the context node itself NzxmlXPathNextSelf() failedr  rL   rm   xmlXPathNextSelfrA   r  ru  s        r   xpathNextSelfxmlNode.xpathNextSelfF  sI     <4g))'77;;Z(CDDS!r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        U5      $ )zBCreate a new xmlXPathObjectPtr of type range using a single
nodes z!xmlXPtrNewCollapsedRange() failed)rm   xmlXPtrNewCollapsedRangerL   r    r  r   s     r   xpointerNewCollapsedRange!xmlNode.xpointerNewCollapsedRangeT  s3     11$'':;Y'JKKc""r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " X0R                   U5      nUc  [        S5      e[	        US9nU$ zCreate a new XPointer context NzxmlXPtrNewContext() failedr  rL   rm   xmlXPtrNewContextr    xpathContext)r'   r#  originr1  	origin__or_   r  s          r   xpointerNewContextxmlNode.xpointerNewContext[  s[    ;vvf>t9 ))i**677IF;Y'CDD#&r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        U5      $ )zCreate a new xmlXPathObjectPtr of type LocationSet and
initialize it with the single range made of the two nodes
 @start and @end Nz#xmlXPtrNewLocationSetNodes() failed)rL   rm   xmlXPtrNewLocationSetNodesr    r  r'   endend__or_   s       r   xpointerNewLocationSetNodes#xmlNode.xpointerNewLocationSetNodesf  sG     ;vvf33DGGVD;Y'LMMc""r   c                     Uc  SnOUR                   n[        R                  " U R                   XU5      nUc  [        S5      e[	        U5      $ )z-Create a new xmlXPathObjectPtr of type range NzxmlXPtrNewRange() failed)rL   rm   xmlXPtrNewRanger    r  )r'   
startindexr  endindexr  r_   s         r   xpointerNewRangexmlNode.xpointerNewRangep  sG    ;vvf((*hO;Y'ABBc""r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        U5      $ )z;Create a new xmlXPathObjectPtr of type range using 2 nodes NzxmlXPtrNewRangeNodes() failed)rL   rm   xmlXPtrNewRangeNodesr    r  r  s       r   xpointerNewRangeNodesxmlNode.xpointerNewRangeNodesx  sE    ;vvf--dggv>;Y'FGGc""r   rw   r#   )kr   r   r	   r
   r(   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r%  r+  r2  r9  r?  rC  rG  rK  rS  rb  rY  r]  rb  rf  rj  rn  rs  rw  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r
  r  r  r  r  r"  r(  r,  r4  r:  r@  rE  rL  rS  rW  r\  rb  rg  rk  ro  rv  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r   r  r    s   *
Q<
@
?

1.7?
	(,



	$
&	
				0
7?1
21,9
2*
	
 


###
		#	###r   r  c                      \ rS rSrSoS jrS rS rS rS rS r	S	 r
S
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S  r!S! r"S" r#S# r$S$ r%S% r&S& r'S' r(S( r)S) r*S* r+S+ r,S, r-S- r.S. r/S/ r0S0 r1S1 r2S2 r3S3 r4S4 r5S5 r6S6 r7S7 r8S8 r9S9 r:S: r;S; r<S< r=S= r>S> r?S? r@S@ rASA rBSB rCSC rDSD rESE rFSF rGSG rHSH rISI rJSJ rKSK rLSL rMSM rNSN rOSO rPSP rQSQ rRSR rSSS rTST rUSU rVSV rWSW rXSX rYSY rZSZ r[S[ r\S\ r]S] r^S^ r_S_ r`S` raSa rbSb rcSc rdSd reSe rfSf rgSg rhSh riSi rjSj rkSk rlSl rmSm rnSnrog)pr$  i  Nc                 j    [        U5      S:w  a  [        S5      eXl        [        R	                  XS9  g )Nr   z&xmlDoc got a wrong wrapper object typer  r   r  rL   r  r(   rM   s     r   r(   xmlDoc.__init__  0    "Y?g5h/h)r   c                 H    SU R                   [        [        U 5      5      4-  $ )Nz<xmlDoc (%s) object at 0x%x>r  r,   s    r   r  xmlDoc.__repr__      -C<N0OOOr   c                 H    [         R                  " U R                  X5      nU$ )zThe HTML DTD allows a tag to implicitly close other tags.
The list is kept in htmlStartClose array. This function
checks if the element or one of it's children would
 autoclose the given tag. )rm   htmlAutoCloseTagrL   )r'   r   r   r_   s       r   r  xmlDoc.htmlAutoCloseTag  s    
 ))$''4>
r   c                 H    [         R                  " U R                  U5      nU$ )zThe HTML DTD allows a tag to implicitly close other tags.
The list is kept in htmlStartClose array. This function
 checks if a tag is autoclosed by one of it's child )rm   htmlIsAutoClosedrL   )r'   r   r_   s      r   r  xmlDoc.htmlIsAutoClosed  s     ))$''48
r   c                 j    Uc  SnOUR                   n[        R                  " X@R                   X#5        gzDump an HTML document. NrL   rm   htmlDocContentDumpFormatOutput)r'   bufr/  r0  buf__os        r   r  %xmlDoc.htmlDocContentDumpFormatOutput  s(    ;vvf11&''8Tr   c                 j    Uc  SnOUR                   n[        R                  " X0R                   U5        gz;Dump an HTML document. Formatting return/spaces are added. NrL   rm   htmlDocContentDumpOutput)r'   r  r/  r  s       r   r  xmlDoc.htmlDocContentDumpOutput  s(    ;vvf++FGGXFr   c                 F    [         R                  " XR                  5      nU$ )z'Dump an HTML document to an open FILE. )rm   htmlDocDumprL   r'   r  r_   s      r   r  xmlDoc.htmlDocDump  s    $$Q0
r   c                 F    [         R                  " U R                  5      nU$ )z,Encoding definition lookup in the Meta tags )rm   htmlGetMetaEncodingrL   r   s     r   r  xmlDoc.htmlGetMetaEncoding      ,,TWW5
r   c                 j    Uc  SnOUR                   n[        R                  " XR                   U5        g)zcDump an HTML node, recursive behaviour,children are printed
too, and formatting returns are added. N)rL   rm   htmlNodeDumpFile)r'   rV  r  r  s       r   r	  xmlDoc.htmlNodeDumpFile  s*     ;vvf##C&9r   c                 n    Uc  SnOUR                   n[        R                  " XR                   XSU5      nU$ )z}Dump an HTML node, recursive behaviour,children are printed
too.  TODO: if encoding == None try to save in the doc
 encoding N)rL   rm   htmlNodeDumpFileFormat)r'   rV  r  r/  r0  r  r_   s          r   r	  xmlDoc.htmlNodeDumpFileFormat  s4     ;vvf//WWfPVW
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " XPR                   XcU5        gzADump an HTML node, recursive behaviour,children are printed
too. NrL   rm   htmlNodeDumpFormatOutput)r'   r  r  r/  r0  r  r  s          r   r
	  xmlDoc.htmlNodeDumpFormatOutput  s>     ;vvf;vvf++FGGVvVr   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " X@R                   XS5        gzjDump an HTML node, recursive behaviour,children are printed
too, and formatting returns/spaces are added. NrL   rm   htmlNodeDumpOutput)r'   r  r  r/  r  r  s         r   r	  xmlDoc.htmlNodeDumpOutput  s<     ;vvf;vvf%%fggvHr   c                 F    [         R                  " XR                  5      nU$ )zNDump an HTML document to a file. If @filename is "-" the
stdout file is used. )rm   htmlSaveFilerL   r'   r  r_   s      r   r	  xmlDoc.htmlSaveFile  s     %%h8
r   c                 H    [         R                  " XR                  U5      nU$ )z`Dump an HTML document to a file using a given encoding and
formatting returns/spaces are added. )rm   htmlSaveFileEncrL   r'   r  r/  r_   s       r   r	  xmlDoc.htmlSaveFileEnc  s     ((77HE
r   c                 H    [         R                  " XR                  X#5      nU$ )z8Dump an HTML document to a file using a given encoding. )rm   htmlSaveFileFormatrL   r'   r  r/  r0  r_   s        r   r	  xmlDoc.htmlSaveFileFormat  s    ++HggxP
r   c                 H    [         R                  " U R                  U5      nU$ )zSets the current encoding in the Meta tags NOTE: this will
not change the document content encoding, just the META
 flag associated. )rm   htmlSetMetaEncodingrL   )r'   r/  r_   s      r   r	  xmlDoc.htmlSetMetaEncoding  s     ,,TWWh?
r   c                 F    [         R                  " XR                  5      nU$ )zTCheck the document for potential content problems, and
output the errors to @output )rm   xmlDebugCheckDocumentrL   )r'   r  r_   s      r   debugCheckDocumentxmlDoc.debugCheckDocument  s     ..vww?
r   c                 D    [         R                  " XR                  5        g)z9Dumps debug information for the document, it's recursive N)rm   xmlDebugDumpDocumentrL   r  s     r   debugDumpDocumentxmlDoc.debugDumpDocument  s    ''8r   c                 D    [         R                  " XR                  5        g)z?Dumps debug information concerning the document, not
recursive N)rm   xmlDebugDumpDocumentHeadrL   r  s     r   debugDumpDocumentHeadxmlDoc.debugDumpDocumentHead  s     	++FGG<r   c                 D    [         R                  " XR                  5        g)zDDumps debug information for all the entities in use by the
document N)rm   xmlDebugDumpEntitiesrL   r  s     r   debugDumpEntitiesxmlDoc.debugDumpEntities  s     	''8r   c                 z    [         R                  " U R                  XX4U5      nUc  [        S5      e[	        US9nU$ )z)Register a new entity for this document. zxmlAddDocEntity() failedr  )rm   xmlAddDocEntityrL   r    r  r'   r   r   r7  rD  r   r_   _xmlDoc__tmps           r   addDocEntityxmlDoc.addDocEntity  <    (($jT[\;Y'ABBs#r   c                 z    [         R                  " U R                  XX4U5      nUc  [        S5      e[	        US9nU$ )z=Register a new entity for this document DTD external subset. zxmlAddDtdEntity() failedr  )rm   xmlAddDtdEntityrL   r    r  r2	  s           r   addDtdEntityxmlDoc.addDtdEntity  r6	  r   c                 v    [         R                  " U R                  U5      nUc  [        S5      e[	        US9nU$ )z:Do an entity lookup in the document entity hash table and zxmlGetDocEntity() failedr  )rm   xmlGetDocEntityrL   r    r  r'   r   r_   r3	  s       r   	docEntityxmlDoc.docEntity  7    (($7;Y'ABBs#r   c                 v    [         R                  " U R                  U5      nUc  [        S5      e[	        US9nU$ )z5Do an entity lookup in the DTD entity hash table and zxmlGetDtdEntity() failedr  )rm   xmlGetDtdEntityrL   r    r  r=	  s       r   	dtdEntityxmlDoc.dtdEntity!  r@	  r   c                 H    [         R                  " U R                  U5      nU$ )zTODO: remove xmlEncodeEntities, once we are not afraid of
breaking binary compatibility  People must migrate their
code to xmlEncodeEntitiesReentrant ! This routine will
 issue a warning when encountered. )rm   xmlEncodeEntitiesrL   r'   r  r_   s      r   encodeEntitiesxmlDoc.encodeEntities(  s    
 **477E:
r   c                 H    [         R                  " U R                  U5      nU$ )zDo a global encoding of a string, replacing the predefined
entities and non ASCII values with their entities and
CharRef counterparts. Contrary to xmlEncodeEntities, this
 routine is reentrant, and result must be deallocated. )rm   xmlEncodeEntitiesReentrantrL   rG	  s      r   encodeEntitiesReentrantxmlDoc.encodeEntitiesReentrant0  s    
 33DGGUC
r   c                 H    [         R                  " U R                  U5      nU$ )zDo a global encoding of a string, replacing the predefined
entities this routine is reentrant, and result must be
 deallocated. )rm   xmlEncodeSpecialCharsrL   rG	  s      r   encodeSpecialCharsxmlDoc.encodeSpecialChars8  s     ..tww>
r   c                 z    [         R                  " U R                  XX4U5      nUc  [        S5      e[	        US9nU$ )a  Create a new entity, this differs from xmlAddDocEntity()
that if the document is None or has no internal subset
defined, then an unlinked entity structure will be
returned, it is then the responsibility of the caller to
link it to the document later or free it when not needed
 anymore. zxmlNewEntity() failedr  )rm   xmlNewEntityrL   r    r  r2	  s           r   	newEntityxmlDoc.newEntity?  s>     %%dggt:QXY;Y'>??s#r   c                 v    [         R                  " U R                  U5      nUc  [        S5      e[	        US9nU$ )z=Do an entity lookup in the internal and external subsets and zxmlGetParameterEntity() failedr  )rm   xmlGetParameterEntityrL   r    r  r=	  s       r   parameterEntityxmlDoc.parameterEntityK  s7    ..tww=;Y'GHHs#r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )zCreate an XML RelaxNGs parser context for that document.
Note: since the process of compiling a RelaxNG schemas
modifies the document, the @doc parameter is duplicated
 internally. z#xmlRelaxNGNewDocParserCtxt() failedr  )rm   xmlRelaxNGNewDocParserCtxtrL   r3   r  r'   r_   r3	  s      r   relaxNGNewDocParserCtxtxmlDoc.relaxNGNewDocParserCtxtV  s7    
 33DGG<;[)NOO!s+r   c                 j    Uc  SnOUR                   n[        R                  " X R                   5      nU$ z$Validate a document tree in memory. NrL   rm   xmlRelaxNGValidateDocrR  s       r   relaxNGValidateDocxmlDoc.relaxNGValidateDoc`  s-    <4g..w@
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " X0R                   U5      nU$ zxValidate a full subtree when
xmlRelaxNGValidatePushElement() returned 0 and the content
 of the node has been expanded. NrL   rm   xmlRelaxNGValidateFullElementr'   rH  r   r  r  r_   s         r   relaxNGValidateFullElement!xmlDoc.relaxNGValidateFullElementg  sC     <4g<4g66wQ
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " X0R                   U5      nU$ z7Pop the element end from the RelaxNG validation stack. NrL   rm   xmlRelaxNGValidatePopElementri	  s         r   relaxNGValidatePopElement xmlDoc.relaxNGValidatePopElementr  sA    <4g<4g55gwwP
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " X0R                   U5      nU$ z:Push a new element start on the RelaxNG validation stack. NrL   rm   xmlRelaxNGValidatePushElementri	  s         r   relaxNGValidatePushElement!xmlDoc.relaxNGValidatePushElement{  sA    <4g<4g66wQ
r   c                 v    [         R                  " U R                  U5      nUc  [        S5      e[	        US9nU$ )z|Do a copy of the document info. If recursive, the content
tree will be copied too as well as DTD, namespaces and
 entities. zxmlCopyDoc() failedr  )rm   
xmlCopyDocrL   r    r$  )r'   	recursiver_   r3	  s       r   copyDocxmlDoc.copyDoc  s9     ##DGGY7;Y'<==C r   c                     Uc  SnOUR                   n[        R                  " X0R                   U5      nUc  [        S5      e[	        US9nU$ r.  r/  )r'   rk  r  node__or_   r3	  s         r   r  xmlDoc.copyNode  sI    <4g''(C;Y'@AAS!r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ r5  r6  )r'   rk  r~	  r_   r3	  s        r   r  xmlDoc.copyNodeList  sI    <4g++DGGW=;Y'DEES!r   c                 x    [         R                  " U R                  XU5      nUc  [        S5      e[	        US9nU$ )z)Create the internal subset of a document zxmlCreateIntSubset() failedr  )rm   xmlCreateIntSubsetrL   r    r  r'   r   r7  rD  r_   r3	  s         r   createIntSubsetxmlDoc.createIntSubset  s9    ++DGGTxP;Y'DEEC r   c                 F    [         R                  " U R                  5      nU$ )z5get the compression ratio for a document, ZLIB based )rm   xmlGetDocCompressModerL   r   s     r   docCompressModexmlDoc.docCompressMode      ..tww7
r   c                 F    [         R                  " XR                  5      nU$ z&Dump an XML document to an open FILE. )rm   
xmlDocDumprL   r  s      r   dumpxmlDoc.dump  s    ##Aww/
r   c                 j    Uc  SnOUR                   n[        R                  " XR                   U5        g)zFDump an XML/HTML node, recursive behaviour, children are
printed too. N)rL   rm   xmlElemDump)r'   r  r  r  s       r   elemDumpxmlDoc.elemDump  s*     ;vvfq''62r   c                 H    [         R                  " XR                  U5      nU$ r	  )rm   xmlDocFormatDumprL   )r'   r  r0  r_   s       r   
formatDumpxmlDoc.formatDump  s    ))!WWf=
r   c                 D    [         R                  " U R                  5        g)z>Free up all the structures used by a document, tree
included. N)rm   r_  rL   r,   s    r   freeDocxmlDoc.freeDoc  s     	dgg&r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )zkGet the root element of the document (doc->children is a
list containing possibly comments, PIs, etc ...). zxmlDocGetRootElement() failedr  )rm   xmlDocGetRootElementrL   r    r  r\	  s      r   getRootElementxmlDoc.getRootElement  s7     --dgg6;Y'FGGS!r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )z&Get the internal subset of a document zxmlGetIntSubset() failedr  )rm   xmlGetIntSubsetrL   r    r  r\	  s      r   	intSubsetxmlDoc.intSubset  s5    ((1;Y'ABBC r   c                 v    [         R                  " U R                  X5      nUc  [        S5      e[	        US9nU$ )z1Creation of a new node containing a CDATA block. zxmlNewCDataBlock() failedr  )rm   xmlNewCDataBlockrL   r    r  r'   r   r^   r_   r3	  s        r   newCDataBlockxmlDoc.newCDataBlock  s7    ))$''7@;Y'BCCS!r   c                 v    [         R                  " U R                  U5      nUc  [        S5      e[	        US9nU$ )z,Creation of a new character reference node. zxmlNewCharRef() failedr  )rm   xmlNewCharRefrL   r    r  r=	  s       r   
newCharRefxmlDoc.newCharRef  s7    &&tww5;Y'?@@S!r   c                 v    [         R                  " U R                  U5      nUc  [        S5      e[	        US9nU$ )z?Creation of a new node containing a comment within a
document. zxmlNewDocComment() failedr  )rm   xmlNewDocCommentrL   r    r  r'   r   r_   r3	  s       r   newDocCommentxmlDoc.newDocComment  s9     ))$''7;;Y'BCCS!r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )z!Creation of a new Fragment node. zxmlNewDocFragment() failedr  )rm   xmlNewDocFragmentrL   r    r  r\	  s      r   newDocFragmentxmlDoc.newDocFragment  s5    **4773;Y'CDDS!r   c                     Uc  SnOUR                   n[        R                  " U R                   XBU5      nUc  [        S5      e[	        US9nU$ B  Creation of a new node element within a document. @ns and
@content are optional (None). NOTE: @content is supposed to
be a piece of XML CDATA, so it allow entities references,
but XML special chars need to be escaped first by using
xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you
 don't need entities support. NzxmlNewDocNode() failedr  rL   rm   xmlNewDocNoder    r  r'   r  r   r   r  r_   r3	  s          r   
newDocNodexmlDoc.newDocNode  sM     :tueee&&twwWE;Y'?@@S!r   c                     Uc  SnOUR                   n[        R                  " U R                   XBU5      nUc  [        S5      e[	        US9nU$ r	  NzxmlNewDocNodeEatName() failedr  rL   rm   xmlNewDocNodeEatNamer    r  r	  s          r   newDocNodeEatNamexmlDoc.newDocNodeEatName  sM     :tueee--dgguGL;Y'FGGS!r   c                 v    [         R                  " U R                  X5      nUc  [        S5      e[	        US9nU$ )z.Creation of a processing instruction element. zxmlNewDocPI() failedr  )rm   xmlNewDocPIrL   r    r  )r'   r   r   r_   r3	  s        r   newDocPIxmlDoc.newDocPI  s7    $$TWWd<;Y'=>>S!r   c                 v    [         R                  " U R                  X5      nUc  [        S5      e[	        US9nU$ )a  Create a new property carried by a document. NOTE: @value
is supposed to be a piece of XML CDATA, so it allows entity
references, but XML special chars need to be escaped first
by using xmlEncodeEntitiesReentrant(). Use xmlNewProp() if
 you don't need entities support. zxmlNewDocProp() failedr  )rm   xmlNewDocProprL   r    r  )r'   r   rg  r_   r3	  s        r   
newDocPropxmlDoc.newDocProp  s9     &&tww<;Y'?@@S!r   c                     Uc  SnOUR                   n[        R                  " U R                   XBU5      nUc  [        S5      e[	        US9nU$ zXCreation of a new node element within a document. @ns and
@content are optional (None). NzxmlNewDocRawNode() failedr  rL   rm   xmlNewDocRawNoder    r  r	  s          r   newDocRawNodexmlDoc.newDocRawNode  sM     :tueee))$''5H;Y'BCCS!r   c                 v    [         R                  " U R                  U5      nUc  [        S5      e[	        US9nU$ )z/Creation of a new text node within a document. zxmlNewDocText() failedr  )rm   xmlNewDocTextrL   r    r  r	  s       r   
newDocTextxmlDoc.newDocText)  s7    &&tww8;Y'?@@S!r   c                 v    [         R                  " U R                  X5      nUc  [        S5      e[	        US9nU$ )zoCreation of a new text node with an extra content length
parameter. The text node pertain to a given document. zxmlNewDocTextLen() failedr  )rm   xmlNewDocTextLenrL   r    r  r	  s        r   newDocTextLenxmlDoc.newDocTextLen0  s9     ))$''7@;Y'BCCS!r   c                 x    [         R                  " U R                  XU5      nUc  [        S5      e[	        US9nU$ )zgCreation of a new DTD for the external subset. To create an
internal subset, use xmlCreateIntSubset(). zxmlNewDtd() failedr  )rm   	xmlNewDtdrL   r    r  r	  s         r   newDtdxmlDoc.newDtd8  s;     ""477DhG;Y';<<C r   c                 v    [         R                  " U R                  X5      nUc  [        S5      e[	        US9nU$ )zQCreation of a Namespace, the old way using PI and without
scoping DEPRECATED !!! zxmlNewGlobalNs() failedr  )rm   xmlNewGlobalNsrL   r    rP  )r'   rQ  r  r_   r3	  s        r   newGlobalNsxmlDoc.newGlobalNs@  s8     ''>;Y'@AA3r   c                 v    [         R                  " U R                  U5      nUc  [        S5      e[	        US9nU$ )z"Creation of a new reference node. zxmlNewReference() failedr  )rm   xmlNewReferencerL   r    r  r=	  s       r   newReferencexmlDoc.newReferenceH  s7    (($7;Y'ABBS!r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " X`R                   XsXE5        gzDump an XML node, recursive behaviour, children are printed
too. Note that @format = 1 provide node indenting only if
xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was
 called NrL   rm   xmlNodeDumpOutput)r'   r  r  r~  r0  r/  r  r  s           r   nodeDumpOutputxmlDoc.nodeDumpOutputO  s>    
 ;vvf;vvf$$VWWfVVr   c                 l    Uc  SnOUR                   n[        R                  " U R                   U5      nU$ rO  rP  )r'   r  r  r_   s       r   nodeGetBasexmlDoc.nodeGetBaseZ  s1     ;vvf''8
r   c                 l    Uc  SnOUR                   n[        R                  " U R                   X25      nU$ r~  r  r'   r  r  list__or_   s        r   nodeListGetRawStringxmlDoc.nodeListGetRawStringf  s1    
 <4g00'J
r   c                 l    Uc  SnOUR                   n[        R                  " U R                   X25      nU$ r  r  r	  s        r   nodeListGetStringxmlDoc.nodeListGetStringp  s1     <4g--dggwG
r   c                 l    Uc  SnOUR                   n[        R                  " U R                   U5      nU$ r  r  )r'   treetree__or_   s       r   r  xmlDoc.reconciliateNsx  s1     <4g**477G<
r   c                 F    [         R                  " XR                  5      nU$ )zDump an XML document to a file. Will use compression if
compiled in and enabled. If @filename is "-" the stdout
 file is used. )rm   xmlSaveFilerL   r	  s      r   saveFilexmlDoc.saveFile  s     $$Xww7
r   c                 H    [         R                  " XR                  U5      nU$ )z:Dump an XML document, converting it to the given encoding )rm   xmlSaveFileEncrL   r	  s       r   saveFileEncxmlDoc.saveFileEnc  s    ''''8D
r   c                 l    Uc  SnOUR                   n[        R                  " X0R                   U5      nU$ zDump an XML document to an I/O buffer. Warning ! This call
xmlOutputBufferClose() on buf which is not available after
 this call. NrL   rm   xmlSaveFileTo)r'   r  r/  r  r_   s        r   
saveFileToxmlDoc.saveFileTo  s1     ;vvf&&vwwA
r   c                 H    [         R                  " XR                  U5      nU$ )a2  Dump an XML document to a file. Will use compression if
compiled in and enabled. If @filename is "-" the stdout
file is used. If @format is set then the document will be
indented on output. Note that @format = 1 provide node
indenting only if xmlIndentTreeOutput = 1 or
 xmlKeepBlanksDefault(0) was called )rm   xmlSaveFormatFilerL   )r'   r  r0  r_   s       r   saveFormatFilexmlDoc.saveFormatFile  s     **8WWfE
r   c                 H    [         R                  " XR                  X#5      nU$ )z*Dump an XML document to a file or an URL. )rm   xmlSaveFormatFileEncrL   r	  s        r   saveFormatFileEncxmlDoc.saveFormatFileEnc  s    --hR
r   c                 l    Uc  SnOUR                   n[        R                  " X@R                   X#5      nU$ r
  rL   rm   xmlSaveFormatFileTo)r'   r  r/  r0  r  r_   s         r   saveFormatFileToxmlDoc.saveFormatFileTo  s1     ;vvf,,VWWhO
r   c                     Uc  SnOUR                   n[        R                  " U R                   X25      nUc  [        S5      e[	        US9nU$ r  r  )r'   rk  ra  r~	  r_   r3	  s         r   r  xmlDoc.searchNs  sJ     <4g$$TWWgA;Y'=>>3r   c                     Uc  SnOUR                   n[        R                  " U R                   X25      nUc  [        S5      e[	        US9nU$ r  r  )r'   rk  rQ  r~	  r_   r3	  s         r   r  xmlDoc.searchNsByHref  sJ     <4g**477GB;Y'CDD3r   c                 F    [         R                  " U R                  U5        g)zmset the compression ratio for a document, ZLIB based
Correct values: 0 (uncompressed) to 9 (max compression) N)rm   xmlSetDocCompressModerL   )r'   r  s     r   setDocCompressModexmlDoc.setDocCompressMode  s     	(($7r   c                 h    Uc  SnOUR                   n[        R                  " X R                   5        gr  r  )r'   r  r	  s      r   r  xmlDoc.setListDoc  s&    <4g  ''2r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  g[        US9nU$ r<  r=  )r'   rootroot__or_   r3	  s        r   setRootElementxmlDoc.setRootElement  sB     <4g--dggw?;dS!r   c                 h    Uc  SnOUR                   n[        R                  " X R                   5        gr  r  )r'   r	  r	  s      r   r  xmlDoc.setTreeDoc  s(     <4g  ''2r   c                 v    [         R                  " U R                  U5      nUc  [        S5      e[	        US9nU$ )wParse the value string and build the node list associated.
Should produce a flat tree with only TEXTs and ENTITY_REFs. zxmlStringGetNodeList() failedr  )rm   xmlStringGetNodeListrL   r    r  )r'   rg  r_   r3	  s       r   stringGetNodeListxmlDoc.stringGetNodeList  s9     --dggu=;Y'FGGS!r   c                 v    [         R                  " U R                  X5      nUc  [        S5      e[	        US9nU$ )r(
  z xmlStringLenGetNodeList() failedr  )rm   xmlStringLenGetNodeListrL   r    r  )r'   rg  r^   r_   r3	  s        r   stringLenGetNodeListxmlDoc.stringLenGetNodeList  s9     00%E;Y'IJJS!r   c                 v    [         R                  " U R                  U5      nUc  [        S5      e[	        US9nU$ )z,Search the attribute declaring the given ID zxmlGetID() failedr  )rm   xmlGetIDrL   r    r  )r'   rz  r_   r3	  s       r   rz  	xmlDoc.ID  s7    !!$''2.;Y':;;S!r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " U R                   X45      nU$ r/  r0  r'   r   r*  r  r3  r_   s         r   r4  xmlDoc.isID  sC    
 <4g<4g  ';
r   c                 H    [         R                  " U R                  U5      nU$ )zvSearch in the DtDs whether an element accept Mixed content
(or ANY) basically if it is supposed to accept text childs )rm   xmlIsMixedElementrL   r  s      r   isMixedElementxmlDoc.isMixedElement  s     **477D9
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " U R                   X45      nU$ r7  r8  r4
  s         r   r:  xmlDoc.isRef  sC     <4g<4g!!$''7<
r   c                 l    Uc  SnOUR                   n[        R                  " U R                   U5      nU$ zDRemove the given attribute from the ID table maintained
internally. NrL   rm   xmlRemoveIDr'   r*  r3  r_   s       r   removeIDxmlDoc.removeID"  s1     <4g$$TWWg6
r   c                 l    Uc  SnOUR                   n[        R                  " U R                   U5      nU$ zERemove the given attribute from the Ref table maintained
internally. NrL   rm   xmlRemoveRefr@
  s       r   	removeRefxmlDoc.removeRef*  s1     <4g%%dggw7
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " XPR                   XcU5      nU$ a  Does the validation related extra step of the normalization
of attribute values:  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 (#x20) characters, and by replacing sequences of
space (#x20) characters by single space (#x20) character. 
Also  check VC: Standalone Document Declaration in P32, and
 update ctxt->valid accordingly NrL   rm   #xmlValidCtxtNormalizeAttributeValue)r'   rH  r   r   rg  r  r  r_   s           r    validCtxtNormalizeAttributeValue'xmlDoc.validCtxtNormalizeAttributeValue2  sF     <4g<4g<<Wggw^cd
r   c                 n    Uc  SnOUR                   n[        R                  " U R                   XBU5      nU$ r=  r>  )r'   r   r   rg  r  r_   s         r   r@  #xmlDoc.validNormalizeAttributeValueB  s4     <4g88'QVW
r   c                 j    Uc  SnOUR                   n[        R                  " X R                   5      nU$ zTry to validate the document instance  basically it does
the all the checks described by the XML Rec i.e. validates
the internal and external subset (if present) and validate
 the document tree. NrL   rm   xmlValidateDocumentrR  s       r   validateDocumentxmlDoc.validateDocumentN  s/    
 <4g,,Wgg>
r   c                 j    Uc  SnOUR                   n[        R                  " X R                   5      nU$ zDoes the final step for the document validation once all
the incremental validation steps have been completed 
basically it does the following checks described by the XML
Rec  Check all the IDREF/IDREFS attributes definition for
 validity NrL   rm   xmlValidateDocumentFinalrR  s       r   validateDocumentFinalxmlDoc.validateDocumentFinalX  s/     <4g11'77C
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " X0R                   U5      nU$ zTry to validate the document against the dtd instance 
Basically it does check all the definitions in the DtD.
Note the the internal subset (if present) is de-coupled
(i.e. not used), which could give problems if ID or IDREF
 is present. NrL   rm   xmlValidateDtd)r'   rH  r  r  dtd__or_   s         r   validateDtdxmlDoc.validateDtdc  sC     <4g;vvf''&A
r   c                 j    Uc  SnOUR                   n[        R                  " X R                   5      nU$ al  Does the final step for the dtds validation once all the
subsets have been parsed  basically it does the following
checks described by the XML Rec - check that ENTITY and
ENTITIES type attributes default or possible values matches
one of the defined entities. - check that NOTATION type
attributes default or possible values matches one of the
 defined notations. NrL   rm   xmlValidateDtdFinalrR  s       r   validateDtdFinalxmlDoc.validateDtdFinalp  s/     <4g,,Wgg>
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " X0R                   U5      nU$ z-Try to validate the subtree under an element NrL   rm   xmlValidateElementri	  s         r   validateElementxmlDoc.validateElement}  sA    <4g<4g++GWWgF
r   c                 l    Uc  SnOUR                   n[        R                  " X0R                   U5      nU$ zWValidate that the given name match a notation declaration.
- [ VC: Notation Declared ] NrL   rm   xmlValidateNotationUse)r'   rH  r   r  r_   s        r   validateNotationUsexmlDoc.validateNotationUse  s1     <4g//,O
r   c                     Uc  SnOUR                   nUc  SnOUR                   nUc  SnOUR                   n[        R                  " XPR                   XgU5      nU$ a}  Try to validate a single attribute for an element basically
it does the following checks as described by the XML-1.0
recommendation: - [ VC: Attribute Value Type ] - [ VC:
Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC:
Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity
Name ] - [ VC: Notation Attributes ]  The ID/IDREF
 uniqueness and matching are done separately NrL   rm   xmlValidateOneAttribute)	r'   rH  r   r*  rg  r  r  r3  r_   s	            r   validateOneAttributexmlDoc.validateOneAttribute  sX     <4g<4g<4g00''7UZ[
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " X0R                   U5      nU$ a+  Try to validate a single element and it's attributes,
basically it does the following checks as described by the
XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC:
Required Attribute ] Then call xmlValidateOneAttribute()
for each attribute present.  The ID/IDREF checkings are
 done separately NrL   rm   xmlValidateOneElementri	  s         r   validateOneElementxmlDoc.validateOneElement  sC     <4g<4g..wI
r   c                     Uc  SnOUR                   nUc  SnOUR                   nUc  SnOUR                   n[        R                  " X`R                   XsX5      n	U	$ a  Try to validate a single namespace declaration for an
element basically it does the following checks as described
by the XML-1.0 recommendation: - [ VC: Attribute Value Type
] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] -
[ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC:
Entity Name ] - [ VC: Notation Attributes ]  The ID/IDREF
 uniqueness and matching are done separately NrL   rm   xmlValidateOneNamespace)
r'   rH  r   r  r  rg  r  r  r  r_   s
             r   validateOneNamespacexmlDoc.validateOneNamespace  sX     <4g<4g:tueee00''7TYa
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " X@R                   XS5      nU$ z/Pop the element end from the validation stack. NrL   rm   xmlValidatePopElementr'   rH  r   qnamer  r  r_   s          r   validatePopElementxmlDoc.validatePopElement  sA    <4g<4g..wP
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " X@R                   XS5      nU$ z2Push a new element start on the validation stack. NrL   rm   xmlValidatePushElementr
  s          r   validatePushElementxmlDoc.validatePushElement  sA    <4g<4g//'Q
r   c                 j    Uc  SnOUR                   n[        R                  " X R                   5      nU$ zTry to validate a the root element basically it does the
following check as described by the XML-1.0 recommendation:
- [ VC: Root Element Type ] it doesn't try to recurse or
 apply other check to the element NrL   rm   xmlValidateRootrR  s       r   validateRootxmlDoc.validateRoot  s/    
 <4g(('':
r   c                 F    [         R                  " U R                  5      nU$ z=Implement the XInclude substitution on the XML document @doc )rm   xmlXIncludeProcessrL   r   s     r   xincludeProcessxmlDoc.xincludeProcess      ++DGG4
r   c                 H    [         R                  " U R                  U5      nU$ r
  )rm   xmlXIncludeProcessFlagsrL   rJ  s      r   xincludeProcessFlagsxmlDoc.xincludeProcessFlags  s    00%@
r   c                 j    Uc  SnOUR                   n[        R                  " X R                   5      nU$ zjSetup an xmltextReader to parse a preparsed XML document.
This reuses the existing @reader xmlTextReader. NrL   rm   xmlReaderNewWalkerr'   reader	reader__or_   s       r   	NewWalkerxmlDoc.NewWalker  s/     >t9 ))i++Iww?
r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )z2Create an xmltextReader for a preparsed document. zxmlReaderWalker() failedr  )rm   xmlReaderWalkerrL   r    rg  r\	  s      r   readerWalkerxmlDoc.readerWalker  s5    ((1;Y'ABB3'r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )ztCreate an XML Schemas parse context for that document. NB.
The document may be modified during the parsing process. z"xmlSchemaNewDocParserCtxt() failedr  )rm   xmlSchemaNewDocParserCtxtrL   r3   r}  r\	  s      r   schemaNewDocParserCtxtxmlDoc.schemaNewDocParserCtxt  s7     22477;;[)MNN c*r   c                 j    Uc  SnOUR                   n[        R                  " X R                   5      nU$ r`	  rL   rm   xmlSchemaValidateDocrR  s       r   schemaValidateDocxmlDoc.schemaValidateDoc  s-    <4g--gww?
r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )zCreate a new xmlXPathContext zxmlXPathNewContext() failedr  )rm   xmlXPathNewContextrL   rA   r  r\	  s      r   rC  xmlDoc.xpathNewContext  s5    ++DGG4;Z(EFF#&r   c                 F    [         R                  " U R                  5      nU$ )a;  Call this routine to speed up XPath computation on static
documents. This stamps all the element nodes with the
document order Like for line information, the order is kept
in the element->content field, the value stored is actually
- the node number (starting at -1) to be able to
 differentiate from line numbers. )rm   xmlXPathOrderDocElemsrL   r   s     r   xpathOrderDocElemsxmlDoc.xpathOrderDocElems  s     ..tww7
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " U R                   X45      nUc  [        S5      e[	        US9nU$ r  r  )r'   herer  here__or  r_   r3	  s          r   r  xmlDoc.xpointerNewContext'  s[    <4g>t9 ))i**477GG;Y'CDD#&r   rw   r#   )pr   r   r	   r
   r(   r  r  r  r  r  r  r  r	  r	  r
	  r	  r	  r	  r	  r	  r"	  r&	  r*	  r.	  r4	  r9	  r>	  rC	  rH	  rL	  rP	  rT	  rX	  r]	  rc	  rj	  rp	  rv	  r{	  r  r  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r  r	  r
  r
  r
  r
  r
  r  r  r
  r  r#
  r  r*
  r.
  rz  r4  r8
  r:  rA
  rG
  rM
  r@  rU
  r[
  rb
  rh
  rn
  rt
  rz
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  rC  r
  r  r   r   r   r   r$  r$    s   *
PUG

:WI
9=
9
	

3
'
		W


	8
33
	 
	""
	r   r$  c                   
   \ rS rSrSWS jrS rS rS rS rS r	S	 r
S
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S  r!S! r"S" r#S# r$S$ r%S% r&S& r'S' r(S( r)S) r*S* r+S+ r,S, r-S- r.S. r/S/ r0S0 r1S1 r2S2 r3S3 r4S4 r5S5 r6S6 r7S7 r8S8 r9S9 r:S: r;S; r<S< r=S= r>S> r?S? r@S@ rASA rBSB rCSC rDSD rESE rFSF rGSG rHSH rISI rJSJ rKSK rLSL rMSM rNSN rOSO rPSP rQSQ rRSR rSSS rTST rUSU rVSVrWg)Xr
  i2  Nc                 6    Xl         [        R                  XS9  g r
  )rL   r  r(   rM   s     r   r(   parserCtxt.__init__3      0r   c                 r    U R                   S :w  a   [        R                  " U R                   5        S U l         g r#   r  r,   s    r   rr   parserCtxt.__del__7  r  r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )z-Get the document tree from a parser context. zxmlParserGetDoc() failedr  )rm   xmlParserGetDocrL   r3   r$  r'   r_   _parserCtxt__tmps      r   r#  parserCtxt.doc=  s5    ((1;[)CDDC r   c                 F    [         R                  " U R                  5      nU$ )z4Get the validity information from a parser context. )rm   xmlParserGetIsValidrL   r   s     r   isValidparserCtxt.isValidD  r 	  r   c                 F    [         R                  " U R                  U5        g)z<Switch on the generation of line number for elements nodes. N)rm   xmlParserSetLineNumbersrL   )r'   linenumberss     r   lineNumbersparserCtxt.lineNumbersI  s    **477K@r   c                 F    [         R                  " U R                  U5        g)z6Switch the parser to load the DTD without validating. N)rm   xmlParserSetLoadSubsetrL   )r'   
loadsubsets     r   
loadSubsetparserCtxt.loadSubsetM  s    ))$'':>r   c                 F    [         R                  " U R                  U5        g)z"Switch the parser to be pedantic. N)rm   xmlParserSetPedanticrL   )r'   pedantics     r   r
  parserCtxt.pedanticQ      '':r   c                 F    [         R                  " U R                  U5        g)z'Switch the parser to replace entities. N)rm   xmlParserSetReplaceEntitiesrL   )r'   replaceEntitiess     r   r
  parserCtxt.replaceEntitiesU  s    ..twwHr   c                 F    [         R                  " U R                  U5        g)z&Switch the parser to validation mode. N)rm   xmlParserSetValidaterL   )r'   validates     r   r
  parserCtxt.validateY  r
  r   c                 F    [         R                  " U R                  5      nU$ )z7Get the well formed information from a parser context. )rm   xmlParserGetWellFormedrL   r   s     r   
wellFormedparserCtxt.wellFormed]  rG  r   c                 x    [         R                  " U R                  XX45      nUc  [        S5      e[	        US9nU$ )`parse an XML in-memory document and build a tree. This
reuses the existing @ctxt parser context zhtmlCtxtReadDoc() failedr  )rm   htmlCtxtReadDocrL   r    r$  r'   r  r$  r/  r%  r_   r
  s          r   r
  parserCtxt.htmlCtxtReadDocf  s;     ((#HN;Y'ABBC r   c                 x    [         R                  " U R                  XX45      nUc  [        S5      e[	        US9nU$ )zdparse an XML from a file descriptor and build a tree. This
reuses the existing @ctxt parser context zhtmlCtxtReadFd() failedr  )rm   htmlCtxtReadFdrL   r    r$  r'   r)  r$  r/  r%  r_   r
  s          r   r
  parserCtxt.htmlCtxtReadFdn  s;     ''(L;Y'@AAC r   c                 x    [         R                  " U R                  XU5      nUc  [        S5      e[	        US9nU$ )dparse an XML file from the filesystem or the network. This
reuses the existing @ctxt parser context zhtmlCtxtReadFile() failedr  )rm   htmlCtxtReadFilerL   r    r$  r'   r  r/  r%  r_   r
  s         r   r
  parserCtxt.htmlCtxtReadFilev  s;     ))$''8wO;Y'BCCC r   c                 z    [         R                  " U R                  XX4U5      nUc  [        S5      e[	        US9nU$ )r
  zhtmlCtxtReadMemory() failedr  )rm   htmlCtxtReadMemoryrL   r    r$  r'   r  r  r$  r/  r%  r_   r
  s           r   r   parserCtxt.htmlCtxtReadMemory~  s>     ++DGGV3RYZ;Y'DEEC r   c                 D    [         R                  " U R                  5        gzReset a parser context N)rm   htmlCtxtResetrL   r,   s    r   r  parserCtxt.htmlCtxtReset        )r   c                 H    [         R                  " U R                  U5      nU$ z*Applies the options to the parser context )rm   htmlCtxtUseOptionsrL   r'   r%  r_   s      r   r
  parserCtxt.htmlCtxtUseOptions  s    ++DGGW=
r   c                 D    [         R                  " U R                  5        g)zgFree all the memory used by a parser context. However the
parsed document in ctxt->myDoc is not freed. N)rm   htmlFreeParserCtxtrL   r,   s    r   r  parserCtxt.htmlFreeParserCtxt       	%%dgg.r   c                 F    [         R                  " U R                  5      nU$ )zXparse Reference declarations  [66] CharRef ::= '&#' [0-9]+
';' | '&#x' [0-9a-fA-F]+ ';' )rm   htmlParseCharRefrL   r   s     r   r  parserCtxt.htmlParseCharRef       ))$''2
r   c                 J    [         R                  " U R                  XU5      nU$ zParse a Chunk of memory )rm   htmlParseChunkrL   r'   r  r  	terminater_   s        r   r  parserCtxt.htmlParseChunk  s    ''iH
r   c                 F    [         R                  " U R                  5      nU$ )zOparse an HTML document (and build a tree if using the
standard SAX interface). )rm   htmlParseDocumentrL   r   s     r   r  parserCtxt.htmlParseDocument       **4773
r   c                 D    [         R                  " U R                  5        g)zparse an HTML element, this is highly recursive this is
kept for compatibility with previous code versions  [39]
element ::= EmptyElemTag | STag content ETag  [41]
 Attribute ::= Name Eq AttValue N)rm   htmlParseElementrL   r,   s    r   r   parserCtxt.htmlParseElement  s    
 	##DGG,r   c                 F    [         R                  " U R                  5      nU$ )aQ  This function provides the current index of the parser
relative to the start of the current entity. This function
is computed in bytes from the beginning starting at zero
and finishing at the size in byte of the file if parsing a
file. The function is of constant cost if the input is
 UTF-8 but can be costly if run on non-UTF-8 input. )rm   xmlByteConsumedrL   r   s     r   byteConsumedparserCtxt.byteConsumed  s     ((1
r   c                 D    [         R                  " U R                  5        g)zBClear (release owned resources) and reinitialize a parser
context N)rm   xmlClearParserCtxtrL   r,   s    r   clearParserCtxtparserCtxt.clearParserCtxt  r  r   c                 x    [         R                  " U R                  XX45      nUc  [        S5      e[	        US9nU$ )r
  zxmlCtxtReadDoc() failedr  )rm   xmlCtxtReadDocrL   r    r$  r
  s          r   ctxtReadDocparserCtxt.ctxtReadDoc  s;     ''8M;Y'@AAC r   c                 x    [         R                  " U R                  XX45      nUc  [        S5      e[	        US9nU$ )zparse an XML from a file descriptor and build a tree. This
reuses the existing @ctxt parser context NOTE that the file
descriptor will not be closed when the reader is closed or
 reset. zxmlCtxtReadFd() failedr  )rm   xmlCtxtReadFdrL   r    r$  r
  s          r   
ctxtReadFdparserCtxt.ctxtReadFd  s;    
 &&twwK;Y'?@@C r   c                 x    [         R                  " U R                  XU5      nUc  [        S5      e[	        US9nU$ )r
  zxmlCtxtReadFile() failedr  )rm   xmlCtxtReadFilerL   r    r$  r
  s         r   ctxtReadFileparserCtxt.ctxtReadFile  s;     (((gN;Y'ABBC r   c                 z    [         R                  " U R                  XX4U5      nUc  [        S5      e[	        US9nU$ )r
  zxmlCtxtReadMemory() failedr  )rm   xmlCtxtReadMemoryrL   r    r$  r  s           r   ctxtReadMemoryparserCtxt.ctxtReadMemory  s>     **477F#QXY;Y'CDDC r   c                 D    [         R                  " U R                  5        gr  )rm   xmlCtxtResetrL   r,   s    r   	ctxtResetparserCtxt.ctxtReset      (r   c                 J    [         R                  " U R                  XX45      nU$ )zReset a push parser context )rm   xmlCtxtResetPushrL   )r'   r  r  r  r/  r_   s         r   ctxtResetPushparserCtxt.ctxtResetPush  s    ))$''5S
r   c                 H    [         R                  " U R                  U5      nU$ r	  )rm   xmlCtxtUseOptionsrL   r  s      r   ctxtUseOptionsparserCtxt.ctxtUseOptions  s    **477G<
r   c                 F    [         R                  " U R                  5      nU$ )zInitialize a parser context )rm   xmlInitParserCtxtrL   r   s     r   initParserCtxtparserCtxt.initParserCtxt      **4773
r   c                 J    [         R                  " U R                  XU5      nU$ r  )rm   xmlParseChunkrL   r  s        r   
parseChunkparserCtxt.parseChunk  s    &&twwYG
r   c                 F    [         R                  " U R                  5      nU$ )zparse an XML document (and build a tree if using the
standard SAX interface).  [1] document ::= prolog element
 Misc*  [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)? )rm   xmlParseDocumentrL   r   s     r   parseDocumentparserCtxt.parseDocument  s     ))$''2
r   c                 F    [         R                  " U R                  5      nU$ )zparse a general parsed entity An external general parsed
entity is well-formed if it matches the production labeled
 extParsedEnt.  [78] extParsedEnt ::= TextDecl? content )rm   xmlParseExtParsedEntrL   r   s     r   parseExtParsedEntparserCtxt.parseExtParsedEnt        --dgg6
r   c                 F    [         R                  " U R                  X5        g)zSetup the parser context to parse a new buffer; Clears any
prior contents from the parser context. The buffer
parameter must not be None, but the filename parameter can
 be N)rm   xmlSetupParserForBufferrL   )r'   r  r  s      r   setupParserForBufferparserCtxt.setupParserForBuffer  s    
 	**477FEr   c                 D    [         R                  " U R                  5        g)z!Blocks further parser processing N)rm   xmlStopParserrL   r,   s    r   
stopParserparserCtxt.stopParser  r  r   c                 L    [         R                  " U R                  XX4U5      nU$ )zThis function is deprecated, we now always process entities
content through xmlStringDecodeEntities  TODO: remove it in
next major release.  [67] Reference ::= EntityRef | CharRef
  [69] PEReference ::= '%' Name ';' )rm   xmlDecodeEntitiesrL   )r'   r^   whatr  end2end3r_   s          r   decodeEntitiesparserCtxt.decodeEntities  s#    
 **477Cs$O
r   c                 j    Uc  SnOUR                   n[        R                  " U R                   U5        gzDefault handling of defined entities, when should we define
a new input stream ? When do we just handle that as a set
 of chars ?  OBSOLETE: to be removed at some point. NrL   rm   xmlHandleEntity)r'   entity	entity__os      r   handleEntityparserCtxt.handleEntity  s*     >t9 ))i""477I6r   c                 F    [         R                  " U R                  5      nU$ )a  parse an XML namespace name.  TODO: this seems not in use
anymore, the namespace handling is done on top of the SAX
interfaces, i.e. not on raw input.  [NS 3] NCName ::=
(Letter | '_') (NCNameChar)*  [NS 4] NCNameChar ::= Letter
 | Digit | '.' | '-' | '_' | CombiningChar | Extender )rm   xmlNamespaceParseNCNamerL   r   s     r   namespaceParseNCNameparserCtxt.namespaceParseNCName&  s     009
r   c                 F    [         R                  " U R                  5      nU$ )zparse a namespace prefix declaration  TODO: this seems not
in use anymore, the namespace handling is done on top of
the SAX interfaces, i.e. not on raw input.  [NS 1] NSDef
::= PrefixDef Eq SystemLiteral  [NS 2] PrefixDef ::=
 'xmlns' (':' NCName)? )rm   xmlNamespaceParseNSDefrL   r   s     r   namespaceParseNSDefparserCtxt.namespaceParseNSDef/  s     //8
r   c                 D    [         R                  " U R                  5        g)z"Skip to the next char input char. N)rm   xmlNextCharrL   r,   s    r   nextCharparserCtxt.nextChar8      tww'r   c                 F    [         R                  " U R                  5      nU$ )a&  parse a value for an attribute Note: the parser won't do
substitution of entities here, this will be handled later
in xmlStringGetNodeList  [10] AttValue ::= '"' ([^<&"] |
Reference)* '"' | "'" ([^<&'] | Reference)* "'"  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
(#x20, #xD, #xA, #x9) is processed by appending #x20 to the
normalized value, except that only a single #x20 is
appended for a "#xD#xA" 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 (#x20) characters, and by
replacing sequences of space (#x20) characters by a single
space (#x20) character. All attributes for which no
declaration has been read should be treated by a
 non-validating parser as if declared CDATA. )rm   xmlParseAttValuerL   r   s     r   parseAttValueparserCtxt.parseAttValue<  s    2 ))$''2
r   c                 D    [         R                  " U R                  5        g)z: parse the Attribute list def for an element  [52]
AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>'  [53]
 AttDef ::= S Name S AttType S DefaultDecl N)rm   xmlParseAttributeListDeclrL   r,   s    r   parseAttributeListDecl!parserCtxt.parseAttributeListDeclX  s     	,,TWW5r   c                 D    [         R                  " U R                  5        g)zParse escaped pure raw content.  [18] CDSect ::= CDStart
CData CDEnd  [19] CDStart ::= '<![CDATA['  [20] Data ::=
 (Char* - (Char* ']]>' Char*))  [21] CDEnd ::= ']]>' N)rm   xmlParseCDSectrL   r,   s    r   parseCDSectparserCtxt.parseCDSect^  s     	!!$''*r   c                 F    [         R                  " U R                  U5        g)a  parse a CharData section. if we are within a CDATA section
']]>' marks an end of section.  The right angle bracket (>)
may be represented using the string "&gt;", and must, for
compatibility, be escaped using "&gt;" or a character
reference when it appears in the string "]]>" in content,
when that string is not marking the end of a CDATA section.
  [14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*) N)rm   xmlParseCharDatarL   )r'   cdatas     r   parseCharDataparserCtxt.parseCharDatad  s     	##DGGU3r   c                 F    [         R                  " U R                  5      nU$ )zparse Reference declarations  [66] CharRef ::= '&#' [0-9]+
';' | '&#x' [0-9a-fA-F]+ ';'  [ WFC: Legal Character ]
Characters referred to using character references must
 match the production for Char. )rm   xmlParseCharRefrL   r   s     r   parseCharRefparserCtxt.parseCharRefn  s    
 ((1
r   c                 D    [         R                  " U R                  5        g)zSkip an XML (SGML) comment <!-- .... --> The spec says that
"For compatibility, the string "--" (double-hyphen) must
not occur within comments. "  [15] Comment ::= '<!--'
 ((Char - '-') | ('-' (Char - '-')))* '-->' N)rm   xmlParseCommentrL   r,   s    r   parseCommentparserCtxt.parseCommentv      
 	""477+r   c                 D    [         R                  " U R                  5        g)z}Parse a content sequence. Stops at EOF or '</'.  [43]
content ::= (element | CharData | Reference | CDSect | PI |
 Comment)* N)rm   xmlParseContentrL   r,   s    r   parseContentparserCtxt.parseContent}  s     	""477+r   c                 D    [         R                  " U R                  5        g)a  parse a DOCTYPE declaration  [28] doctypedecl ::=
'<!DOCTYPE' S Name (S ExternalID)? S? ('[' (markupdecl |
PEReference | S)* ']' S?)? '>'  [ VC: Root Element Type ]
The Name in the document type declaration must match the
 element type of the root element. N)rm   xmlParseDocTypeDeclrL   r,   s    r   parseDocTypeDeclparserCtxt.parseDocTypeDecl  s     	&&tww/r   c                 D    [         R                  " U R                  5        g)zparse an XML element  [39] element ::= EmptyElemTag | STag
content ETag  [ WFC: Element Type Match ] The Name in an
element's end-tag must match the element type in the
 start-tag. N)rm   xmlParseElementrL   r,   s    r   parseElementparserCtxt.parseElement  r  r   c                 F    [         R                  " U R                  5      nU$ )zparse an Element declaration.  [45] elementdecl ::=
'<!ELEMENT' S Name S contentspec S? '>'  [ VC: Unique
Element Type Declaration ] No element type may be declared
 more than once )rm   xmlParseElementDeclrL   r   s     r   parseElementDeclparserCtxt.parseElementDecl  s    
 ,,TWW5
r   c                 F    [         R                  " U R                  5      nU$ )zNparse the XML encoding name  [81] EncName ::= [A-Za-z]
([A-Za-z0-9._] | '-')* )rm   xmlParseEncNamerL   r   s     r   parseEncNameparserCtxt.parseEncName       ((1
r   c                 F    [         R                  " U R                  5      nU$ )zparse the XML encoding declaration  [80] EncodingDecl ::= S
'encoding' Eq ('"' EncName '"' |  "'" EncName "'")  this
 setups the conversion filters. )rm   xmlParseEncodingDeclrL   r   s     r   parseEncodingDeclparserCtxt.parseEncodingDecl  rX  r   c                 D    [         R                  " U R                  5        g)zgparse an end of tag  [42] ETag ::= '</' Name S? '>'  With
namespace  [NS 9] ETag ::= '</' QName S? '>' N)rm   xmlParseEndTagrL   r,   s    r   parseEndTagparserCtxt.parseEndTag  s     	!!$''*r   c                 D    [         R                  " U R                  5        g)a  parse <!ENTITY declarations  [70] EntityDecl ::= GEDecl |
PEDecl  [71] GEDecl ::= '<!ENTITY' S Name S EntityDef S?
'>'  [72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>'
[73] EntityDef ::= EntityValue | (ExternalID NDataDecl?) 
[74] PEDef ::= EntityValue | ExternalID  [76] NDataDecl ::=
S 'NDATA' S Name  [ VC: Notation Declared ] The Name must
 match the declared name of a notation. N)rm   xmlParseEntityDeclrL   r,   s    r   parseEntityDeclparserCtxt.parseEntityDecl  s     	%%dgg.r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )a  parse ENTITY references declarations  [68] EntityRef ::=
'&' Name ';'  [ 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'.  [
WFC: Parsed Entity ] An entity reference must not contain
 the name of an unparsed entity zxmlParseEntityRef() failedr  )rm   xmlParseEntityRefrL   r3   r  r
  s      r   parseEntityRefparserCtxt.parseEntityRef  s7    ( **4773;[)EFFs#r   c                 F    [         R                  " U R                  X5        g)zparse Markup declarations from an external subset  [30]
extSubset ::= textDecl? extSubsetDecl  [31] extSubsetDecl
 ::= (markupdecl | conditionalSect | PEReference | S) * N)rm   xmlParseExternalSubsetrL   )r'   r7  rD  s      r   parseExternalSubsetparserCtxt.parseExternalSubset  s     	))$'':Hr   c                 D    [         R                  " U R                  5        g)a  parse Markup declarations  [29] markupdecl ::= elementdecl
| AttlistDecl | EntityDecl | NotationDecl | PI | Comment  [
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.  [ 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.) N)rm   xmlParseMarkupDeclrL   r,   s    r   parseMarkupDeclparserCtxt.parseMarkupDecl  s     	%%dgg.r   c                 D    [         R                  " U R                  5        g)zDparse an XML Misc* optional field.  [27] Misc ::= Comment |
PI |  S N)rm   xmlParseMiscrL   r,   s    r   	parseMiscparserCtxt.parseMisc  s     	(r   c                 F    [         R                  " U R                  5      nU$ )zparse an XML name.  [4] NameChar ::= Letter | Digit | '.' |
'-' | '_' | ':' | CombiningChar | Extender  [5] Name ::=
(Letter | '_' | ':') (NameChar)*  [6] Names ::= Name (#x20
 Name)* )rm   xmlParseNamerL   r   s     r   	parseNameparserCtxt.parseName  s    
 %%dgg.
r   c                 D    [         R                  " U R                  5        g)aD  xmlParseNamespace: parse specific PI '<?namespace ...'
constructs.  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:-(  TODO: remove from library  To be removed at
 next drop of binary compatibility N)rm   xmlParseNamespacerL   r,   s    r   parseNamespaceparserCtxt.parseNamespace  s     	$$TWW-r   c                 F    [         R                  " U R                  5      nU$ )z]parse an XML Nmtoken.  [7] Nmtoken ::= (NameChar)+  [8]
Nmtokens ::= Nmtoken (#x20 Nmtoken)* )rm   xmlParseNmtokenrL   r   s     r   parseNmtokenparserCtxt.parseNmtoken  r  r   c                 D    [         R                  " U R                  5        g)a  parse a notation declaration  [82] NotationDecl ::=
'<!NOTATION' S Name S (ExternalID |  PublicID) S? '>' 
Hence there is actually 3 choices: 'PUBLIC' S PubidLiteral
'PUBLIC' S PubidLiteral S SystemLiteral and 'SYSTEM' S
 SystemLiteral  See the NOTE on xmlParseExternalID(). N)rm   xmlParseNotationDeclrL   r,   s    r   parseNotationDeclparserCtxt.parseNotationDecl  s     	''0r   c                 D    [         R                  " U R                  5        g)aW  parse PEReference declarations The entity content is
handled directly by pushing it's content as a new input
stream.  [69] PEReference ::= '%' Name ';'  [ WFC: No
Recursion ] A parsed entity must not contain a recursive
reference to itself, either directly or indirectly.  [ 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...  [ 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...  [ WFC: In DTD ] Parameter-entity
references may only appear in the DTD. NOTE: misleading but
 this is handled. N)rm   xmlParsePEReferencerL   r,   s    r   parsePEReferenceparserCtxt.parsePEReference
  s    " 	&&tww/r   c                 D    [         R                  " U R                  5        g)zparse an XML Processing Instruction.  [16] PI ::= '<?'
PITarget (S (Char* - (Char* '?>' Char*)))? '?>'  The
 processing is transferred to SAX once parsed. N)rm   
xmlParsePIrL   r,   s    r   parsePIparserCtxt.parsePI  s     	dgg&r   c                 F    [         R                  " U R                  5      nU$ )zWparse the name of a PI  [17] PITarget ::= Name - (('X' |
'x') ('M' | 'm') ('L' | 'l')) )rm   xmlParsePITargetrL   r   s     r   parsePITargetparserCtxt.parsePITarget#  r  r   c                 F    [         R                  " U R                  5      nU$ )zcparse an XML public literal  [12] PubidLiteral ::= '"'
PubidChar* '"' | "'" (PubidChar - "'")* "'" )rm   xmlParsePubidLiteralrL   r   s     r   parsePubidLiteralparserCtxt.parsePubidLiteral)  s     --dgg6
r   c                 F    [         R                  " U R                  5      nU$ )zParse and return a string between quotes or doublequotes 
TODO: Deprecated, to  be removed at next drop of binary
 compatibility )rm   xmlParseQuotedStringrL   r   s     r   parseQuotedStringparserCtxt.parseQuotedString/  rX  r   c                 D    [         R                  " U R                  5        g)a$  parse and handle entity references in content, depending on
the SAX interface, this may end-up in a call to character()
if this is a CharRef, a predefined entity, if there is no
reference() callback. or if the parser was asked to switch
 to that mode.  [67] Reference ::= EntityRef | CharRef N)rm   xmlParseReferencerL   r,   s    r   parseReferenceparserCtxt.parseReference6  s     	$$TWW-r   c                 F    [         R                  " U R                  5      nU$ )a9  parse the XML standalone declaration  [32] SDDecl ::= S
'standalone' Eq (("'" ('yes' | 'no') "'") | ('"' ('yes' |
'no')'"'))  [ 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. )rm   xmlParseSDDeclrL   r   s     r   parseSDDeclparserCtxt.parseSDDecl>  s    " ''0
r   c                 F    [         R                  " U R                  5      nU$ )a8  parse a start of tag either for rule element or
EmptyElement. In both case we don't parse the tag closing
chars.  [40] STag ::= '<' Name (S Attribute)* S? '>'  [
WFC: Unique Att Spec ] No attribute name may appear more
than once in the same start-tag or empty-element tag.  [44]
EmptyElemTag ::= '<' Name (S Attribute)* S? '/>'  [ WFC:
Unique Att Spec ] No attribute name may appear more than
once in the same start-tag or empty-element tag.  With
namespace:  [NS 8] STag ::= '<' QName (S Attribute)* S? '>'
  [NS 10] EmptyElement ::= '<' QName (S Attribute)* S? '/>' )rm   xmlParseStartTagrL   r   s     r   parseStartTagparserCtxt.parseStartTagR  s     ))$''2
r   c                 F    [         R                  " U R                  5      nU$ )zOparse an XML Literal  [11] SystemLiteral ::= ('"' [^"]*
'"') | ("'" [^']* "'") )rm   xmlParseSystemLiteralrL   r   s     r   parseSystemLiteralparserCtxt.parseSystemLiteral`  s     ..tww7
r   c                 D    [         R                  " U R                  5        g)zsparse an XML declaration header for external entities  [77]
TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>' N)rm   xmlParseTextDeclrL   r,   s    r   parseTextDeclparserCtxt.parseTextDeclf       	##DGG,r   c                 F    [         R                  " U R                  5      nU$ )zuparse the XML version.  [24] VersionInfo ::= S 'version' Eq
(' VersionNum ' | " VersionNum ")  [25] Eq ::= S? '=' S? )rm   xmlParseVersionInforL   r   s     r   parseVersionInfoparserCtxt.parseVersionInfok       ,,TWW5
r   c                 F    [         R                  " U R                  5      nU$ )zlparse the XML version value.  [26] VersionNum ::= '1.'
[0-9]+  In practice allow [0-9].[0-9]+ at that level )rm   xmlParseVersionNumrL   r   s     r   parseVersionNumparserCtxt.parseVersionNumq       ++DGG4
r   c                 D    [         R                  " U R                  5        g)zdparse an XML declaration header  [23] XMLDecl ::= '<?xml'
VersionInfo EncodingDecl? SDDecl? S? '?>' N)rm   xmlParseXMLDeclrL   r,   s    r   parseXMLDeclparserCtxt.parseXMLDeclw  rM  r   c                 D    [         R                  " U R                  5        g)a  [69] PEReference ::= '%' Name ';'  [ WFC: No Recursion ] A
parsed entity must not contain a recursive reference to
itself, either directly or indirectly.  [ 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...  [ 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... 
[ WFC: In DTD ] Parameter-entity references may only appear
in the DTD. NOTE: misleading but this is handled.  A
PEReference may have been detected in the current input
stream the handling is done accordingly to
http://www.w3.org/TR/REC-xml#entproc i.e. - Included in
literal in entity values - Included as Parameter Entity
 reference within DTDs N)rm   xmlParserHandlePEReferencerL   r,   s    r   parserHandlePEReference"parserCtxt.parserHandlePEReference|  s    & 	--dgg6r   c                 D    [         R                  " U R                  5        g)a  TODO: Remove, now deprecated ... the test is done directly
in the content parsing routines.  [67] Reference ::=
EntityRef | CharRef  [68] EntityRef ::= '&' Name ';'  [
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.  [ WFC: Parsed
Entity ] An entity reference must not contain the name of
an unparsed entity  [66] CharRef ::= '&#' [0-9]+ ';' |
'&#x' [0-9a-fA-F]+ ';'  A PEReference may have been
detected in the current input stream the handling is done
 accordingly to http://www.w3.org/TR/REC-xml#entproc N)rm   xmlParserHandleReferencerL   r,   s    r   parserHandleReference parserCtxt.parserHandleReference  s     	++DGG4r   c                 F    [         R                  " U R                  5      nU$ )zfxmlPopInput: the current input pointed by ctxt->input came
to an end pop it and return the next char. )rm   xmlPopInputrL   r   s     r   popInputparserCtxt.popInput  s     $$TWW-
r   c                 F    [         R                  " U R                  5      nU$ )a  Trickery: parse an XML name but without consuming the input
flow Needed for rollback cases. Used only when parsing
entities references.  TODO: seems deprecated now, only used
in the default part of xmlParserHandleReference  [4]
NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' |
CombiningChar | Extender  [5] Name ::= (Letter | '_' | ':')
 (NameChar)*  [6] Names ::= Name (S Name)* )rm   xmlScanNamerL   r   s     r   scanNameparserCtxt.scanName  s     $$TWW-
r   c                 F    [         R                  " U R                  5      nU$ )zskip all blanks character found at that point in the input
streams. It pops up finished entities in the process if
 allowable at that point. )rm   xmlSkipBlankCharsrL   r   s     r   skipBlankCharsparserCtxt.skipBlankChars       **4773
r   c                 L    [         R                  " U R                  XX4U5      nU$ zTakes a entity string content and process to do the
adequate substitutions.  [67] Reference ::= EntityRef |
 CharRef  [69] PEReference ::= '%' Name ';' )rm   xmlStringDecodeEntitiesrL   )r'   re   rc  r  rd  re  r_   s          r   stringDecodeEntitiesparserCtxt.stringDecodeEntities  s$     00#SPTU
r   c           	      L    [         R                  " U R                  XX4XV5      nU$ r%  )rm   xmlStringLenDecodeEntitiesrL   )r'   re   r^   rc  r  rd  re  r_   s           r   stringLenDecodeEntities"parserCtxt.stringLenDecodeEntities  s$     33DGGStRV]
r   rw   r#   )Xr   r   r	   r
   r(   rr   r#  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r   r  r
  r  r  r  r  r   r$  r(  r,  r0  r4  r8  r<  rA  rE  rI  rN  rR  rV  r[  r_  rf  rn  rr  rv  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r'  r+  r   r   r   r   r
  r
  2  s   1
A?;I;*
/

-/
)



F*7(86+4,,0,+
/2I/")
.10&'.(-
,
7*5	r   r
  c                   Z    \ rS rSrSS jrS rS rS rS rS r	S	 r
S
 rS rS rS rSrg)r  i  Nc                 j    [        U5      S:w  a  [        S5      eXl        [        R	                  XS9  g )Nr   z'xmlAttr got a wrong wrapper object typer  r  rM   s     r   r(   xmlAttr.__init__  r  r   c                 H    SU R                   [        [        U 5      5      4-  $ )Nz<xmlAttr (%s) object at 0x%x>r  r,   s    r   r  xmlAttr.__repr__  r  r   c                 F    [         R                  " XR                  U5        g)z*Dumps debug information for the attribute N)rm   xmlDebugDumpAttrrL   r  s      r   debugDumpAttrxmlAttr.debugDumpAttr  s    ##FGGU;r   c                 F    [         R                  " XR                  U5        g)z/Dumps debug information for the attribute list N)rm   xmlDebugDumpAttrListrL   r  s      r   debugDumpAttrListxmlAttr.debugDumpAttrList  s    ''?r   c                     Uc  SnOUR                   n[        R                  " X R                   5      nUc  [        S5      e[	        US9nU$ r"  r#  r'   r   	target__or_   _xmlAttr__tmps        r   r%  xmlAttr.copyProp  sG    >t9 ))i$$Y8;Y'=>>S!r   c                     Uc  SnOUR                   n[        R                  " X R                   5      nUc  [        S5      e[	        US9nU$ r(  r)  r;  s        r   r+  xmlAttr.copyPropList  sG    >t9 ))i((GG<;Y'ABBS!r   c                 D    [         R                  " U R                  5        g)z1Free one attribute, all the content is freed too N)rm   xmlFreeProprL   r,   s    r   freePropxmlAttr.freeProp  r|  r   c                 D    [         R                  " U R                  5        g)zFFree a property and all its siblings, all the children are
freed too. N)rm   xmlFreePropListrL   r,   s    r   freePropListxmlAttr.freePropList  rM  r   c                 F    [         R                  " U R                  5      nU$ )zwUnlink and free one attribute, all the content is freed too
Note this doesn't work for namespace definition attributes )rm   xmlRemoveProprL   r   s     r   
removePropxmlAttr.removeProp  s     &&tww/
r   c                 j    Uc  SnOUR                   n[        R                  " X R                   5      nU$ r=
  r>
  rR  s       r   rA
  xmlAttr.removeID  s/     ;vvf$$VWW5
r   c                 j    Uc  SnOUR                   n[        R                  " X R                   5      nU$ rD
  rE
  rR  s       r   rG
  xmlAttr.removeRef  s/     ;vvf%%fgg6
r   rw   r#   )r   r   r	   r
   r(   r  r4  r8  r%  r+  rC  rG  rK  rA
  rG
  r   r   r   r   r  r    s;    *
Q<@(,
r   r  c                   $    \ rS rSrSS jrS rSrg)r  i  Nc                 j    [        U5      S:w  a  [        S5      eXl        [        R	                  XS9  g )Nr   z,xmlAttribute got a wrong wrapper object typer  r  rM   s     r   r(   xmlAttribute.__init__  s0    "Y?m5n/n)r   c                 H    SU R                   [        [        U 5      5      4-  $ )Nz"<xmlAttribute (%s) object at 0x%x>r  r,   s    r   r  xmlAttribute.__repr__  s    3tyy#fdmBT6UUUr   rw   r#   r   r   r	   r
   r(   r  r   r   r   r   r  r    s    *
Vr   r  c                   Z    \ rS rSrSS jrS rS rS rS rS r	S	 r
S
 rS rS rS rSrg)r  i  Nc                 ,    US :w  a  Xl         g S U l         g r#   rw   rM   s     r   r(   catalog.__init__      4<$vr   c                 r    U R                   S :w  a   [        R                  " U R                   5        S U l         g r#   )rL   rm   xmlFreeCatalogr,   s    r   rr   catalog.__del__"  &    77d?%%dgg.r   c                 J    [         R                  " U R                  XU5      nU$ )zNAdd an entry in the catalog, it may overwrite existing but
different entries. )rm   xmlACatalogAddrL   )r'   r   rI  rJ  r_   s        r   addcatalog.add+  s!     ''WE
r   c                 F    [         R                  " U R                  5      nU$ )zCheck is a catalog is empty )rm   xmlCatalogIsEmptyrL   r   s     r   catalogIsEmptycatalog.catalogIsEmpty1  rK  r   c                 F    [         R                  " U R                  5      nU$ rQ  )rm   xmlConvertSGMLCatalogrL   r   s     r   convertSGMLCatalogcatalog.convertSGMLCatalog6  r	  r   c                 F    [         R                  " U R                  U5        g)z*Dump the given catalog to the given file. N)rm   xmlACatalogDumprL   )r'   rV  s     r   r	  catalog.dump;  s    ""477C0r   c                 H    [         R                  " U R                  U5      nU$ rd  )rm   xmlACatalogRemoverL   )r'   rg  r_   s      r   removecatalog.remove?  s    **477E:
r   c                 H    [         R                  " U R                  X5      nU$ rj  )rm   xmlACatalogResolverL   )r'   r[  ra  r_   s       r   resolvecatalog.resolveD  s    ++DGGUB
r   c                 H    [         R                  " U R                  U5      nU$ )zTTry to lookup the catalog local reference associated to a
public ID in that catalog )rm   xmlACatalogResolvePublicrL   )r'   r[  r_   s      r   resolvePubliccatalog.resolvePublicI  s     11$''5A
r   c                 H    [         R                  " U R                  U5      nU$ rs  )rm   xmlACatalogResolveSystemrL   )r'   ra  r_   s      r   resolveSystemcatalog.resolveSystemO  s    11$''5A
r   c                 H    [         R                  " U R                  U5      nU$ rx  )rm   xmlACatalogResolveURIrL   )r'   r  r_   s      r   
resolveURIcatalog.resolveURIT  s    ..tww<
r   rw   r#   )r   r   r	   r
   r(   rr   ra  re  ri  r	  rp  rt  rx  r|  r  r   r   r   r   r  r    s9    

1


r   r  c                   N    \ rS rSrSS jrS rS rS rS rS r	S	 r
S
 rS rSrg)r  iY  Nc                 j    [        U5      S:w  a  [        S5      eXl        [        R	                  XS9  g )Nr   z&xmlDtd got a wrong wrapper object typer  r  rM   s     r   r(   xmlDtd.__init__Z  r  r   c                 H    SU R                   [        [        U 5      5      4-  $ )Nz<xmlDtd (%s) object at 0x%x>r  r,   s    r   r  xmlDtd.__repr___  r  r   c                 D    [         R                  " XR                  5        g)z$Dumps debug information for the DTD N)rm   xmlDebugDumpDTDrL   r  s     r   debugDumpDTDxmlDtd.debugDumpDTDf  s    ""6773r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )zDo a copy of the dtd. zxmlCopyDtd() failedr  )rm   
xmlCopyDtdrL   r    r  )r'   r_   _xmlDtd__tmps      r   copyDtdxmlDtd.copyDtdn  s5    ##DGG,;Y'<==C r   c                 D    [         R                  " U R                  5        g)zFree a DTD structure. N)rm   
xmlFreeDtdrL   r,   s    r   freeDtdxmlDtd.freeDtdu  s    dgg&r   c                 v    [         R                  " U R                  X5      nUc  [        S5      e[	        US9nU$ )zFSearch the DTD for the description of this attribute on
this element. zxmlGetDtdAttrDesc() failedr  )rm   xmlGetDtdAttrDescrL   r    r  )r'   r   r   r_   r  s        r   dtdAttrDescxmlDtd.dtdAttrDesc}  s9     **477D?;Y'CDD#&r   c                 v    [         R                  " U R                  U5      nUc  [        S5      e[	        US9nU$ )3Search the DTD for the description of this element zxmlGetDtdElementDesc() failedr  )rm   xmlGetDtdElementDescrL   r    r  )r'   r   r_   r  s       r   dtdElementDescxmlDtd.dtdElementDesc  s7    --dggt<;Y'FGG$r   c                 x    [         R                  " U R                  XU5      nUc  [        S5      e[	        US9nU$ )zPSearch the DTD for the description of this qualified
attribute on this element. zxmlGetDtdQAttrDesc() failedr  )rm   xmlGetDtdQAttrDescrL   r    r  )r'   r   r   r  r_   r  s         r   dtdQAttrDescxmlDtd.dtdQAttrDesc  s;     ++DGGTH;Y'DEE#&r   c                 v    [         R                  " U R                  X5      nUc  [        S5      e[	        US9nU$ )r  zxmlGetDtdQElementDesc() failedr  )rm   xmlGetDtdQElementDescrL   r    r  )r'   r   r  r_   r  s        r   dtdQElementDescxmlDtd.dtdQElementDesc  s7    ..twwE;Y'GHH$r   rw   r#   )r   r   r	   r
   r(   r  r  r  r  r  r  r  r  r   r   r   r   r  r  Y  s0    *
P4'r   r  c                   $    \ rS rSrSS jrS rSrg)r  i  Nc                 j    [        U5      S:w  a  [        S5      eXl        [        R	                  XS9  g )Nr   z*xmlElement got a wrong wrapper object typer  r  rM   s     r   r(   xmlElement.__init__  s0    "Y?k5l/l)r   c                 H    SU R                   [        [        U 5      5      4-  $ )Nz <xmlElement (%s) object at 0x%x>r  r,   s    r   r  xmlElement.__repr__  s    1TYYFDM@R4SSSr   rw   r#   rV  r   r   r   r  r    s    *
Tr   r  c                   *    \ rS rSrSS jrS rS rSrg)r  i  Nc                 j    [        U5      S:w  a  [        S5      eXl        [        R	                  XS9  g )Nr   z)xmlEntity got a wrong wrapper object typer  r  rM   s     r   r(   xmlEntity.__init__  s0    "Y?j5k/k)r   c                 H    SU R                   [        [        U 5      5      4-  $ )Nz<xmlEntity (%s) object at 0x%x>r  r,   s    r   r  xmlEntity.__repr__  s    0DIIs64=?Q3RRRr   c                 h    Uc  SnOUR                   n[        R                  " X R                   5        gri  rj  )r'   rH  r  s      r   rn  xmlEntity.handleEntity  s(     <4g""7GG4r   rw   r#   )r   r   r	   r
   r(   r  rn  r   r   r   r   r  r    s    *
S5r   r  c                   N    \ rS rSrSS jrS rS rS rS rS r	S	 r
S
 rS rSrg)r`  i  Nc                 ,    US :w  a  Xl         g S U l         g r#   rw   rM   s     r   r(   Error.__init__  rZ  r   c                 F    [         R                  " U R                  5      nU$ )z'The error code, e.g. an xmlParserError )rm   xmlErrorGetCoderL   r   s     r   r  
Error.code      ((1
r   c                 F    [         R                  " U R                  5      nU$ )z+What part of the library raised this error )rm   xmlErrorGetDomainrL   r   s     r   domainError.domain  rK  r   c                 F    [         R                  " U R                  5      nU$ )zthe filename )rm   xmlErrorGetFilerL   r   s     r   r   
Error.file  r  r   c                 F    [         R                  " U R                  5      nU$ )zhow consequent is the error )rm   xmlErrorGetLevelrL   r   s     r   r~  Error.level      ))$''2
r   c                 F    [         R                  " U R                  5      nU$ )zthe line number if available )rm   xmlErrorGetLinerL   r   s     r   line
Error.line  r  r   c                 F    [         R                  " U R                  5      nU$ )z)human-readable informative error message )rm   xmlErrorGetMessagerL   r   s     r   messageError.message  r
  r   c                 l    Uc  SnOUR                   n[        R                  " U R                   U5      nU$ )z*Save the original error to the new place. N)rL   rm   xmlCopyError)r'   toto__or_   s       r   	copyErrorError.copyError  s/    :tueee%%dggu5
r   c                 D    [         R                  " U R                  5        g)zCleanup the error. N)rm   xmlResetErrorrL   r,   s    r   
resetErrorError.resetError  r  r   rw   r#   )r   r   r	   r
   r(   r  r  r   r~  r  r  r  r  r   r   r   r   r`  r`    s/    





*r   r`  c                       \ rS rSrSS jrS rS rS rS rS r	S	 r
S
 rS rS rS rS rS rS rS rS rS rS rSrg)rP  i  Nc                 j    [        U5      S:w  a  [        S5      eXl        [        R	                  XS9  g )Nr   z%xmlNs got a wrong wrapper object typer  r  rM   s     r   r(   xmlNs.__init__  s0    "Y?f5g/g)r   c                 H    SU R                   [        [        U 5      5      4-  $ )Nz<xmlNs (%s) object at 0x%x>r  r,   s    r   r  xmlNs.__repr__  s    ,		3vt};M/NNNr   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )zDo a copy of the namespace. zxmlCopyNamespace() failedr  )rm   xmlCopyNamespacerL   r    rP  r'   r_   _xmlNs__tmps      r   copyNamespacexmlNs.copyNamespace  s4    ))$''2;Y'BCC3r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )z Do a copy of an namespace list. zxmlCopyNamespaceList() failedr  )rm   xmlCopyNamespaceListrL   r    rP  r  s      r   copyNamespaceListxmlNs.copyNamespaceList   s4    --dgg6;Y'FGG3r   c                 D    [         R                  " U R                  5        g)z1Free up the structures associated to a namespace N)rm   	xmlFreeNsrL   r,   s    r   freeNsxmlNs.freeNs  s    TWW%r   c                 D    [         R                  " U R                  5        g)zAFree up all the structures associated to the chained
namespaces. N)rm   xmlFreeNsListrL   r,   s    r   
freeNsListxmlNs.freeNsList  s     	  )r   c                     Uc  SnOUR                   n[        R                  " X@R                   X#5      nUc  [        S5      e[	        US9nU$ r  r  r'   r   r   r   	parent__or_   r  s          r   r  xmlNs.newChild  sK     >t9 ))i$$YG;Y'=>>S!r   c                     Uc  SnOUR                   n[        R                  " X@R                   X#5      nUc  [        S5      e[	        US9nU$ r	  r	  r'   r#  r   r   r1  r_   r  s          r   r	  xmlNs.newDocNode"  sK     ;vvf&&vwwF;Y'?@@S!r   c                     Uc  SnOUR                   n[        R                  " X@R                   X#5      nUc  [        S5      e[	        US9nU$ r	  r	  r  s          r   r	  xmlNs.newDocNodeEatName0  sK     ;vvf--fggtM;Y'FGGS!r   c                     Uc  SnOUR                   n[        R                  " X@R                   X#5      nUc  [        S5      e[	        US9nU$ r	  r	  r  s          r   r	  xmlNs.newDocRawNode>  sK     ;vvf))&''4I;Y'BCCS!r   c                 v    [         R                  " U R                  U5      nUc  [        S5      e[	        US9nU$ )z8Creation of a new node element. @ns is optional (None). zxmlNewNodeEatName() failedr  )rm   xmlNewNodeEatNamerL   r    r  )r'   r   r_   r  s       r   newNodeEatNamexmlNs.newNodeEatNameH  s7    **477D9;Y'CDDS!r   c                     Uc  SnOUR                   n[        R                  " X@R                   X#5      nUc  [        S5      e[	        US9nU$ r  r  r'   rk  r   rg  r~	  r_   r  s          r   r  xmlNs.newNsPropO  K     <4g%%gwwD;Y'>??S!r   c                     Uc  SnOUR                   n[        R                  " X@R                   X#5      nUc  [        S5      e[	        US9nU$ r  r  r  s          r   r  xmlNs.newNsPropEatNameY  sK     <4g,,WggtK;Y'EFFS!r   c                     Uc  SnOUR                   n[        R                  " X@R                   X#5      nUc  [        S5      e[	        US9nU$ r  r  r  s          r   r  xmlNs.newTextChildc  sK     >t9 ))i((GGTK;Y'ABBS!r   c                 h    Uc  SnOUR                   n[        R                  " X R                   5        gr  r  r'   rk  r~	  s      r   r   xmlNs.setNsv  s&    <4gGWW-r   c                     Uc  SnOUR                   n[        R                  " X@R                   X#5      nUc  [        S5      e[	        US9nU$ r  r  r  s          r   r  xmlNs.setNsProp|  r  r   c                 l    Uc  SnOUR                   n[        R                  " X0R                   U5      nU$ r%  r&  )r'   rk  r   r~	  r_   s        r   r(  xmlNs.unsetNsProp  s/    <4g''$?
r   c                 D    [         R                  " U R                  5        g)zNamespace nodes in libxml don't match the XPath semantic.
In a node set the namespace nodes are duplicated and the
next pointer is set to the parent node in the XPath
 semantic. Check if such a node needs to be freed N)rm   xmlXPathNodeSetFreeNsrL   r,   s    r   xpathNodeSetFreeNsxmlNs.xpathNodeSetFreeNs  s    
 	((1r   rw   r#   )r   r   r	   r
   r(   r  r  r  r  r  r  r	  r	  r	  r  r  r  r  r   r  r(  r  r   r   r   r   rP  rP    s]    *
O&*
$&.2r   rP  c                   Z    \ rS rSrSS jrS rS rS rS rS r	S	 r
S
 rS rS rS rSrg)r  i  Nc                 6    Xl         [        R                  XS9  g r
  )rL   r{   r(   rM   s     r   r(   outputBuffer.__init__  r
  r   c                 l    Uc  SnOUR                   n[        R                  " U R                   XBU5        gr  r  )r'   r  r/  r0  r  s        r   r  +outputBuffer.htmlDocContentDumpFormatOutput  s*    ;vvf11$''6VTr   c                 j    Uc  SnOUR                   n[        R                  " U R                   X25        gr  r  )r'   r  r/  r  s       r   r  %outputBuffer.htmlDocContentDumpOutput  s(    ;vvf++DGGVFr   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " U R                   XVX45        gr	  r		  )r'   r#  r  r/  r0  r1  r  s          r   r
	  %outputBuffer.htmlNodeDumpFormatOutput  s>     ;vvf;vvf++DGGVXVr   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " U R                   XEU5        gr	  r	  )r'   r#  r  r/  r1  r  s         r   r	  outputBuffer.htmlNodeDumpOutput  s>     ;vvf;vvf%%dggvxHr   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " U R                   XgX4U5        gr	  r	  )r'   r#  r  r~  r0  r/  r1  r  s           r   r	  outputBuffer.nodeDumpOutput  s@    
 ;vvf;vvf$$TWWfeXVr   c                 l    Uc  SnOUR                   n[        R                  " U R                   X25      nU$ r
  r
  )r'   r  r/  r  r_   s        r   r
  outputBuffer.saveFileTo  s1     ;vvf&&twwA
r   c                 n    Uc  SnOUR                   n[        R                  " U R                   XBU5      nU$ r
  r
  )r'   r  r/  r0  r  r_   s         r   r
  outputBuffer.saveFormatFileTo  s3     ;vvf,,TWWfO
r   c                 F    [         R                  " U R                  5      nU$ )z@Gives a pointer to the data currently held in the output
buffer )rm   xmlOutputBufferGetContentrL   r   s     r   rb  outputBuffer.getContent       22477;
r   c                 H    [         R                  " U R                  X5      nU$ )zWrite the content of the array in the output I/O buffer
This routine handle the I18N transcoding from internal
UTF-8 The buffer is lossless, i.e. will store in case of
 partial or delayed writes. )rm   xmlOutputBufferWriterL   r'   r^   r  r_   s       r   rd   outputBuffer.write  s    
 --dggs@
r   c                 H    [         R                  " U R                  U5      nU$ )zWrite the content of the string in the output I/O buffer
This routine handle the I18N transcoding from internal
UTF-8 The buffer is lossless, i.e. will store in case of
 partial or delayed writes. )rm   xmlOutputBufferWriteStringrL   r'   re   r_   s      r   writeStringoutputBuffer.writeString  s    
 33DGGSA
r   rw   r#   )r   r   r	   r
   r(   r  r  r
	  r	  r	  r
  r
  rb  rd   r*  r   r   r   r   r  r    s>    1UGWI	Wr   r  c                   B    \ rS rSrSS jrS rS rS rS rS r	S	 r
S
rg)r  i  Nc                 6    Xl         [        R                  XS9  g r
  )rL   rj   r(   rM   s     r   r(   inputBuffer.__init__      t/r   c                 r    U R                   S :w  a   [        R                  " U R                   5        S U l         g r#   )rL   rm   rs   r,   s    r   rr   inputBuffer.__del__  &    77d?//8r   c                 H    [         R                  " U R                  U5      nU$ )a'  Grow up the content of the input buffer, the old data are
preserved This routine handle the I18N transcoding to
internal UTF-8 This routine is used when operating the
parser in normal (pull) mode  TODO: one should be able to
remove one extra copy by copying directly onto in->buffer
 or in->raw )rm   xmlParserInputBufferGrowrL   r'   r^   r_   s      r   growinputBuffer.grow  s     11$''3?
r   c                 H    [         R                  " U R                  X5      nU$ )zPush the content of the arry in the input buffer This
routine handle the I18N transcoding to internal UTF-8 This
is used when operating the parser in progressive (push)
 mode. )rm   xmlParserInputBufferPushrL   r%  s       r   pushinputBuffer.push  s    
 11$''3D
r   c                 H    [         R                  " U R                  U5      nU$ )zRefresh the content of the input buffer, the old data are
considered consumed This routine handle the I18N
 transcoding to internal UTF-8 )rm   xmlParserInputBufferReadrL   r5  s      r   rZ   inputBuffer.read  s     11$''3?
r   c                 n    Uc  SnOUR                   n[        R                  " XPR                   X#U5      nU$ z%Setup an XML reader with new options NrL   rm   xmlTextReaderSetup)r'   r
  r$  r/  r%  r
  r_   s          r   SetupinputBuffer.Setup%  s1    >t9 ))i++IwwwW
r   c                     [         R                  " U R                  U5      nUc  [        S5      e[	        US9nXl        U$ )z2Create an xmlTextReader structure fed with @input zxmlNewTextReader() failedr  )rm   xmlNewTextReaderrL   r    rg  r  )r'   r  r_   _inputBuffer__tmps       r   newTextReaderinputBuffer.newTextReader,  s<    ))$''37;Y'BCC3'r   rw   r#   )r   r   r	   r
   r(   rr   r6  r:  rZ   rC  rH  r   r   r   r   r  r    s%    0r   r  c                   6    \ rS rSrS	S jrS rS rS rS rSr	g)
rx  i4  Nc                 ,    US :w  a  Xl         g S U l         g r#   rw   rM   s     r   r(   xmlReg.__init__5  rZ  r   c                 r    U R                   S :w  a   [        R                  " U R                   5        S U l         g r#   )rL   rm   xmlRegFreeRegexpr,   s    r   rr   xmlReg.__del__9  &    77d?''0r   c                 H    [         R                  " U R                  U5      nU$ )z4Check if the regular expression generates the value )rm   xmlRegexpExecrL   )r'   r   r_   s      r   
regexpExecxmlReg.regexpExecB  s    &&tww8
r   c                 F    [         R                  " U R                  5      nU$ )z/Check if the regular expression is determinist )rm   xmlRegexpIsDeterministrL   r   s     r   regexpIsDeterministxmlReg.regexpIsDeterministG  rG  r   c                 D    [         R                  " XR                  5        g)z5Print the content of the compiled regular expression N)rm   xmlRegexpPrintrL   r  s     r   regexpPrintxmlReg.regexpPrintL      !!&''2r   rw   r#   )
r   r   r	   r
   r(   rr   rS  rW  r[  r   r   r   r   rx  rx  4  s    

3r   rx  c                   0    \ rS rSrSS jrS rS rS rSrg)	r  iP  Nc                 ,    US :w  a  Xl         g S U l         g r#   rw   rM   s     r   r(   relaxNgParserCtxt.__init__Q  rZ  r   c                 r    U R                   S :w  a   [        R                  " U R                   5        S U l         g r#   )rL   rm   xmlRelaxNGFreeParserCtxtr,   s    r   rr   relaxNgParserCtxt.__del__U  r2  r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )xparse a schema definition resource and build an internal
XML Schema structure which can be used to validate
 instances. zxmlRelaxNGParse() failedr  )rm   xmlRelaxNGParserL   r3   relaxNgSchema)r'   r_   _relaxNgParserCtxt__tmps      r   relaxNGParserelaxNgParserCtxt.relaxNGParse^  s7     ((1;[)CDD3'r   c                 H    [         R                  " U R                  U5      nU$ )zuSemi private function used to pass information to a parser
context which are a combination of xmlRelaxNGParserFlag . )rm   xmlRelaxParserSetFlagrL   rJ  s      r   relaxParserSetFlag$relaxNgParserCtxt.relaxParserSetFlagg  s     ..tww>
r   rw   r#   )	r   r   r	   r
   r(   rr   ri  rm  r   r   r   r   r  r  P  s    r   r  c                   <    \ rS rSrS
S jrS rS rS rS rS r	S	r
g)rg  im  Nc                 ,    US :w  a  Xl         g S U l         g r#   rw   rM   s     r   r(   relaxNgSchema.__init__n  rZ  r   c                 r    U R                   S :w  a   [        R                  " U R                   5        S U l         g r#   )rL   rm   xmlRelaxNGFreer,   s    r   rr   relaxNgSchema.__del__r  r^  r   c                 D    [         R                  " XR                  5        g)zDump a RelaxNG structure back N)rm   xmlRelaxNGDumprL   r  s     r   relaxNGDumprelaxNgSchema.relaxNGDump{  r]  r   c                 D    [         R                  " XR                  5        g)z#Dump the transformed RelaxNG tree. N)rm   xmlRelaxNGDumpTreerL   r  s     r   relaxNGDumpTreerelaxNgSchema.relaxNGDumpTree  s    %%fgg6r   c                     [         R                  " U R                  5      nUc  [        S5      e[	        US9nXl        U$ )zDCreate an XML RelaxNGs validation context based on the
given schema zxmlRelaxNGNewValidCtxt() failedr  )rm   xmlRelaxNGNewValidCtxtrL   r    relaxNgValidCtxtschema)r'   r_   _relaxNgSchema__tmps      r   relaxNGNewValidCtxt!relaxNgSchema.relaxNGNewValidCtxt  s<     //8;Y'HII c*r   c                 j    Uc  SnOUR                   n[        R                  " X R                   5      nU$ a  Use RelaxNG to validate the document as it is processed.
Activation is only possible before the first Read(). if
@schema is None, then RelaxNG validation is deactivated. @
The @schema should not be freed until the reader is
 deallocated or its use has been deactivated. NrL   rm   xmlTextReaderRelaxNGSetSchemar
  s       r   RelaxNGSetSchemarelaxNgSchema.RelaxNGSetSchema  s/     >t9 ))i66y''J
r   rw   r#   )r   r   r	   r
   r(   rr   rw  r{  r  r  r   r   r   r   rg  rg  m  s     37	r   rg  c                   H    \ rS rSrSS jrS rS rS rS rS r	S	 r
S
 rSrg)r  i  Nc                 D    S U l         Xl        [        R                  XS9  g r
  )r  rL   r  r(   rM   s     r   r(   relaxNgValidCtxt.__init__  s    %%d%6r   c                 r    U R                   S :w  a   [        R                  " U R                   5        S U l         g r#   )rL   rm   xmlRelaxNGFreeValidCtxtr,   s    r   rr   relaxNgValidCtxt.__del__  &    77d?..tww7r   c                 l    Uc  SnOUR                   n[        R                  " U R                   U5      nU$ r`	  ra	  rR  s       r   rc	  #relaxNgValidCtxt.relaxNGValidateDoc  s/    ;vvf..tww?
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " U R                   X45      nU$ rf	  rg	  r'   r#  r   r1  r  r_   s         r   rj	  +relaxNgValidCtxt.relaxNGValidateFullElement  sC     ;vvf<4g66twwP
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " U R                   X45      nU$ rm	  rn	  r  s         r   rp	  *relaxNgValidCtxt.relaxNGValidatePopElement  sA    ;vvf<4g55dggvO
r   c                 H    [         R                  " U R                  X5      nU$ z;check the CData parsed for validation in the current stack )rm   xmlRelaxNGValidatePushCDatarL   r'   r   r^   r_   s       r   relaxNGValidatePushCData)relaxNgValidCtxt.relaxNGValidatePushCData  s    44TWWdH
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " U R                   X45      nU$ rs	  rt	  r  s         r   rv	  +relaxNgValidCtxt.relaxNGValidatePushElement  sA    ;vvf<4g66twwP
r   c                 l    Uc  SnOUR                   n[        R                  " X0R                   U5      nU$ zUse RelaxNG schema context to validate the document as it
is processed. Activation is only possible before the first
Read(). If @ctxt is None, then RelaxNG schema validation is
 deactivated. NrL   rm    xmlTextReaderRelaxNGValidateCtxtr'   r
  r%  r
  r_   s        r   RelaxNGValidateCtxt$relaxNgValidCtxt.RelaxNGValidateCtxt  s1    
 >t9 ))i99)WWgV
r   rL   r  r#   )r   r   r	   r
   r(   rr   rc	  rj	  rp	  r  rv	  r  r   r   r   r   r  r    s*    7
	
r   r  c                   *    \ rS rSrSS jrS rS rSrg)r}  i  Nc                 ,    US :w  a  Xl         g S U l         g r#   rw   rM   s     r   r(   SchemaParserCtxt.__init__  rZ  r   c                 r    U R                   S :w  a   [        R                  " U R                   5        S U l         g r#   )rL   rm   xmlSchemaFreeParserCtxtr,   s    r   rr   SchemaParserCtxt.__del__  r  r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )re  zxmlSchemaParse() failedr  )rm   xmlSchemaParserL   r3   Schema)r'   r_   _SchemaParserCtxt__tmps      r   schemaParseSchemaParserCtxt.schemaParse  s7     ''0;[)BCCC r   rw   r#   )r   r   r	   r
   r(   rr   r  r   r   r   r   r}  r}    s    r   r}  c                   6    \ rS rSrS	S jrS rS rS rS rSr	g)
r  i  Nc                 ,    US :w  a  Xl         g S U l         g r#   rw   rM   s     r   r(   Schema.__init__  rZ  r   c                 r    U R                   S :w  a   [        R                  " U R                   5        S U l         g r#   )rL   rm   xmlSchemaFreer,   s    r   rr   Schema.__del__  s&    77d?$$TWW-r   c                 j    Uc  SnOUR                   n[        R                  " X R                   5      nU$ a  Use XSD Schema to validate the document as it is processed.
Activation is only possible before the first Read(). if
@schema is None, then Schema validation is deactivated. The
@schema should not be freed until the reader is deallocated
 or its use has been deactivated. NrL   rm   xmlTextReaderSetSchemar
  s       r   	SetSchemaSchema.SetSchema  s/     >t9 ))i//	77C
r   c                 D    [         R                  " XR                  5        g)zDump a Schema structure. N)rm   xmlSchemaDumprL   r  s     r   
schemaDumpSchema.schemaDump  s      1r   c                     [         R                  " U R                  5      nUc  [        S5      e[	        US9nXl        U$ )zDCreate an XML Schemas validation context based on the given
schema. zxmlSchemaNewValidCtxt() failedr  )rm   xmlSchemaNewValidCtxtrL   r    SchemaValidCtxtr  )r'   r_   _Schema__tmps      r   schemaNewValidCtxtSchema.schemaNewValidCtxt  s<     ..tww7;Y'GHHS)r   rw   r#   )
r   r   r	   r
   r(   rr   r  r  r  r   r   r   r   r  r    s    	2r   r  c                   Z    \ rS rSrSS jrS rS rS rS rS r	S	 r
S
 rS rS rS rSrg)r  i"  Nc                 D    S U l         Xl        [        R                  XS9  g r
  )r  rL   r  r(   rM   s     r   r(   SchemaValidCtxt.__init__#  s    $$T$5r   c                 r    U R                   S :w  a   [        R                  " U R                   5        S U l         g r#   )rL   rm   xmlSchemaFreeValidCtxtr,   s    r   rr   SchemaValidCtxt.__del__(  s&    77d?--dgg6r   c                 l    Uc  SnOUR                   n[        R                  " X0R                   U5      nU$ zUse W3C XSD schema context to validate the document as it
is processed. Activation is only possible before the first
Read(). If @ctxt is None, then XML Schema validation is
 deactivated. NrL   rm   xmlTextReaderSchemaValidateCtxtr  s        r   SchemaValidateCtxt"SchemaValidCtxt.SchemaValidateCtxt1  s1    
 >t9 ))i88GGWU
r   c                 F    [         R                  " U R                  5      nU$ )z3Check if any error was detected during validation. )rm   xmlSchemaIsValidrL   r   s     r   schemaIsValidSchemaValidCtxt.schemaIsValid?  r  r   c                 H    [         R                  " U R                  U5      nU$ )z3Sets the options to be used during the validation. )rm   xmlSchemaSetValidOptionsrL   r  s      r   schemaSetValidOptions%SchemaValidCtxt.schemaSetValidOptionsD  s    11$''7C
r   c                 F    [         R                  " U R                  5      nU$ )z$Get the validation context options. )rm   xmlSchemaValidCtxtGetOptionsrL   r   s     r   schemaValidCtxtGetOptions)SchemaValidCtxt.schemaValidCtxtGetOptionsI      55dgg>
r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )zDallow access to the parser context of the schema validation
context z(xmlSchemaValidCtxtGetParserCtxt() failedr  )rm   xmlSchemaValidCtxtGetParserCtxtrL   r3   r
  )r'   r_   _SchemaValidCtxt__tmps      r   schemaValidCtxtGetParserCtxt,SchemaValidCtxt.schemaValidCtxtGetParserCtxtN  s7     88A;[)STT$r   c                 l    Uc  SnOUR                   n[        R                  " U R                   U5      nU$ r`	  r
  rR  s       r   r
  !SchemaValidCtxt.schemaValidateDocV  s/    ;vvf--dggv>
r   c                 H    [         R                  " U R                  X5      nU$ )zeDo a schemas validation of the given resource, it will use
the SAX streamable validation internally. )rm   xmlSchemaValidateFilerL   )r'   r  r%  r_   s       r   schemaValidateFile"SchemaValidCtxt.schemaValidateFile]  s     ..twwJ
r   c                 l    Uc  SnOUR                   n[        R                  " U R                   U5      nU$ rO  rP  )r'   r   r  r_   s       r   rS  (SchemaValidCtxt.schemaValidateOneElementc  s/    <4g44TWWgF
r   c                 F    [         R                  " U R                  U5        g)zaWorkaround to provide file error reporting information when
this is not provided by current APIs N)rm   xmlSchemaValidateSetFilenamerL   )r'   r  s     r   schemaValidateSetFilename)SchemaValidCtxt.schemaValidateSetFilenamej  s     	//Br   r  r#   )r   r   r	   r
   r(   rr   r  r  r  r  r  r
  r  rS  r  r   r   r   r   r  r  "  s:    6



Cr   r  c                   *    \ rS rSrSS jrS rS rSrg)r  io  Nc                 ,    US :w  a  Xl         g S U l         g r#   rw   rM   s     r   r(   xmlTextReaderLocator.__init__p  rZ  r   c                 F    [         R                  " U R                  5      nU$ )z+Obtain the base URI for the given locator. )rm   xmlTextReaderLocatorBaseURIrL   r   s     r   BaseURIxmlTextReaderLocator.BaseURIx      44TWW=
r   c                 F    [         R                  " U R                  5      nU$ )z.Obtain the line number for the given locator. )rm   xmlTextReaderLocatorLineNumberrL   r   s     r   
LineNumberxmlTextReaderLocator.LineNumber}      77@
r   rw   r#   )r   r   r	   r
   r(   r  r  r   r   r   r   r  r  o  s    
r   r  c                      \ rS rSrSES jrS rS rS rS rS r	S	 r
S
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S  r!S! r"S" r#S# r$S$ r%S% r&S& r'S' r(S( r)S) r*S* r+S+ r,S, r-S- r.S. r/S/ r0S0 r1S1 r2S2 r3S3 r4S4 r5S5 r6S6 r7S7 r8S8 r9S9 r:S: r;S; r<S< r=S= r>S> r?S? r@S@ rASA rBSB rCSC rDSDrEg)Frg  i  Nc                 D    S U l         Xl        [        R                  XS9  g r
  )r  rL   r  r(   rM   s     r   r(   xmlTextReader.__init__  s    
""4"3r   c                 r    U R                   S :w  a   [        R                  " U R                   5        S U l         g r#   r  r,   s    r   rr   xmlTextReader.__del__  r  r   c                 F    [         R                  " U R                  5      nU$ )z6Provides the number of attributes of the current node )rm   xmlTextReaderAttributeCountrL   r   s     r   AttributeCountxmlTextReader.AttributeCount  r  r   c                 F    [         R                  " U R                  5      nU$ )zThe base URI of the node. )rm   xmlTextReaderConstBaseUrirL   r   s     r   BaseUrixmlTextReader.BaseUri      22477;
r   c                 F    [         R                  " U R                  5      nU$ )a  This function provides the current index of the parser used
by the reader, relative to the start of the current entity.
This function actually just wraps a call to
xmlBytesConsumed() for the parser context associated with
 the reader. See xmlBytesConsumed() for more information. )rm   xmlTextReaderByteConsumedrL   r   s     r   ByteConsumedxmlTextReader.ByteConsumed  s     22477;
r   c                 F    [         R                  " U R                  5      nU$ )zThis method releases any resources allocated by the current
instance changes the state to Closed and close any
 underlying input. )rm   xmlTextReaderCloserL   r   s     r   ClosexmlTextReader.Close  s     ++DGG4
r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )a+  Hacking interface allowing to get the xmlDocPtr
corresponding to the current document being accessed by the
xmlTextReader. NOTE: as a result of this call, the reader
will not destroy the associated XML document and calling
xmlFreeDoc() on the result is needed once the reader
 parsing has finished. z xmlTextReaderCurrentDoc() failedr  )rm   xmlTextReaderCurrentDocrL   r    r$  r'   r_   _xmlTextReader__tmps      r   
CurrentDocxmlTextReader.CurrentDoc  s7     009;Y'IJJC r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )zHacking interface allowing to get the xmlNodePtr
corresponding to the current node being accessed by the
xmlTextReader. This is dangerous because the underlying
 node may be destroyed on the next Reads. z!xmlTextReaderCurrentNode() failedr  )rm   xmlTextReaderCurrentNoderL   r    r  r  s      r   CurrentNodexmlTextReader.CurrentNode  s7    
 11$'':;Y'JKKS!r   c                 F    [         R                  " U R                  5      nU$ )z#The depth of the node in the tree. )rm   xmlTextReaderDepthrL   r   s     r   DepthxmlTextReader.Depth  r
  r   c                 F    [         R                  " U R                  5      nU$ )z3Determine the encoding of the document being read. )rm   xmlTextReaderConstEncodingrL   r   s     r   EncodingxmlTextReader.Encoding      33DGG<
r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )zReads the contents of the current node and the full
subtree. It then makes the subtree available until the next
 xmlTextReaderRead() call zxmlTextReaderExpand() failedr  )rm   xmlTextReaderExpandrL   r    r  r  s      r   ExpandxmlTextReader.Expand  s7     ,,TWW5;Y'EFFS!r   c                 H    [         R                  " U R                  U5      nU$ )zGProvides the value of the attribute with the specified
qualified name. )rm   xmlTextReaderGetAttributerL   r  s      r   GetAttributexmlTextReader.GetAttribute  s     22477DA
r   c                 H    [         R                  " U R                  U5      nU$ )zaProvides the value of the attribute with the specified
index relative to the containing element. )rm   xmlTextReaderGetAttributeNorL   r'   nor_   s      r   GetAttributeNoxmlTextReader.GetAttributeNo  s     44TWWbA
r   c                 H    [         R                  " U R                  X5      nU$ )z.Provides the value of the specified attribute )rm   xmlTextReaderGetAttributeNsrL   r'   	localNamenamespaceURIr_   s       r   GetAttributeNsxmlTextReader.GetAttributeNs  s    44TWWiV
r   c                 F    [         R                  " U R                  5      nU$ )z8Provide the column number of the current parsing point. )rm   "xmlTextReaderGetParserColumnNumberrL   r   s     r   GetParserColumnNumber#xmlTextReader.GetParserColumnNumber  s    ;;DGGD
r   c                 F    [         R                  " U R                  5      nU$ )z6Provide the line number of the current parsing point. )rm    xmlTextReaderGetParserLineNumberrL   r   s     r   GetParserLineNumber!xmlTextReader.GetParserLineNumber  s    99$''B
r   c                 H    [         R                  " U R                  U5      nU$ )z#Read the parser internal property. )rm   xmlTextReaderGetParserProprL   )r'   r  r_   s      r   GetParserPropxmlTextReader.GetParserProp  s    33DGGTB
r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )ai  Method to get the remainder of the buffered XML. this
method stops the parser, set its state to End Of File and
return the input stream with what is left that the parser
did not use.  The implementation is not good, the parser
certainly progressed past what's left in reader->input, and
there is an allocation problem. Best would be to rewrite it
 differently. z"xmlTextReaderGetRemainder() failedr  )rm   xmlTextReaderGetRemainderrL   r    r  r  s      r   GetRemainderxmlTextReader.GetRemainder  s7     22477;;Y'KLL%r   c                 F    [         R                  " U R                  5      nU$ )z!Whether the node has attributes. )rm   xmlTextReaderHasAttributesrL   r   s     r   HasAttributesxmlTextReader.HasAttributes  r)  r   c                 F    [         R                  " U R                  5      nU$ )z(Whether the node can have a text value. )rm   xmlTextReaderHasValuerL   r   s     r   HasValuexmlTextReader.HasValue  r	  r   c                 F    [         R                  " U R                  5      nU$ )z^Whether an Attribute  node was generated from the default
value defined in the DTD or schema. )rm   xmlTextReaderIsDefaultrL   r   s     r   	IsDefaultxmlTextReader.IsDefault       //8
r   c                 F    [         R                  " U R                  5      nU$ )z#Check if the current node is empty )rm   xmlTextReaderIsEmptyElementrL   r   s     r   IsEmptyElementxmlTextReader.IsEmptyElement  r  r   c                 F    [         R                  " U R                  5      nU$ )z_Determine whether the current node is a namespace
declaration rather than a regular attribute. )rm   xmlTextReaderIsNamespaceDeclrL   r   s     r   IsNamespaceDeclxmlTextReader.IsNamespaceDecl  s     55dgg>
r   c                 F    [         R                  " U R                  5      nU$ )z5Retrieve the validity status from the parser context )rm   xmlTextReaderIsValidrL   r   s     r   IsValidxmlTextReader.IsValid  s    --dgg6
r   c                 F    [         R                  " U R                  5      nU$ )zThe local name of the node. )rm   xmlTextReaderConstLocalNamerL   r   s     r   	LocalNamexmlTextReader.LocalName!  r  r   c                 H    [         R                  " U R                  U5      nU$ )zAResolves a namespace prefix in the scope of the current
element. )rm   xmlTextReaderLookupNamespacerL   r'   r  r_   s      r   LookupNamespacexmlTextReader.LookupNamespace&  s     55dggvF
r   c                 H    [         R                  " U R                  U5      nU$ )z_Moves the position of the current instance to the attribute
with the specified qualified name. )rm   xmlTextReaderMoveToAttributerL   r  s      r   MoveToAttributexmlTextReader.MoveToAttribute,  s     55dggtD
r   c                 H    [         R                  " U R                  U5      nU$ )zyMoves the position of the current instance to the attribute
with the specified index relative to the containing element. )rm   xmlTextReaderMoveToAttributeNorL   r4  s      r   MoveToAttributeNoxmlTextReader.MoveToAttributeNo2  s     77D
r   c                 H    [         R                  " U R                  X5      nU$ )zmMoves the position of the current instance to the attribute
with the specified local name and namespace URI. )rm   xmlTextReaderMoveToAttributeNsrL   r:  s       r   MoveToAttributeNsxmlTextReader.MoveToAttributeNs8  s     77Y
r   c                 F    [         R                  " U R                  5      nU$ )zbMoves the position of the current instance to the node that
contains the current Attribute  node. )rm   xmlTextReaderMoveToElementrL   r   s     r   MoveToElementxmlTextReader.MoveToElement>  s     33DGG<
r   c                 F    [         R                  " U R                  5      nU$ )zdMoves the position of the current instance to the first
attribute associated with the current node. )rm   !xmlTextReaderMoveToFirstAttributerL   r   s     r   MoveToFirstAttribute"xmlTextReader.MoveToFirstAttributeD  s     ::477C
r   c                 F    [         R                  " U R                  5      nU$ )zcMoves the position of the current instance to the next
attribute associated with the current node. )rm    xmlTextReaderMoveToNextAttributerL   r   s     r   MoveToNextAttribute!xmlTextReader.MoveToNextAttributeJ  s     99$''B
r   c                 F    [         R                  " U R                  5      nU$ )z<The qualified name of the node, equal to Prefix :LocalName. )rm   xmlTextReaderConstNamerL   r   s     r   NamexmlTextReader.NameP  rG  r   c                 F    [         R                  " U R                  5      nU$ )z9The URI defining the namespace associated with the node. )rm   xmlTextReaderConstNamespaceUrirL   r   s     r   NamespaceUrixmlTextReader.NamespaceUriU  r   r   c                 J    [         R                  " U R                  XX45      nU$ zSetup an xmltextReader to parse an XML in-memory document.
The parsing flags @options are a combination of
xmlParserOption. This reuses the existing @reader
 xmlTextReader. )rm   xmlReaderNewDocrL   )r'   r  r$  r/  r%  r_   s         r   NewDocxmlTextReader.NewDocZ  s!    
 ((#HN
r   c                 J    [         R                  " U R                  XX45      nU$ )a  Setup an xmltextReader to parse an XML from a file
descriptor. NOTE that the file descriptor will not be
closed when the reader is closed or reset. The parsing
flags @options are a combination of xmlParserOption. This
 reuses the existing @reader xmlTextReader. )rm   xmlReaderNewFdrL   )r'   r)  r$  r/  r%  r_   s         r   NewFdxmlTextReader.NewFdb  s!     ''(L
r   c                 J    [         R                  " U R                  XU5      nU$ )zparse an XML file from the filesystem or the network. The
parsing flags @options are a combination of
xmlParserOption. This reuses the existing @reader
 xmlTextReader. )rm   xmlReaderNewFilerL   )r'   r  r/  r%  r_   s        r   NewFilexmlTextReader.NewFilek  s!    
 ))$''8wO
r   c                 L    [         R                  " U R                  XX4U5      nU$ r  )rm   xmlReaderNewMemoryrL   )r'   r  r  r$  r/  r%  r_   s          r   	NewMemoryxmlTextReader.NewMemorys  s$    
 ++DGGV3RYZ
r   c                 l    Uc  SnOUR                   n[        R                  " U R                   U5      nU$ r
  r
  rR  s       r   r
  xmlTextReader.NewWalker{  s1     ;vvf++DGGV<
r   c                 F    [         R                  " U R                  5      nU$ )z`Skip to the node following the current one in document
order while avoiding the subtree if any. )rm   xmlTextReaderNextrL   r   s     r   NextxmlTextReader.Next  r  r   c                 F    [         R                  " U R                  5      nU$ )zSkip to the node following the current one in document
order while avoiding the subtree if any. Currently
 implemented only for Readers built on a document )rm   xmlTextReaderNextSiblingrL   r   s     r   NextSiblingxmlTextReader.NextSibling  s     11$'':
r   c                 F    [         R                  " U R                  5      nU$ )z}Get the node type of the current node Reference:
http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/Xm
lNodeType.html )rm   xmlTextReaderNodeTyperL   r   s     r   NodeTypexmlTextReader.NodeType  s     ..tww7
r   c                 F    [         R                  " U R                  5      nU$ )a6  The value indicating whether to normalize white space and
attribute values. Since attribute value and end of line
normalizations are a MUST in the XML specification only the
value true is accepted. The broken behaviour of accepting
out of range character entities like &#0; is of course not
 supported either. )rm   xmlTextReaderNormalizationrL   r   s     r   NormalizationxmlTextReader.Normalization  s     33DGG<
r   c                 F    [         R                  " U R                  5      nU$ )zAA shorthand reference to the namespace associated with the
node. )rm   xmlTextReaderConstPrefixrL   r   s     r   PrefixxmlTextReader.Prefix  s     11$'':
r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )zThis tells the XML Reader to preserve the current node. The
caller must also use xmlTextReaderCurrentDoc() to keep an
 handle on the resulting document once parsing has finished zxmlTextReaderPreserve() failedr  )rm   xmlTextReaderPreserverL   r    r  r  s      r   PreservexmlTextReader.Preserve  s7     ..tww7;Y'GHHS!r   c                 F    [         R                  " U R                  5      nU$ )zHThe quotation mark character used to enclose the value of
an attribute. )rm   xmlTextReaderQuoteCharrL   r   s     r   	QuoteCharxmlTextReader.QuoteChar  r[  r   c                 F    [         R                  " U R                  5      nU$ )zdMoves the position of the current instance to the next node
in the stream, exposing its properties. )rm   xmlTextReaderReadrL   r   s     r   ReadxmlTextReader.Read  r  r   c                 F    [         R                  " U R                  5      nU$ )zKParses an attribute value into one or more Text and
EntityReference nodes. )rm   xmlTextReaderReadAttributeValuerL   r   s     r   ReadAttributeValue xmlTextReader.ReadAttributeValue  s     88A
r   c                 F    [         R                  " U R                  5      nU$ zJReads the contents of the current node, including child
nodes and markup. )rm   xmlTextReaderReadInnerXmlrL   r   s     r   ReadInnerXmlxmlTextReader.ReadInnerXml  r"  r   c                 F    [         R                  " U R                  5      nU$ r  )rm   xmlTextReaderReadOuterXmlrL   r   s     r   ReadOuterXmlxmlTextReader.ReadOuterXml  r"  r   c                 F    [         R                  " U R                  5      nU$ )z#Gets the read state of the reader. )rm   xmlTextReaderReadStaterL   r   s     r   	ReadStatexmlTextReader.ReadState  rG  r   c                 F    [         R                  " U R                  5      nU$ )z=Reads the contents of an element or a text node as a string. )rm   xmlTextReaderReadStringrL   r   s     r   
ReadStringxmlTextReader.ReadString      009
r   c                 l    Uc  SnOUR                   n[        R                  " U R                   U5      nU$ r  r  r'   r  	schema__or_   s       r   r  xmlTextReader.RelaxNGSetSchema  s1     >t9 ))i66tww	J
r   c                 H    [         R                  " U R                  U5      nU$ )zUse RelaxNG schema to validate the document as it is
processed. Activation is only possible before the first
Read(). If @rng is None, then RelaxNG schema validation is
 deactivated. )rm   xmlTextReaderRelaxNGValidaterL   )r'   rngr_   s      r   RelaxNGValidatexmlTextReader.RelaxNGValidate  s    
 55dggsC
r   c                 l    Uc  SnOUR                   n[        R                  " U R                   X25      nU$ r  r  r'   rH  r%  r  r_   s        r   r  !xmlTextReader.RelaxNGValidateCtxt  s1    
 <4g99$''7T
r   c                 H    [         R                  " U R                  U5      nU$ )zUse W3C XSD schema to validate the document as it is
processed. Activation is only possible before the first
Read(). If @xsd is None, then XML Schema validation is
 deactivated. )rm   xmlTextReaderSchemaValidaterL   )r'   xsdr_   s      r   SchemaValidatexmlTextReader.SchemaValidate  s    
 44TWWcB
r   c                 l    Uc  SnOUR                   n[        R                  " U R                   X25      nU$ r  r  r  s        r   r   xmlTextReader.SchemaValidateCtxt  s1    
 <4g88'S
r   c                 H    [         R                  " U R                  X5      nU$ )zChange the parser processing behaviour by changing some of
its internal properties. Note that some properties can only
 be changed before any read has been done. )rm   xmlTextReaderSetParserProprL   )r'   r  rg  r_   s       r   SetParserPropxmlTextReader.SetParserProp  s     33DGGTI
r   c                 l    Uc  SnOUR                   n[        R                  " U R                   U5      nU$ r  r  r  s       r   r  xmlTextReader.SetSchema  s1     >t9 ))i//C
r   c                 n    Uc  SnOUR                   n[        R                  " U R                   XRX45      nU$ r@  rA  )r'   r  r$  r/  r%  input__or_   s          r   rC  xmlTextReader.Setup  s1    =T(h++DGGXHV
r   c                 F    [         R                  " U R                  5      nU$ )z<Determine the standalone status of the document being read. )rm   xmlTextReaderStandalonerL   r   s     r   
StandalonexmlTextReader.Standalone   r  r   c                 H    [         R                  " U R                  U5      nU$ )z^Get an interned string from the reader, allows for example
to speedup string name comparisons )rm   xmlTextReaderConstStringrL   r)  s      r   StringxmlTextReader.String%  s     11$''3?
r   c                 F    [         R                  " U R                  5      nU$ )z/Provides the text value of the node if present )rm   xmlTextReaderConstValuerL   r   s     r   ValuexmlTextReader.Value+  r  r   c                 F    [         R                  " U R                  5      nU$ )z2The xml:lang scope within which the node resides. )rm   xmlTextReaderConstXmlLangrL   r   s     r   XmlLangxmlTextReader.XmlLang0  r  r   c                 F    [         R                  " U R                  5      nU$ )z6Determine the XML version of the document being read. )rm   xmlTextReaderConstXmlVersionrL   r   s     r   
XmlVersionxmlTextReader.XmlVersion5  r  r   r  r#   )Fr   r   r	   r
   r(   rr   r  r  r  r  r  r  r#  r'  r,  r0  r6  r=  rA  rE  rI  rM  rQ  rU  rY  r^  rb  rf  rj  ro  rs  rw  r{  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rC  r  r  r   r  r  r   r   r   r   rg  rg    sG   4


















		


r   rg  c                       \ rS rSrSS jrS rS rS rS rS r	S	 r
S
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rSrg)r  i:  Nc                 ,    US :w  a  Xl         g S U l         g r#   rw   rM   s     r   r(   URI.__init__;  rZ  r   c                 r    U R                   S :w  a   [        R                  " U R                   5        S U l         g r#   )rL   rm   
xmlFreeURIr,   s    r   rr   URI.__del__?  s&    77d?!!$''*r   c                 F    [         R                  " U R                  5      nU$ )z#Get the authority part from an URI )rm   xmlURIGetAuthorityrL   r   s     r   	authorityURI.authorityE  r
  r   c                 F    [         R                  " U R                  5      nU$ )z"Get the fragment part from an URI )rm   xmlURIGetFragmentrL   r   s     r   fragmentURI.fragmentJ  rK  r   c                 F    [         R                  " U R                  5      nU$ )z Get the opaque part from an URI )rm   xmlURIGetOpaquerL   r   s     r   opaque
URI.opaqueO  r  r   c                 F    [         R                  " U R                  5      nU$ )zGet the path part from an URI )rm   xmlURIGetPathrL   r   s     r   r  URI.pathT  rp  r   c                 F    [         R                  " U R                  5      nU$ )zGet the port part from an URI )rm   xmlURIGetPortrL   r   s     r   r   URI.portY  rp  r   c                 F    [         R                  " U R                  5      nU$ )zGet the query part from an URI )rm   xmlURIGetQueryrL   r   s     r   query	URI.query^  r  r   c                 F    [         R                  " U R                  5      nU$ )z>Get the raw query part from an URI (i.e. the unescaped
form). )rm   xmlURIGetQueryRawrL   r   s     r   queryRawURI.queryRawc  r  r   c                 F    [         R                  " U R                  5      nU$ )z Get the scheme part from an URI )rm   xmlURIGetSchemerL   r   s     r   scheme
URI.schemei  r  r   c                 F    [         R                  " U R                  5      nU$ )z Get the server part from an URI )rm   xmlURIGetServerrL   r   s     r   server
URI.servern  r  r   c                 F    [         R                  " U R                  U5        g)z"Set the authority part of an URI. N)rm   xmlURISetAuthorityrL   )r'   r  s     r   setAuthorityURI.setAuthoritys  s    %%dggy9r   c                 F    [         R                  " U R                  U5        g)z!Set the fragment part of an URI. N)rm   xmlURISetFragmentrL   )r'   r  s     r   setFragmentURI.setFragmentw  s    $$TWWh7r   c                 F    [         R                  " U R                  U5        g)zSet the opaque part of an URI. N)rm   xmlURISetOpaquerL   )r'   r  s     r   	setOpaqueURI.setOpaque{      ""477F3r   c                 F    [         R                  " U R                  U5        g)zSet the path part of an URI. N)rm   xmlURISetPathrL   )r'   r  s     r   setPathURI.setPath        $/r   c                 F    [         R                  " U R                  U5        g)zSet the port part of an URI. N)rm   xmlURISetPortrL   )r'   r   s     r   setPortURI.setPort  rC  r   c                 F    [         R                  " U R                  U5        g)zSet the query part of an URI. N)rm   xmlURISetQueryrL   )r'   r$  s     r   setQueryURI.setQuery  s    !!$''51r   c                 F    [         R                  " U R                  U5        g)z<Set the raw query part of an URI (i.e. the unescaped form). N)rm   xmlURISetQueryRawrL   )r'   	query_raws     r   setQueryRawURI.setQueryRaw  s    $$TWWi8r   c                 F    [         R                  " U R                  U5        g)zSet the scheme part of an URI. N)rm   xmlURISetSchemerL   )r'   r,  s     r   	setSchemeURI.setScheme  r>  r   c                 F    [         R                  " U R                  U5        g)zSet the server part of an URI. N)rm   xmlURISetServerrL   )r'   r0  s     r   	setServerURI.setServer  r>  r   c                 F    [         R                  " U R                  U5        g)zSet the user part of an URI. N)rm   xmlURISetUserrL   )r'   r!  s     r   setUserURI.setUser  rC  r   c                 F    [         R                  " U R                  5      nU$ )zGet the user part from an URI )rm   xmlURIGetUserrL   r   s     r   r!  URI.user  rp  r   c                 H    [         R                  " U R                  U5      nU$ )zParse an URI reference string based on RFC 3986 and fills
in the appropriate fields of the @uri structure 
 URI-reference = URI / relative-ref )rm   xmlParseURIReferencerL   r)  s      r   parseURIReferenceURI.parseURIReference  s     --dggs;
r   c                 D    [         R                  " XR                  5        g)z&Prints the URI in the stream @stream. N)rm   xmlPrintURIrL   )r'   streams     r   printURIURI.printURI  s    vww/r   c                 F    [         R                  " U R                  5      nU$ )z"Save the URI as an escaped string )rm   
xmlSaveUrirL   r   s     r   saveUriURI.saveUri  s    ##DGG,
r   rw   r#   )r   r   r	   r
   r(   rr   r  r  r  r  r   r$  r(  r,  r0  r4  r8  r<  rA  rF  rJ  rO  rS  rW  r[  r!  rb  rg  rk  r   r   r   r   r  r  :  s    







:8400294400r   r  c                   x    \ rS rSrSS jrS rS rS rS rS r	S	 r
S
 rS rS rS rS rS rS rS rS rSrg)r*  i  Nc                 6    Xl         [        R                  XS9  g r
  )rL   r  r(   rM   s     r   r(   ValidCtxt.__init__  r/  r   c                 r    U R                   S :w  a   [        R                  " U R                   5        S U l         g r#   )rL   rm   xmlFreeValidCtxtr,   s    r   rr   ValidCtxt.__del__  rP  r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " U R                   XVX45      nU$ rJ
  rK
  )r'   r#  r   r   rg  r1  r  r_   s           r   rM
  *ValidCtxt.validCtxtNormalizeAttributeValue  sF     ;vvf<4g<<TWWfW[c
r   c                 l    Uc  SnOUR                   n[        R                  " U R                   U5      nU$ rR
  rS
  rR  s       r   rU
  ValidCtxt.validateDocument  s1    
 ;vvf,,TWWf=
r   c                 l    Uc  SnOUR                   n[        R                  " U R                   U5      nU$ rX
  rY
  rR  s       r   r[
  ValidCtxt.validateDocumentFinal  s1     ;vvf11$''6B
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " U R                   X45      nU$ r^
  r_
  )r'   r#  r  r1  ra
  r_   s         r   rb
  ValidCtxt.validateDtd  sC     ;vvf;vvf''@
r   c                 l    Uc  SnOUR                   n[        R                  " U R                   U5      nU$ re
  rf
  rR  s       r   rh
  ValidCtxt.validateDtdFinal  s1     ;vvf,,TWWf=
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " U R                   X45      nU$ rk
  rl
  r  s         r   rn
  ValidCtxt.validateElement  sA    ;vvf<4g++DGGVE
r   c                 l    Uc  SnOUR                   n[        R                  " U R                   X25      nU$ rq
  rr
  )r'   r#  r   r1  r_   s        r   rt
  ValidCtxt.validateNotationUse
  s1     ;vvf//N
r   c                     Uc  SnOUR                   nUc  SnOUR                   nUc  SnOUR                   n[        R                  " U R                   XVXt5      nU$ rw
  rx
  )	r'   r#  r   r*  rg  r1  r  r3  r_   s	            r   rz
  ValidCtxt.validateOneAttribute  sW     ;vvf<4g<4g00&7Z
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " U R                   X45      nU$ r}
  r~
  r  s         r   r
  ValidCtxt.validateOneElement#  sC     ;vvf<4g..twwH
r   c                     Uc  SnOUR                   nUc  SnOUR                   nUc  SnOUR                   n[        R                  " U R                   XgX8U5      n	U	$ r
  r
  )
r'   r#  r   r  r  rg  r1  r  r  r_   s
             r   r
  ValidCtxt.validateOneNamespace1  sZ     ;vvf<4g:tueee00&6Z_`
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " U R                   XEU5      nU$ r
  r
  r'   r#  r   r
  r1  r  r_   s          r   r
  ValidCtxt.validatePopElementB  sC    ;vvf<4g..twwO
r   c                 H    [         R                  " U R                  X5      nU$ r  )rm   xmlValidatePushCDatarL   r  s       r   validatePushCDataValidCtxt.validatePushCDataK  s    --dggtA
r   c                     Uc  SnOUR                   nUc  SnOUR                   n[        R                  " U R                   XEU5      nU$ r
  r
  r  s          r   r
  ValidCtxt.validatePushElementP  sC    ;vvf<4g//%P
r   c                 l    Uc  SnOUR                   n[        R                  " U R                   U5      nU$ r
  r
  rR  s       r   r
  ValidCtxt.validateRootY  s1    
 ;vvf((&9
r   rw   r#   )r   r   r	   r
   r(   rr   rM
  rU
  r[
  rb
  rh
  rn
  rt
  rz
  r
  r
  r
  r  r
  r
  r   r   r   r   r*  r*    sR    0 	""
r   r*  c                       \ rS rSrSS jrS rS rS rS rS r	S	 r
S
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rSrg)r  ic  Nc                 ,    US :w  a  Xl         g S U l         g r#   rw   rM   s     r   r(   xpathContext.__init__d  rZ  r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )z!Get the doc from an xpathContext zxmlXPathGetContextDoc() failedr  )rm   xmlXPathGetContextDocrL   rA   r$  r'   r_   _xpathContext__tmps      r   
contextDocxpathContext.contextDoci  s5    ..tww7;Z(HIIC r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )*Get the current node from an xpathContext zxmlXPathGetContextNode() failedr  )rm   xmlXPathGetContextNoderL   rA   r  r  s      r   contextNodexpathContext.contextNodep  s5    //8;Z(IJJS!r   c                 F    [         R                  " U R                  5      nU$ r  )rm   xmlXPathGetContextPositionrL   r   s     r   contextPositionxpathContext.contextPositionw  r)  r   c                 F    [         R                  " U R                  5      nU$ r  )rm   xmlXPathGetContextSizerL   r   s     r   contextSizexpathContext.contextSize|  rG  r   c                 F    [         R                  " U R                  5      nU$ )z+Get the current function name xpathContext )rm   xmlXPathGetFunctionrL   r   s     r   functionxpathContext.function  r 	  r   c                 F    [         R                  " U R                  5      nU$ )z/Get the current function name URI xpathContext )rm   xmlXPathGetFunctionURIrL   r   s     r   functionURIxpathContext.functionURI  rG  r   c                 j    Uc  SnOUR                   n[        R                  " U R                   U5        g)zSet the doc of an xpathContext N)rL   rm   xmlXPathSetContextDocr  s      r   setContextDocxpathContext.setContextDoc  s(    ;vvf((&9r   c                 j    Uc  SnOUR                   n[        R                  " U R                   U5        g)z(Set the current node of an xpathContext N)rL   rm   xmlXPathSetContextNoder  s      r   rD  xpathContext.setContextNode  s(    <4g))$''7;r   c                 J    [         R                  " U R                  XU5      nU$ )z<Register a Python written function to the XPath interpreter )rm   r  rL   )r'   r   r  r  r_   s        r   r  "xpathContext.registerXPathFunction  s    11$''4K
r   c                 J    [         R                  " U R                  XU5      nU$ )z+Register a variable with the XPath context )rm   xmlXPathRegisterVariablerL   )r'   r   r  rg  r_   s        r   xpathRegisterVariable"xpathContext.xpathRegisterVariable  s    11$''4O
r   c                 J    [         R                  " U R                  XU5      nU$ )a  Creates/frees an object cache on the XPath context. If
activates XPath objects (xmlXPathObject) will be cached
internally to be reused. @options: 0: This will set the
XPath object caching: @value: This will set the maximum
number of XPath objects to be cached per slot There are 5
slots for: node-set, string, number, boolean, and misc
objects. Use <0 for the default number (100). Other values
 for @options have currently no effect. )rm   xmlXPathContextSetCacherL   )r'   activerg  r%  r_   s        r   xpathContextSetCache!xpathContext.xpathContextSetCache  s!     00&Q
r   c                 t    [         R                  " XR                  5      nUc  [        S5      e[	        U5      $ )7Evaluate the XPath Location Path in the given context. zxmlXPathEval() failed)rm   xmlXPathEvalrL   rA   r  r)  s      r   rE  xpathContext.xpathEval  s1    %%c773;Z(?@@c""r   c                 t    [         R                  " XR                  5      nUc  [        S5      e[	        U5      $ )zAlias for xmlXPathEval(). zxmlXPathEvalExpression() failed)rm   xmlXPathEvalExpressionrL   rA   r  r)  s      r   xpathEvalExpression xpathContext.xpathEvalExpression  s1    //WW=;Z(IJJc""r   c                 D    [         R                  " U R                  5        g)zFree up an xmlXPathContext N)rm   xmlXPathFreeContextrL   r,   s    r   rF  xpathContext.xpathFreeContext  s    &&tww/r   c                 t    [         R                  " XR                  5      nUc  [        S5      e[	        US9nU$ )z#Create a new xmlXPathParserContext z!xmlXPathNewParserContext() failedr  )rm   xmlXPathNewParserContextrL   rA   xpathParserContext)r'   re   r_   r  s       r   xpathNewParserContext"xpathContext.xpathNewParserContext  s5    11#ww?;Z(KLL",r   c                 H    [         R                  " U R                  U5      nU$ )zuSearch in the namespace declaration array of the context
for the given namespace name associated to the given prefix )rm   xmlXPathNsLookuprL   rn  s      r   xpathNsLookupxpathContext.xpathNsLookup  s     ))$''6:
r   c                 D    [         R                  " U R                  5        g)z6Registers all default XPath functions in this context N)rm   xmlXPathRegisterAllFunctionsrL   r,   s    r   xpathRegisterAllFunctions&xpathContext.xpathRegisterAllFunctions  s    //8r   c                 H    [         R                  " U R                  X5      nU$ )zJRegister a new namespace. If @ns_uri is None it unregisters
the namespace )rm   xmlXPathRegisterNsrL   )r'   r  r  r_   s       r   xpathRegisterNsxpathContext.xpathRegisterNs  s     ++DGGVD
r   c                 D    [         R                  " U R                  5        g)zBCleanup the XPath context data associated to registered
functions N)rm   xmlXPathRegisteredFuncsCleanuprL   r,   s    r   xpathRegisteredFuncsCleanup(xpathContext.xpathRegisteredFuncsCleanup  s     	11$'':r   c                 D    [         R                  " U R                  5        gzBCleanup the XPath context data associated to registered
variables N)rm   xmlXPathRegisteredNsCleanuprL   r,   s    r   xpathRegisteredNsCleanup%xpathContext.xpathRegisteredNsCleanup  s     	..tww7r   c                 D    [         R                  " U R                  5        gr  )rm   "xmlXPathRegisteredVariablesCleanuprL   r,   s    r   xpathRegisteredVariablesCleanup,xpathContext.xpathRegisteredVariablesCleanup  s     	55dgg>r   c                 v    [         R                  " U R                  U5      nUc  [        S5      e[	        U5      $ )JSearch in the Variable array of the context for the given
variable value. zxmlXPathVariableLookup() failed)rm   xmlXPathVariableLookuprL   rA   r  r  s      r   xpathVariableLookup xpathContext.xpathVariableLookup  s5     //>;Z(IJJc""r   c                 v    [         R                  " U R                  X5      nUc  [        S5      e[	        U5      $ )r  z!xmlXPathVariableLookupNS() failed)rm   xmlXPathVariableLookupNSrL   rA   r  )r'   r   r  r_   s       r   xpathVariableLookupNS"xpathContext.xpathVariableLookupNS  s5     11$''4H;Z(KLLc""r   c                 t    [         R                  " XR                  5      nUc  [        S5      e[	        U5      $ )r  zxmlXPtrEval() failed)rm   xmlXPtrEvalrL   r    r  r)  s      r   xpointerEvalxpathContext.xpointerEval  s1    $$S''2;Y'=>>c""r   rw   r#   )r   r   r	   r
   r(   r  r  r  r  r  r  r  rD  r  r  r  rE  r  rF  r  r  r  r  r  r  r  r  r  r  r   r   r   r   r  r  c  s    




:<

##09;
8
?
###r   r  c                      \ rS rSrSBS jrS rS rS rS rS r	S	 r
S
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S  r!S! r"S" r#S# r$S$ r%S% r&S& r'S' r(S( r)S) r*S* r+S+ r,S, r-S- r.S. r/S/ r0S0 r1S1 r2S2 r3S3 r4S4 r5S5 r6S6 r7S7 r8S8 r9S9 r:S: r;S; r<S< r=S= r>S> r?S? r@S@ rASArBg)Cr  i  Nc                 ,    US :w  a  Xl         g S U l         g r#   rw   rM   s     r   r(   xpathParserContext.__init__  rZ  r   c                 t    [         R                  " U R                  5      nUc  [        S5      e[	        US9nU$ )z0Get the xpathContext from an xpathParserContext z!xmlXPathParserGetContext() failedr  )rm   xmlXPathParserGetContextrL   rA   r  )r'   r_   _xpathParserContext__tmps      r   contextxpathParserContext.context  s5    11$'':;Z(KLL#&r   c                 D    [         R                  " U R                  5        g)zImplement the add operation on XPath objects: The numeric
operators convert their operands to numbers as if by
 calling the number function. N)rm   xmlXPathAddValuesrL   r,   s    r   xpathAddValues!xpathParserContext.xpathAddValues       	$$TWW-r   c                 F    [         R                  " U R                  U5        g)aC  Implement the boolean() XPath function boolean
boolean(object) The boolean function converts its argument
to a boolean as follows: - a number is true if and only if
it is neither positive or negative zero nor NaN - a
node-set is true if and only if it is non-empty - a string
 is true if and only if its length is non-zero N)rm   xmlXPathBooleanFunctionrL   r'   nargss     r   xpathBooleanFunction'xpathParserContext.xpathBooleanFunction  s     	**477E:r   c                 F    [         R                  " U R                  U5        g)zImplement the ceiling() XPath function number
ceiling(number) The ceiling function returns the smallest
(closest to negative infinity) number that is not less than
 the argument and that is an integer. N)rm   xmlXPathCeilingFunctionrL   r  s     r   xpathCeilingFunction'xpathParserContext.xpathCeilingFunction'  s    
 	**477E:r   c                 H    [         R                  " U R                  X5      nU$ )a  Implement the compare operation on XPath objects: @arg1 <
@arg2    (1, 1, ... @arg1 <= @arg2   (1, 0, ... @arg1 >
@arg2    (0, 1, ... @arg1 >= @arg2   (0, 0, ...  When
neither object to be compared is a node-set and the
operator is <=, <, >=, >, then the objects are compared by
converted both objects to numbers and comparing the numbers
according to IEEE 754. The < comparison will be true if and
only if the first number is less than the second number.
The <= comparison will be true if and only if the first
number is less than or equal to the second number. The >
comparison will be true if and only if the first number is
greater than the second number. The >= comparison will be
true if and only if the first number is greater than or
 equal to the second number. )rm   xmlXPathCompareValuesrL   )r'   infstrictr_   s       r   xpathCompareValues%xpathParserContext.xpathCompareValues.  s     ..twwD
r   c                 F    [         R                  " U R                  U5        g)zImplement the concat() XPath function string concat(string,
string, string*) The concat function returns the
 concatenation of its arguments. N)rm   xmlXPathConcatFunctionrL   r  s     r   xpathConcatFunction&xpathParserContext.xpathConcatFunction@       	))$''59r   c                 F    [         R                  " U R                  U5        g)zImplement the contains() XPath function boolean
contains(string, string) The contains function returns true
if the first argument string contains the second argument
 string, and otherwise returns false. N)rm   xmlXPathContainsFunctionrL   r  s     r   xpathContainsFunction(xpathParserContext.xpathContainsFunctionF      
 	++DGGU;r   c                 F    [         R                  " U R                  U5        g)z<Implement the count() XPath function number count(node-set) N)rm   xmlXPathCountFunctionrL   r  s     r   xpathCountFunction%xpathParserContext.xpathCountFunctionM      ((%8r   c                 D    [         R                  " U R                  5        g)zImplement the div operation on XPath objects @arg1 / @arg2:
The numeric operators convert their operands to numbers as
 if by calling the number function. N)rm   xmlXPathDivValuesrL   r,   s    r   xpathDivValues!xpathParserContext.xpathDivValuesQ  r  r   c                 F    [         R                  " U R                  5      nU$ zGImplement the equal operation on XPath objects content:
@arg1 == @arg2 )rm   xmlXPathEqualValuesrL   r   s     r   xpathEqualValues#xpathParserContext.xpathEqualValuesW  r  r   c                 F    [         R                  " U R                  U5        g)zHandle an XPath error N)rm   xmlXPathErrrL   )r'   r   s     r   xpathErrxpathParserContext.xpathErr]  s    tww.r   c                 D    [         R                  " U R                  5        g)zgParse and evaluate an XPath expression in the given
context, then push the result on the context stack N)rm   xmlXPathEvalExprrL   r,   s    r   xpathEvalExpr xpathParserContext.xpathEvalExpra  r   r   c                 F    [         R                  " U R                  U5        g)z5Implement the false() XPath function boolean false() N)rm   xmlXPathFalseFunctionrL   r  s     r   xpathFalseFunction%xpathParserContext.xpathFalseFunctionf  r$  r   c                 F    [         R                  " U R                  U5        g)zImplement the floor() XPath function number floor(number)
The floor function returns the largest (closest to positive
infinity) number that is not greater than the argument and
 that is an integer. N)rm   xmlXPathFloorFunctionrL   r  s     r   xpathFloorFunction%xpathParserContext.xpathFloorFunctionj  s    
 	((%8r   c                 D    [         R                  " U R                  5        g)z!Free up an xmlXPathParserContext N)rm   xmlXPathFreeParserContextrL   r,   s    r   xpathFreeParserContext)xpathParserContext.xpathFreeParserContextq  s    ,,TWW5r   c                 F    [         R                  " U R                  U5        g)a  Implement the id() XPath function node-set id(object) The
id function selects elements by their unique ID (see [5.2.1
Unique IDs]). When the argument to id is of type node-set,
then the result is the union of the result of applying id
to the string value of each of the nodes in the argument
node-set. When the argument to id is of any other type, the
argument is converted to a string as if by a call to the
string function; the string is split into a
whitespace-separated list of tokens (whitespace is any
sequence of characters matching the production S); the
result is a node-set containing the elements in the same
document as the context node that have a unique ID equal to
 any of the tokens in the list. N)rm   xmlXPathIdFunctionrL   r  s     r   xpathIdFunction"xpathParserContext.xpathIdFunctionu  s     	%%dggu5r   c                 F    [         R                  " U R                  U5        g)aK  Implement the lang() XPath function boolean lang(string)
The lang function returns true or false depending on
whether the language of the context node as specified by
xml:lang attributes is the same as or is a sublanguage of
the language specified by the argument string. The language
of the context node is determined by the value of the
xml:lang attribute on the context node, or, if the context
node has no xml:lang attribute, by the value of the
xml:lang attribute on the nearest ancestor of the context
node that has an xml:lang attribute. If there is no such
 attribute, then lang N)rm   xmlXPathLangFunctionrL   r  s     r   xpathLangFunction$xpathParserContext.xpathLangFunction  s     	''7r   c                 F    [         R                  " U R                  U5        g)z{Implement the last() XPath function number last() The last
function returns the number of nodes in the context node
 list. N)rm   xmlXPathLastFunctionrL   r  s     r   xpathLastFunction$xpathParserContext.xpathLastFunction  s     	''7r   c                 F    [         R                  " U R                  U5        g)an  Implement the local-name() XPath function string
local-name(node-set?) The local-name function returns a
string containing the local part of the name of the node in
the argument node-set that is first in document order. If
the node-set is empty or the first node has no name, an
empty string is returned. If the argument is omitted it
 defaults to the context node. N)rm   xmlXPathLocalNameFunctionrL   r  s     r   xpathLocalNameFunction)xpathParserContext.xpathLocalNameFunction  s     	,,TWWe<r   c                 D    [         R                  " U R                  5        g)zImplement the mod operation on XPath objects: @arg1 / @arg2
The numeric operators convert their operands to numbers as
 if by calling the number function. N)rm   xmlXPathModValuesrL   r,   s    r   xpathModValues!xpathParserContext.xpathModValues  r  r   c                 D    [         R                  " U R                  5        g)zImplement the multiply operation on XPath objects: The
numeric operators convert their operands to numbers as if
 by calling the number function. N)rm   xmlXPathMultValuesrL   r,   s    r   xpathMultValues"xpathParserContext.xpathMultValues  s     	%%dgg.r   c                 F    [         R                  " U R                  U5        g)a  Implement the namespace-uri() XPath function string
namespace-uri(node-set?) The namespace-uri function returns
a string containing the namespace URI of the expanded name
of the node in the argument node-set that is first in
document order. If the node-set is empty, the first node
has no name, or the expanded name has no namespace URI, an
empty string is returned. If the argument is omitted it
 defaults to the context node. N)rm   xmlXPathNamespaceURIFunctionrL   r  s     r   xpathNamespaceURIFunction,xpathParserContext.xpathNamespaceURIFunction  s     	//?r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ rr  rs  r'   r  r  r_   r  s        r   rv  $xpathParserContext.xpathNextAncestor  sK     ;vvf--dggv>;Z(GHHS!r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ ry  rz  r_  s        r   r|  *xpathParserContext.xpathNextAncestorOrSelf  sK     ;vvf33DGGVD;Z(MNNS!r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ r  r  r_  s        r   r  %xpathParserContext.xpathNextAttribute  sK     ;vvf..tww?;Z(HIIS!r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ r  r  r_  s        r   r  !xpathParserContext.xpathNextChild  sK     ;vvf**477F;;Z(DEES!r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ r  r  r_  s        r   r  &xpathParserContext.xpathNextDescendant  sK    
 ;vvf//@;Z(IJJS!r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ r  r  r_  s        r   r  ,xpathParserContext.xpathNextDescendantOrSelf  sK     ;vvf55dggvF;Z(OPPS!r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ r  r  r_  s        r   r  %xpathParserContext.xpathNextFollowing  K     ;vvf..tww?;Z(HIIS!r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ r  r  r_  s        r   r  ,xpathParserContext.xpathNextFollowingSibling  sK     ;vvf55dggvF;Z(OPPS!r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ r  r  r_  s        r   r  %xpathParserContext.xpathNextNamespace  rm  r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ r  r  r_  s        r   r  "xpathParserContext.xpathNextParent,  sK     ;vvf++DGGV<;Z(EFFS!r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ r  r  r_  s        r   r  %xpathParserContext.xpathNextPreceding7  rm  r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ r  r  r_  s        r   r  ,xpathParserContext.xpathNextPrecedingSiblingE  sK     ;vvf55dggvF;Z(OPPS!r   c                     Uc  SnOUR                   n[        R                  " U R                   U5      nUc  [        S5      e[	        US9nU$ r  r  r_  s        r   r   xpathParserContext.xpathNextSelfR  sK     ;vvf))$''6:;Z(CDDS!r   c                 F    [         R                  " U R                  U5        g)a  Implement the normalize-space() XPath function string
normalize-space(string?) The normalize-space function
returns the argument string with white space normalized by
stripping leading and trailing whitespace and replacing
sequences of whitespace characters by a single space.
Whitespace characters are the same allowed by the S
production in XML. If the argument is omitted, it defaults
to the context node converted to a string, in other words
 the value of the context node. N)rm   xmlXPathNormalizeFunctionrL   r  s     r   xpathNormalizeFunction)xpathParserContext.xpathNormalizeFunction\  s     	,,TWWe<r   c                 F    [         R                  " U R                  5      nU$ r*  )rm   xmlXPathNotEqualValuesrL   r   s     r   xpathNotEqualValues&xpathParserContext.xpathNotEqualValuesh  r[  r   c                 F    [         R                  " U R                  U5        g)zImplement the not() XPath function boolean not(boolean) The
not function returns true if its argument is false, and
 false otherwise. N)rm   xmlXPathNotFunctionrL   r  s     r   xpathNotFunction#xpathParserContext.xpathNotFunctionn       	&&tww6r   c                 F    [         R                  " U R                  U5        g)z=Implement the number() XPath function number number(object?) N)rm   xmlXPathNumberFunctionrL   r  s     r   xpathNumberFunction&xpathParserContext.xpathNumberFunctiont  s    ))$''59r   c                 F    [         R                  " U R                  5      nU$ )zparse an XML namespace non qualified name.  [NS 3] NCName
::= (Letter | '_') (NCNameChar)*  [NS 4] NCNameChar ::=
 Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender )rm   xmlXPathParseNCNamerL   r   s     r   xpathParseNCName#xpathParserContext.xpathParseNCNamex  s     ,,TWW5
r   c                 F    [         R                  " U R                  5      nU$ )zparse an XML name  [4] NameChar ::= Letter | Digit | '.' |
'-' | '_' | ':' | CombiningChar | Extender  [5] Name ::=
 (Letter | '_' | ':') (NameChar)* )rm   xmlXPathParseNamerL   r   s     r   xpathParseName!xpathParserContext.xpathParseName  r#  r   c                 F    [         R                  " U R                  5      nU$ )zdPops a boolean from the stack, handling conversion if
needed. Check error with #xmlXPathCheckError. )rm   xmlXPathPopBooleanrL   r   s     r   xpathPopBoolean"xpathParserContext.xpathPopBoolean  r
  r   c                 F    [         R                  " U R                  5      nU$ )zcPops a number from the stack, handling conversion if
needed. Check error with #xmlXPathCheckError. )rm   xmlXPathPopNumberrL   r   s     r   xpathPopNumber!xpathParserContext.xpathPopNumber  r  r   c                 F    [         R                  " U R                  5      nU$ )zcPops a string from the stack, handling conversion if
needed. Check error with #xmlXPathCheckError. )rm   xmlXPathPopStringrL   r   s     r   xpathPopString!xpathParserContext.xpathPopString  r  r   c                 F    [         R                  " U R                  U5        g)zImplement the position() XPath function number position()
The position function returns the position of the context
node in the context node list. The first position is 1, and
 so the last position will be equal to last(). N)rm   xmlXPathPositionFunctionrL   r  s     r   xpathPositionFunction(xpathParserContext.xpathPositionFunction  r  r   c                 D    [         R                  " U R                  5        g)z3Initialize the context to the root of the document N)rm   xmlXPathRootrL   r,   s    r   	xpathRootxpathParserContext.xpathRoot  r>  r   c                 F    [         R                  " U R                  U5        g)zImplement the round() XPath function number round(number)
The round function returns the number that is closest to
the argument and that is an integer. If there are two such
numbers, then the one that is closest to positive infinity
 is returned. N)rm   xmlXPathRoundFunctionrL   r  s     r   xpathRoundFunction%xpathParserContext.xpathRoundFunction  s     	((%8r   c                 F    [         R                  " U R                  U5        g)zImplement the starts-with() XPath function boolean
starts-with(string, string) The starts-with function
returns true if the first argument string starts with the
 second argument string, and otherwise returns false. N)rm   xmlXPathStartsWithFunctionrL   r  s     r   xpathStartsWithFunction*xpathParserContext.xpathStartsWithFunction  s    
 	--dggu=r   c                 F    [         R                  " U R                  U5        g)a  Implement the string() XPath function string
string(object?) The string function converts an object to a
string as follows: - A node-set is converted to a string by
returning the value of the node in the node-set that is
first in document order. If the node-set is empty, an empty
string is returned. - A number is converted to a string as
follows + NaN is converted to the string NaN + positive
zero is converted to the string 0 + negative zero is
converted to the string 0 + positive infinity is converted
to the string Infinity + negative infinity is converted to
the string -Infinity + if the number is an integer, the
number is represented in decimal form as a Number with no
decimal point and no leading zeros, preceded by a minus
sign (-) if the number is negative + otherwise, the number
is represented in decimal form as a Number including a
decimal point with at least one digit before the decimal
point and at least one digit after the decimal point,
preceded by a minus sign (-) if the number is negative;
there must be no leading zeros before the decimal point
apart possibly from the one required digit immediately
before the decimal point; beyond the one required digit
after the decimal point there must be as many, but only as
many, more digits as are needed to uniquely distinguish the
number from all other IEEE 754 numeric values. - The
boolean false value is converted to the string false. The
boolean true value is converted to the string true.  If the
argument is omitted, it defaults to a node-set with the
 context node as its only member. N)rm   xmlXPathStringFunctionrL   r  s     r   xpathStringFunction&xpathParserContext.xpathStringFunction  s    : 	))$''59r   c                 F    [         R                  " U R                  U5        g)a#  Implement the string-length() XPath function number
string-length(string?) The string-length returns the number
of characters in the string (see [3.6 Strings]). If the
argument is omitted, it defaults to the context node
converted to a string, in other words the value of the
 context node. N)rm   xmlXPathStringLengthFunctionrL   r  s     r   xpathStringLengthFunction,xpathParserContext.xpathStringLengthFunction  s     	//?r   c                 D    [         R                  " U R                  5        g)zImplement the subtraction operation on XPath objects: The
numeric operators convert their operands to numbers as if
 by calling the number function. N)rm   xmlXPathSubValuesrL   r,   s    r   xpathSubValues!xpathParserContext.xpathSubValues  r  r   c                 F    [         R                  " U R                  U5        g)a  Implement the substring-after() XPath function string
substring-after(string, string) The substring-after
function returns the substring of the first argument string
that follows the first occurrence of the second argument
string in the first argument string, or the empty stringi
if the first argument string does not contain the second
argument string. For example,
substring-after("1999/04/01","/") returns 04/01, and
 substring-after("1999/04/01","19") returns 99/04/01. N)rm   xmlXPathSubstringAfterFunctionrL   r  s     r   xpathSubstringAfterFunction.xpathParserContext.xpathSubstringAfterFunction  s     	11$''5Ar   c                 F    [         R                  " U R                  U5        g)a  Implement the substring-before() XPath function string
substring-before(string, string) The substring-before
function returns the substring of the first argument string
that precedes the first occurrence of the second argument
string in the first argument string, or the empty string if
the first argument string does not contain the second
argument string. For example,
 substring-before("1999/04/01","/") returns 1999. N)rm   xmlXPathSubstringBeforeFunctionrL   r  s     r   xpathSubstringBeforeFunction/xpathParserContext.xpathSubstringBeforeFunction  s     	22477EBr   c                 F    [         R                  " U R                  U5        g)a&  Implement the substring() XPath function string
substring(string, number, number?) The substring function
returns the substring of the first argument starting at the
position specified in the second argument with length
specified in the third argument. For example,
substring("12345",2,3) returns "234". If the third argument
is not specified, it returns the substring starting at the
position specified in the second argument and continuing to
the end of the string. For example, substring("12345",2)
returns "2345".  More precisely, each character in the
string (see [3.6 Strings]) is considered to have a numeric
position: the position of the first character is 1, the
position of the second character is 2 and so on. The
returned substring contains those characters for which the
position of the character is greater than or equal to the
second argument and, if the third argument is specified,
less than the sum of the second and third arguments; the
comparisons and addition used for the above follow the
standard IEEE 754 rules. Thus: - substring("12345", 1.5,
2.6) returns "234" - substring("12345", 0, 3) returns "12"
- substring("12345", 0 div 0, 3) returns "" -
substring("12345", 1, 0 div 0) returns "" -
substring("12345", -42, 1 div 0) returns "12345" -
 substring("12345", -1 div 0, 1 div 0) returns "" N)rm   xmlXPathSubstringFunctionrL   r  s     r   xpathSubstringFunction)xpathParserContext.xpathSubstringFunction  s    2 	,,TWWe<r   c                 F    [         R                  " U R                  U5        g)zImplement the sum() XPath function number sum(node-set) The
sum function returns the sum of the values of the nodes in
 the argument node-set. N)rm   xmlXPathSumFunctionrL   r  s     r   xpathSumFunction#xpathParserContext.xpathSumFunction  r  r   c                 F    [         R                  " U R                  U5        g)a  Implement the translate() XPath function string
translate(string, string, string) The translate function
returns the first argument string with occurrences of
characters in the second argument string replaced by the
character at the corresponding position in the third
argument string. For example, translate("bar","abc","ABC")
returns the string BAr. If there is a character in the
second argument string with no character at a corresponding
position in the third argument string (because the second
argument string is longer than the third argument string),
then occurrences of that character in the first argument
string are removed. For example,
 translate("--aaa--","abc-","ABC") N)rm   xmlXPathTranslateFunctionrL   r  s     r   xpathTranslateFunction)xpathParserContext.xpathTranslateFunction  s     	,,TWWe<r   c                 F    [         R                  " U R                  U5        g)z3Implement the true() XPath function boolean true() N)rm   xmlXPathTrueFunctionrL   r  s     r   xpathTrueFunction$xpathParserContext.xpathTrueFunction(  s    ''7r   c                 D    [         R                  " U R                  5        g)zImplement the unary - operation on an XPath object The
numeric operators convert their operands to numbers as if
 by calling the number function. N)rm   xmlXPathValueFlipSignrL   r,   s    r   xpathValueFlipSign%xpathParserContext.xpathValueFlipSign,  s     	((1r   c                 H    [         R                  " U R                  XU5        g)zFormats an error message. N)rm   xmlXPatherrorrL   )r'   r   r  r5  s       r   
xpatherrorxpathParserContext.xpatherror2  s      $b9r   c                 D    [         R                  " U R                  5        g)z[8]   Predicate ::=   '[' PredicateExpr ']' [9]  
PredicateExpr ::=   Expr  Evaluate a predicate as in
xmlXPathEvalPredicate() but for a Location Set instead of a
 node set N)rm   xmlXPtrEvalRangePredicaterL   r,   s    r   xpointerEvalRangePredicate-xpathParserContext.xpointerEvalRangePredicate:  s    
 	,,TWW5r   c                 F    [         R                  " U R                  U5        g)zImplement the range-to() XPointer function  Obsolete.
range-to is not a real function but a special type of
 location step which is handled in xpath.c. N)rm   xmlXPtrRangeToFunctionrL   r  s     r   xpointerRangeToFunction*xpathParserContext.xpointerRangeToFunctionA  r  r   rw   r#   )Cr   r   r	   r
   r(   r  r  r
  r  r  r  r  r"  r'  r,  r0  r4  r8  r<  r@  rD  rH  rL  rP  rT  rX  r\  rv  r|  r  r  r  r  r  r  r  r  r  r  r  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r   r  r    s<   
.;;$:<9./-
9966 88=./	@
		
=7:<)9>:>@.
B	C=67= 82:6:r   r     r      r  	   
                                                            r!          !   "   #   r4   %   &   '   (   )   r;   +   ,   -   .   rQ   @      /   rB   1   2   3   4   5   rI   7   8   9   :   ;   <   =   >   ?   A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z   [   \   ]   ^   _   `   rk   b   c   d   e   f   g   h   i   j   k   l   m   n   o                     i  i  i  i  i  i  i  i  i  i  i  i  i   i  i  i  i  i  i  i  i  i	  i
  i  i  i  i  rh  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i   i!  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i   i  i  i  i  i  i  i  i  i	  i
  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i   i!  i"  i#  i$  i%  i&  i'  i(  i)  i*  i+  i,  i-  i.  i/  i0  i1  i2  i3  i4  i5  i6  i7  i8  i9  i:  i;  i<  i=  i>  i?  i@  iA  iB  iC  iD  iE  iF  iG  iH  iI  iJ  iK  iL  iM  iN  iO  iP  iQ  iR  iS  iT  iU  iV  iW  iX  iY  iZ  i[  i\  i]  i^  i_  i`  ia  ib  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  ix  iy  iz  i{  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i   i  i  i  i  i  i  i  i  i	  i
  i  i  i  i  i  i  i  i  i  i  i@  iA  iB  iC  iD  iE  iF  iG  iH  iI  iJ  iK  iL  iM  iN  iO  iP  iQ  iR  ir  is  it  iu  iv  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i   i  i  i  i  i  i  i  i  i	  i
  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i   i!  i"  i#  i$  i%  i&  i'  i(  i)  i*  i+  i,  i-  i.  i/  i0  i1  i2  i3  i4  i5  i6  i7  i8  i9  i:  i;  i<  i=  i>  i?  i@  iA  iB  iC  iD  iE  iF  iG  iH  iI  iJ  iK  iL  iM  iN  iO  iP  iQ  iR  iS  iT  iU  iV  iW  il  im  in  io  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  r  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i   i  i  i  i  i  i  i  i  i	  i
  i  i  i  i  i  i  i  i  i  i  i  i$  i%  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  ip  iq  ir  is  it  iX  i    i   i    i   i    i   i @  i   i   i   i   i   i  @ (  rm   typesr   r[   r   r   r   r    r3   r:   rA   rH   rj   r{   r   r   rV  rZ  r   r  r  PARSER_LOADDTDPARSER_DEFAULTATTRSPARSER_VALIDATEPARSER_SUBST_ENTITIES PARSER_SEVERITY_VALIDITY_WARNINGPARSER_SEVERITY_VALIDITY_ERRORPARSER_SEVERITY_WARNINGPARSER_SEVERITY_ERRORr  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r"  r'  r,  r/  r2  r5  r9  r=  r@  rC  rF  rK  rN  rS  rW  r\  rb  rh  rl  rp  ru  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r  r#  r'  r*  r.  r1  r5  r8  r;  r>  rA  rE  rH  rK  rN  rQ  rT  rW  rZ  r]  r`  rc  rf  ri  rl  rp  rt  rw  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r  r#  r&  r+  r.  r1  r4  r7  r:  r=  r@  rC  rF  rI  rL  rP  rS  rW  rZ  r]  ra  rd  rh  rl  ro  rr  ru  rz  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r
  r  r  r  r  r  r  r!  r$  r'  r*  r-  r0  r3  r6  r9  r<  r?  rB  rE  rH  rK  rN  rQ  rT  rW  rZ  r]  r`  rc  rf  ri  rl  ro  rr  ru  rx  r{  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r$  r'  r*  r-  r1  r4  r7  r:  r>  rA  rD  rG  rK  rN  rQ  rT  rW  rZ  r]  r`  rc  rf  ri  rl  ro  rr  ru  rx  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r$  r
  r  r  r  r  r  r  r`  rP  r  r  rx  r  rg  r  r}  r  r  r  rg  r  r*  r  r  XLINK_SHOW_NONEXLINK_SHOW_NEWXLINK_SHOW_EMBEDXLINK_SHOW_REPLACEXML_RELAXNGP_NONEXML_RELAXNGP_FREE_DOCXML_RELAXNGP_CRNGXML_BUFFER_ALLOC_DOUBLEITXML_BUFFER_ALLOC_EXACTXML_BUFFER_ALLOC_IMMUTABLEXML_BUFFER_ALLOC_IOXML_BUFFER_ALLOC_HYBRIDXML_BUFFER_ALLOC_BOUNDED$XML_PARSER_SEVERITY_VALIDITY_WARNING"XML_PARSER_SEVERITY_VALIDITY_ERRORXML_PARSER_SEVERITY_WARNINGXML_PARSER_SEVERITY_ERRORXML_ATTRIBUTE_NONEXML_ATTRIBUTE_REQUIREDXML_ATTRIBUTE_IMPLIEDXML_ATTRIBUTE_FIXEDXML_SCHEMAS_UNKNOWNXML_SCHEMAS_STRINGXML_SCHEMAS_NORMSTRINGXML_SCHEMAS_DECIMALXML_SCHEMAS_TIMEXML_SCHEMAS_GDAYXML_SCHEMAS_GMONTHXML_SCHEMAS_GMONTHDAYXML_SCHEMAS_GYEARXML_SCHEMAS_GYEARMONTHXML_SCHEMAS_DATEXML_SCHEMAS_DATETIMEXML_SCHEMAS_DURATIONXML_SCHEMAS_FLOATXML_SCHEMAS_DOUBLEXML_SCHEMAS_BOOLEANXML_SCHEMAS_TOKENXML_SCHEMAS_LANGUAGEXML_SCHEMAS_NMTOKENXML_SCHEMAS_NMTOKENSXML_SCHEMAS_NAMEXML_SCHEMAS_QNAMEXML_SCHEMAS_NCNAMEXML_SCHEMAS_IDXML_SCHEMAS_IDREFXML_SCHEMAS_IDREFSXML_SCHEMAS_ENTITYXML_SCHEMAS_ENTITIESXML_SCHEMAS_NOTATIONXML_SCHEMAS_ANYURIXML_SCHEMAS_INTEGERXML_SCHEMAS_NPINTEGERXML_SCHEMAS_NINTEGERXML_SCHEMAS_NNINTEGERXML_SCHEMAS_PINTEGERXML_SCHEMAS_INTXML_SCHEMAS_UINTXML_SCHEMAS_LONGXML_SCHEMAS_ULONGXML_SCHEMAS_SHORTXML_SCHEMAS_USHORTXML_SCHEMAS_BYTEXML_SCHEMAS_UBYTEXML_SCHEMAS_HEXBINARYXML_SCHEMAS_BASE64BINARYXML_SCHEMAS_ANYTYPEXML_SCHEMAS_ANYSIMPLETYPEXML_PARSER_EOFXML_PARSER_STARTXML_PARSER_MISCXML_PARSER_PIXML_PARSER_DTDXML_PARSER_PROLOGXML_PARSER_COMMENTXML_PARSER_START_TAGXML_PARSER_CONTENTXML_PARSER_CDATA_SECTIONXML_PARSER_END_TAGXML_PARSER_ENTITY_DECLXML_PARSER_ENTITY_VALUEXML_PARSER_ATTRIBUTE_VALUEXML_PARSER_SYSTEM_LITERALXML_PARSER_EPILOGXML_PARSER_IGNOREXML_PARSER_PUBLIC_LITERALXML_INTERNAL_GENERAL_ENTITY"XML_EXTERNAL_GENERAL_PARSED_ENTITY$XML_EXTERNAL_GENERAL_UNPARSED_ENTITYXML_INTERNAL_PARAMETER_ENTITYXML_EXTERNAL_PARAMETER_ENTITYXML_INTERNAL_PREDEFINED_ENTITYXML_SAVE_FORMATXML_SAVE_NO_DECLXML_SAVE_NO_EMPTYXML_SAVE_NO_XHTMLXML_SAVE_XHTMLXML_SAVE_AS_XMLXML_SAVE_AS_HTMLXML_SAVE_WSNONSIGXML_PATTERN_DEFAULTXML_PATTERN_XPATHXML_PATTERN_XSSELXML_PATTERN_XSFIELD
XML_ERR_OKXML_ERR_INTERNAL_ERRORXML_ERR_NO_MEMORYXML_ERR_DOCUMENT_STARTXML_ERR_DOCUMENT_EMPTYXML_ERR_DOCUMENT_ENDXML_ERR_INVALID_HEX_CHARREFXML_ERR_INVALID_DEC_CHARREFXML_ERR_INVALID_CHARREFXML_ERR_INVALID_CHARXML_ERR_CHARREF_AT_EOFXML_ERR_CHARREF_IN_PROLOGXML_ERR_CHARREF_IN_EPILOGXML_ERR_CHARREF_IN_DTDXML_ERR_ENTITYREF_AT_EOFXML_ERR_ENTITYREF_IN_PROLOGXML_ERR_ENTITYREF_IN_EPILOGXML_ERR_ENTITYREF_IN_DTDXML_ERR_PEREF_AT_EOFXML_ERR_PEREF_IN_PROLOGXML_ERR_PEREF_IN_EPILOGXML_ERR_PEREF_IN_INT_SUBSETXML_ERR_ENTITYREF_NO_NAME!XML_ERR_ENTITYREF_SEMICOL_MISSINGXML_ERR_PEREF_NO_NAMEXML_ERR_PEREF_SEMICOL_MISSINGXML_ERR_UNDECLARED_ENTITYXML_WAR_UNDECLARED_ENTITYXML_ERR_UNPARSED_ENTITYXML_ERR_ENTITY_IS_EXTERNALXML_ERR_ENTITY_IS_PARAMETERXML_ERR_UNKNOWN_ENCODINGXML_ERR_UNSUPPORTED_ENCODINGXML_ERR_STRING_NOT_STARTEDXML_ERR_STRING_NOT_CLOSEDXML_ERR_NS_DECL_ERRORXML_ERR_ENTITY_NOT_STARTEDXML_ERR_ENTITY_NOT_FINISHEDXML_ERR_LT_IN_ATTRIBUTEXML_ERR_ATTRIBUTE_NOT_STARTEDXML_ERR_ATTRIBUTE_NOT_FINISHEDXML_ERR_ATTRIBUTE_WITHOUT_VALUEXML_ERR_ATTRIBUTE_REDEFINEDXML_ERR_LITERAL_NOT_STARTEDXML_ERR_LITERAL_NOT_FINISHEDXML_ERR_COMMENT_NOT_FINISHEDXML_ERR_PI_NOT_STARTEDXML_ERR_PI_NOT_FINISHEDXML_ERR_NOTATION_NOT_STARTEDXML_ERR_NOTATION_NOT_FINISHEDXML_ERR_ATTLIST_NOT_STARTEDXML_ERR_ATTLIST_NOT_FINISHEDXML_ERR_MIXED_NOT_STARTEDXML_ERR_MIXED_NOT_FINISHEDXML_ERR_ELEMCONTENT_NOT_STARTED XML_ERR_ELEMCONTENT_NOT_FINISHEDXML_ERR_XMLDECL_NOT_STARTEDXML_ERR_XMLDECL_NOT_FINISHEDXML_ERR_CONDSEC_NOT_STARTEDXML_ERR_CONDSEC_NOT_FINISHEDXML_ERR_EXT_SUBSET_NOT_FINISHEDXML_ERR_DOCTYPE_NOT_FINISHEDXML_ERR_MISPLACED_CDATA_ENDXML_ERR_CDATA_NOT_FINISHEDXML_ERR_RESERVED_XML_NAMEXML_ERR_SPACE_REQUIREDXML_ERR_SEPARATOR_REQUIREDXML_ERR_NMTOKEN_REQUIREDXML_ERR_NAME_REQUIREDXML_ERR_PCDATA_REQUIREDXML_ERR_URI_REQUIREDXML_ERR_PUBID_REQUIREDXML_ERR_LT_REQUIREDXML_ERR_GT_REQUIREDXML_ERR_LTSLASH_REQUIREDXML_ERR_EQUAL_REQUIREDXML_ERR_TAG_NAME_MISMATCHXML_ERR_TAG_NOT_FINISHEDXML_ERR_STANDALONE_VALUEXML_ERR_ENCODING_NAMEXML_ERR_HYPHEN_IN_COMMENTXML_ERR_INVALID_ENCODINGXML_ERR_EXT_ENTITY_STANDALONEXML_ERR_CONDSEC_INVALIDXML_ERR_VALUE_REQUIREDXML_ERR_NOT_WELL_BALANCEDXML_ERR_EXTRA_CONTENTXML_ERR_ENTITY_CHAR_ERRORXML_ERR_ENTITY_PE_INTERNALXML_ERR_ENTITY_LOOPXML_ERR_ENTITY_BOUNDARYXML_ERR_INVALID_URIXML_ERR_URI_FRAGMENTXML_WAR_CATALOG_PIXML_ERR_NO_DTDXML_ERR_CONDSEC_INVALID_KEYWORDXML_ERR_VERSION_MISSINGXML_WAR_UNKNOWN_VERSIONXML_WAR_LANG_VALUEXML_WAR_NS_URIXML_WAR_NS_URI_RELATIVEXML_ERR_MISSING_ENCODINGXML_WAR_SPACE_VALUEXML_ERR_NOT_STANDALONEXML_ERR_ENTITY_PROCESSINGXML_ERR_NOTATION_PROCESSINGXML_WAR_NS_COLUMNXML_WAR_ENTITY_REDEFINEDXML_ERR_UNKNOWN_VERSIONXML_ERR_VERSION_MISMATCHXML_ERR_NAME_TOO_LONGXML_ERR_USER_STOPXML_NS_ERR_XML_NAMESPACEXML_NS_ERR_UNDEFINED_NAMESPACEXML_NS_ERR_QNAMEXML_NS_ERR_ATTRIBUTE_REDEFINEDXML_NS_ERR_EMPTYXML_NS_ERR_COLONXML_DTD_ATTRIBUTE_DEFAULTXML_DTD_ATTRIBUTE_REDEFINEDXML_DTD_ATTRIBUTE_VALUEXML_DTD_CONTENT_ERRORXML_DTD_CONTENT_MODELXML_DTD_CONTENT_NOT_DETERMINISTXML_DTD_DIFFERENT_PREFIXXML_DTD_ELEM_DEFAULT_NAMESPACEXML_DTD_ELEM_NAMESPACEXML_DTD_ELEM_REDEFINEDXML_DTD_EMPTY_NOTATIONXML_DTD_ENTITY_TYPEXML_DTD_ID_FIXEDXML_DTD_ID_REDEFINEDXML_DTD_ID_SUBSETXML_DTD_INVALID_CHILDXML_DTD_INVALID_DEFAULTXML_DTD_LOAD_ERRORXML_DTD_MISSING_ATTRIBUTEXML_DTD_MIXED_CORRUPTXML_DTD_MULTIPLE_IDXML_DTD_NO_DOCXML_DTD_NO_DTDXML_DTD_NO_ELEM_NAMEXML_DTD_NO_PREFIXXML_DTD_NO_ROOTXML_DTD_NOTATION_REDEFINEDXML_DTD_NOTATION_VALUEXML_DTD_NOT_EMPTYXML_DTD_NOT_PCDATAXML_DTD_NOT_STANDALONEXML_DTD_ROOT_NAMEXML_DTD_STANDALONE_WHITE_SPACEXML_DTD_UNKNOWN_ATTRIBUTEXML_DTD_UNKNOWN_ELEMXML_DTD_UNKNOWN_ENTITYXML_DTD_UNKNOWN_IDXML_DTD_UNKNOWN_NOTATIONXML_DTD_STANDALONE_DEFAULTEDXML_DTD_XMLID_VALUEXML_DTD_XMLID_TYPEXML_DTD_DUP_TOKENXML_HTML_STRUCURE_ERRORXML_HTML_UNKNOWN_TAGXML_RNGP_ANYNAME_ATTR_ANCESTORXML_RNGP_ATTR_CONFLICTXML_RNGP_ATTRIBUTE_CHILDRENXML_RNGP_ATTRIBUTE_CONTENTXML_RNGP_ATTRIBUTE_EMPTYXML_RNGP_ATTRIBUTE_NOOPXML_RNGP_CHOICE_CONTENTXML_RNGP_CHOICE_EMPTYXML_RNGP_CREATE_FAILUREXML_RNGP_DATA_CONTENT"XML_RNGP_DEF_CHOICE_AND_INTERLEAVEXML_RNGP_DEFINE_CREATE_FAILEDXML_RNGP_DEFINE_EMPTYXML_RNGP_DEFINE_MISSINGXML_RNGP_DEFINE_NAME_MISSINGXML_RNGP_ELEM_CONTENT_EMPTYXML_RNGP_ELEM_CONTENT_ERRORXML_RNGP_ELEMENT_EMPTYXML_RNGP_ELEMENT_CONTENTXML_RNGP_ELEMENT_NAMEXML_RNGP_ELEMENT_NO_CONTENTXML_RNGP_ELEM_TEXT_CONFLICTXML_RNGP_EMPTYXML_RNGP_EMPTY_CONSTRUCTXML_RNGP_EMPTY_CONTENTXML_RNGP_EMPTY_NOT_EMPTYXML_RNGP_ERROR_TYPE_LIBXML_RNGP_EXCEPT_EMPTYXML_RNGP_EXCEPT_MISSINGXML_RNGP_EXCEPT_MULTIPLEXML_RNGP_EXCEPT_NO_CONTENTXML_RNGP_EXTERNALREF_EMTPYXML_RNGP_EXTERNAL_REF_FAILUREXML_RNGP_EXTERNALREF_RECURSEXML_RNGP_FORBIDDEN_ATTRIBUTEXML_RNGP_FOREIGN_ELEMENTXML_RNGP_GRAMMAR_CONTENTXML_RNGP_GRAMMAR_EMPTYXML_RNGP_GRAMMAR_MISSINGXML_RNGP_GRAMMAR_NO_STARTXML_RNGP_GROUP_ATTR_CONFLICTXML_RNGP_HREF_ERRORXML_RNGP_INCLUDE_EMPTYXML_RNGP_INCLUDE_FAILUREXML_RNGP_INCLUDE_RECURSEXML_RNGP_INTERLEAVE_ADD!XML_RNGP_INTERLEAVE_CREATE_FAILEDXML_RNGP_INTERLEAVE_EMPTYXML_RNGP_INTERLEAVE_NO_CONTENTXML_RNGP_INVALID_DEFINE_NAMEXML_RNGP_INVALID_URIXML_RNGP_INVALID_VALUEXML_RNGP_MISSING_HREFXML_RNGP_NAME_MISSINGXML_RNGP_NEED_COMBINEXML_RNGP_NOTALLOWED_NOT_EMPTYXML_RNGP_NSNAME_ATTR_ANCESTORXML_RNGP_NSNAME_NO_NSXML_RNGP_PARAM_FORBIDDENXML_RNGP_PARAM_NAME_MISSING XML_RNGP_PARENTREF_CREATE_FAILEDXML_RNGP_PARENTREF_NAME_INVALIDXML_RNGP_PARENTREF_NO_NAMEXML_RNGP_PARENTREF_NO_PARENTXML_RNGP_PARENTREF_NOT_EMPTYXML_RNGP_PARSE_ERROR#XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAMEXML_RNGP_PAT_ATTR_ATTRXML_RNGP_PAT_ATTR_ELEMXML_RNGP_PAT_DATA_EXCEPT_ATTRXML_RNGP_PAT_DATA_EXCEPT_ELEMXML_RNGP_PAT_DATA_EXCEPT_EMPTYXML_RNGP_PAT_DATA_EXCEPT_GROUP#XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVEXML_RNGP_PAT_DATA_EXCEPT_LIST XML_RNGP_PAT_DATA_EXCEPT_ONEMOREXML_RNGP_PAT_DATA_EXCEPT_REFXML_RNGP_PAT_DATA_EXCEPT_TEXTXML_RNGP_PAT_LIST_ATTRXML_RNGP_PAT_LIST_ELEMXML_RNGP_PAT_LIST_INTERLEAVEXML_RNGP_PAT_LIST_LISTXML_RNGP_PAT_LIST_REFXML_RNGP_PAT_LIST_TEXT"XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME!XML_RNGP_PAT_NSNAME_EXCEPT_NSNAMEXML_RNGP_PAT_ONEMORE_GROUP_ATTR$XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTRXML_RNGP_PAT_START_ATTRXML_RNGP_PAT_START_DATAXML_RNGP_PAT_START_EMPTYXML_RNGP_PAT_START_GROUPXML_RNGP_PAT_START_INTERLEAVEXML_RNGP_PAT_START_LISTXML_RNGP_PAT_START_ONEMOREXML_RNGP_PAT_START_TEXTXML_RNGP_PAT_START_VALUEXML_RNGP_PREFIX_UNDEFINEDXML_RNGP_REF_CREATE_FAILEDXML_RNGP_REF_CYCLEXML_RNGP_REF_NAME_INVALIDXML_RNGP_REF_NO_DEFXML_RNGP_REF_NO_NAMEXML_RNGP_REF_NOT_EMPTY$XML_RNGP_START_CHOICE_AND_INTERLEAVEXML_RNGP_START_CONTENTXML_RNGP_START_EMPTYXML_RNGP_START_MISSINGXML_RNGP_TEXT_EXPECTEDXML_RNGP_TEXT_HAS_CHILDXML_RNGP_TYPE_MISSINGXML_RNGP_TYPE_NOT_FOUNDXML_RNGP_TYPE_VALUEXML_RNGP_UNKNOWN_ATTRIBUTEXML_RNGP_UNKNOWN_COMBINEXML_RNGP_UNKNOWN_CONSTRUCTXML_RNGP_UNKNOWN_TYPE_LIBXML_RNGP_URI_FRAGMENTXML_RNGP_URI_NOT_ABSOLUTEXML_RNGP_VALUE_EMPTYXML_RNGP_VALUE_NO_CONTENTXML_RNGP_XMLNS_NAMEXML_RNGP_XML_NSXML_XPATH_EXPRESSION_OKXML_XPATH_NUMBER_ERROR"XML_XPATH_UNFINISHED_LITERAL_ERRORXML_XPATH_START_LITERAL_ERRORXML_XPATH_VARIABLE_REF_ERRORXML_XPATH_UNDEF_VARIABLE_ERROR!XML_XPATH_INVALID_PREDICATE_ERRORXML_XPATH_EXPR_ERRORXML_XPATH_UNCLOSED_ERRORXML_XPATH_UNKNOWN_FUNC_ERRORXML_XPATH_INVALID_OPERANDXML_XPATH_INVALID_TYPEXML_XPATH_INVALID_ARITYXML_XPATH_INVALID_CTXT_SIZEXML_XPATH_INVALID_CTXT_POSITIONXML_XPATH_MEMORY_ERRORXML_XPTR_SYNTAX_ERRORXML_XPTR_RESOURCE_ERRORXML_XPTR_SUB_RESOURCE_ERRORXML_XPATH_UNDEF_PREFIX_ERRORXML_XPATH_ENCODING_ERRORXML_XPATH_INVALID_CHAR_ERRORXML_TREE_INVALID_HEXXML_TREE_INVALID_DECXML_TREE_UNTERMINATED_ENTITYXML_TREE_NOT_UTF8XML_SAVE_NOT_UTF8XML_SAVE_CHAR_INVALIDXML_SAVE_NO_DOCTYPEXML_SAVE_UNKNOWN_ENCODINGXML_REGEXP_COMPILE_ERRORXML_IO_UNKNOWNXML_IO_EACCESXML_IO_EAGAINXML_IO_EBADFXML_IO_EBADMSGXML_IO_EBUSYXML_IO_ECANCELEDXML_IO_ECHILDXML_IO_EDEADLKXML_IO_EDOMXML_IO_EEXISTXML_IO_EFAULTXML_IO_EFBIGXML_IO_EINPROGRESSXML_IO_EINTRXML_IO_EINVAL
XML_IO_EIOXML_IO_EISDIRXML_IO_EMFILEXML_IO_EMLINKXML_IO_EMSGSIZEXML_IO_ENAMETOOLONGXML_IO_ENFILEXML_IO_ENODEVXML_IO_ENOENTXML_IO_ENOEXECXML_IO_ENOLCKXML_IO_ENOMEMXML_IO_ENOSPCXML_IO_ENOSYSXML_IO_ENOTDIRXML_IO_ENOTEMPTYXML_IO_ENOTSUPXML_IO_ENOTTYXML_IO_ENXIOXML_IO_EPERMXML_IO_EPIPEXML_IO_ERANGEXML_IO_EROFSXML_IO_ESPIPEXML_IO_ESRCHXML_IO_ETIMEDOUTXML_IO_EXDEVXML_IO_NETWORK_ATTEMPTXML_IO_ENCODERXML_IO_FLUSHXML_IO_WRITEXML_IO_NO_INPUTXML_IO_BUFFER_FULLXML_IO_LOAD_ERRORXML_IO_ENOTSOCKXML_IO_EISCONNXML_IO_ECONNREFUSEDXML_IO_ENETUNREACHXML_IO_EADDRINUSEXML_IO_EALREADYXML_IO_EAFNOSUPPORTXML_XINCLUDE_RECURSIONXML_XINCLUDE_PARSE_VALUE XML_XINCLUDE_ENTITY_DEF_MISMATCHXML_XINCLUDE_NO_HREFXML_XINCLUDE_NO_FALLBACKXML_XINCLUDE_HREF_URIXML_XINCLUDE_TEXT_FRAGMENTXML_XINCLUDE_TEXT_DOCUMENTXML_XINCLUDE_INVALID_CHARXML_XINCLUDE_BUILD_FAILEDXML_XINCLUDE_UNKNOWN_ENCODINGXML_XINCLUDE_MULTIPLE_ROOTXML_XINCLUDE_XPTR_FAILEDXML_XINCLUDE_XPTR_RESULTXML_XINCLUDE_INCLUDE_IN_INCLUDE!XML_XINCLUDE_FALLBACKS_IN_INCLUDE$XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDEXML_XINCLUDE_DEPRECATED_NSXML_XINCLUDE_FRAGMENT_IDXML_CATALOG_MISSING_ATTRXML_CATALOG_ENTRY_BROKENXML_CATALOG_PREFER_VALUEXML_CATALOG_NOT_CATALOGXML_CATALOG_RECURSIONXML_SCHEMAP_PREFIX_UNDEFINED!XML_SCHEMAP_ATTRFORMDEFAULT_VALUE XML_SCHEMAP_ATTRGRP_NONAME_NOREFXML_SCHEMAP_ATTR_NONAME_NOREF$XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF!XML_SCHEMAP_ELEMFORMDEFAULT_VALUEXML_SCHEMAP_ELEM_NONAME_NOREFXML_SCHEMAP_EXTENSION_NO_BASEXML_SCHEMAP_FACET_NO_VALUEXML_SCHEMAP_FAILED_BUILD_IMPORTXML_SCHEMAP_GROUP_NONAME_NOREF$XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI"XML_SCHEMAP_IMPORT_REDEFINE_NSNAME!XML_SCHEMAP_IMPORT_SCHEMA_NOT_URIXML_SCHEMAP_INVALID_BOOLEANXML_SCHEMAP_INVALID_ENUMXML_SCHEMAP_INVALID_FACETXML_SCHEMAP_INVALID_FACET_VALUEXML_SCHEMAP_INVALID_MAXOCCURSXML_SCHEMAP_INVALID_MINOCCURS#XML_SCHEMAP_INVALID_REF_AND_SUBTYPEXML_SCHEMAP_INVALID_WHITE_SPACEXML_SCHEMAP_NOATTR_NOREFXML_SCHEMAP_NOTATION_NO_NAMEXML_SCHEMAP_NOTYPE_NOREFXML_SCHEMAP_REF_AND_SUBTYPE$XML_SCHEMAP_RESTRICTION_NONAME_NOREFXML_SCHEMAP_SIMPLETYPE_NONAMEXML_SCHEMAP_TYPE_AND_SUBTYPEXML_SCHEMAP_UNKNOWN_ALL_CHILD&XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILDXML_SCHEMAP_UNKNOWN_ATTR_CHILD!XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD#XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUPXML_SCHEMAP_UNKNOWN_BASE_TYPE XML_SCHEMAP_UNKNOWN_CHOICE_CHILD(XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD%XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILDXML_SCHEMAP_UNKNOWN_ELEM_CHILD#XML_SCHEMAP_UNKNOWN_EXTENSION_CHILDXML_SCHEMAP_UNKNOWN_FACET_CHILDXML_SCHEMAP_UNKNOWN_FACET_TYPEXML_SCHEMAP_UNKNOWN_GROUP_CHILD XML_SCHEMAP_UNKNOWN_IMPORT_CHILDXML_SCHEMAP_UNKNOWN_LIST_CHILD"XML_SCHEMAP_UNKNOWN_NOTATION_CHILD(XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILDXML_SCHEMAP_UNKNOWN_REF%XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD!XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD"XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD'XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD$XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILDXML_SCHEMAP_UNKNOWN_TYPEXML_SCHEMAP_UNKNOWN_UNION_CHILDXML_SCHEMAP_ELEM_DEFAULT_FIXEDXML_SCHEMAP_REGEXP_INVALIDXML_SCHEMAP_FAILED_LOADXML_SCHEMAP_NOTHING_TO_PARSEXML_SCHEMAP_NOROOTXML_SCHEMAP_REDEFINED_GROUPXML_SCHEMAP_REDEFINED_TYPEXML_SCHEMAP_REDEFINED_ELEMENTXML_SCHEMAP_REDEFINED_ATTRGROUPXML_SCHEMAP_REDEFINED_ATTRXML_SCHEMAP_REDEFINED_NOTATIONXML_SCHEMAP_FAILED_PARSEXML_SCHEMAP_UNKNOWN_PREFIXXML_SCHEMAP_DEF_AND_PREFIX!XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD"XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI!XML_SCHEMAP_INCLUDE_SCHEMA_NO_URIXML_SCHEMAP_NOT_SCHEMAXML_SCHEMAP_UNKNOWN_MEMBER_TYPEXML_SCHEMAP_INVALID_ATTR_USEXML_SCHEMAP_RECURSIVE(XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE$XML_SCHEMAP_INVALID_ATTR_COMBINATION+XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION$XML_SCHEMAP_MISSING_SIMPLETYPE_CHILDXML_SCHEMAP_INVALID_ATTR_NAMEXML_SCHEMAP_REF_AND_CONTENTXML_SCHEMAP_CT_PROPS_CORRECT_1XML_SCHEMAP_CT_PROPS_CORRECT_2XML_SCHEMAP_CT_PROPS_CORRECT_3XML_SCHEMAP_CT_PROPS_CORRECT_4XML_SCHEMAP_CT_PROPS_CORRECT_5'XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1+XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1+XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2)XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2'XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3&XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER(XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE!XML_SCHEMAP_UNION_NOT_EXPRESSIBLEXML_SCHEMAP_SRC_IMPORT_3_1XML_SCHEMAP_SRC_IMPORT_3_2)XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1)XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2)XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3XML_SCHEMAP_COS_CT_EXTENDS_1_3XML_SCHEMAV_NOROOTXML_SCHEMAV_UNDECLAREDELEMXML_SCHEMAV_NOTTOPLEVELXML_SCHEMAV_MISSINGXML_SCHEMAV_WRONGELEMXML_SCHEMAV_NOTYPEXML_SCHEMAV_NOROLLBACKXML_SCHEMAV_ISABSTRACTXML_SCHEMAV_NOTEMPTYXML_SCHEMAV_ELEMCONTXML_SCHEMAV_HAVEDEFAULTXML_SCHEMAV_NOTNILLABLEXML_SCHEMAV_EXTRACONTENTXML_SCHEMAV_INVALIDATTRXML_SCHEMAV_INVALIDELEMXML_SCHEMAV_NOTDETERMINISTXML_SCHEMAV_CONSTRUCTXML_SCHEMAV_INTERNALXML_SCHEMAV_NOTSIMPLEXML_SCHEMAV_ATTRUNKNOWNXML_SCHEMAV_ATTRINVALIDXML_SCHEMAV_VALUEXML_SCHEMAV_FACET$XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1$XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2$XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3XML_SCHEMAV_CVC_TYPE_3_1_1XML_SCHEMAV_CVC_TYPE_3_1_2XML_SCHEMAV_CVC_FACET_VALIDXML_SCHEMAV_CVC_LENGTH_VALIDXML_SCHEMAV_CVC_MINLENGTH_VALIDXML_SCHEMAV_CVC_MAXLENGTH_VALID"XML_SCHEMAV_CVC_MININCLUSIVE_VALID"XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID"XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID"XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID!XML_SCHEMAV_CVC_TOTALDIGITS_VALID$XML_SCHEMAV_CVC_FRACTIONDIGITS_VALIDXML_SCHEMAV_CVC_PATTERN_VALID!XML_SCHEMAV_CVC_ENUMERATION_VALID XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1 XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2 XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3 XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4XML_SCHEMAV_CVC_ELT_1XML_SCHEMAV_CVC_ELT_2XML_SCHEMAV_CVC_ELT_3_1XML_SCHEMAV_CVC_ELT_3_2_1XML_SCHEMAV_CVC_ELT_3_2_2XML_SCHEMAV_CVC_ELT_4_1XML_SCHEMAV_CVC_ELT_4_2XML_SCHEMAV_CVC_ELT_4_3XML_SCHEMAV_CVC_ELT_5_1_1XML_SCHEMAV_CVC_ELT_5_1_2XML_SCHEMAV_CVC_ELT_5_2_1XML_SCHEMAV_CVC_ELT_5_2_2_1XML_SCHEMAV_CVC_ELT_5_2_2_2_1XML_SCHEMAV_CVC_ELT_5_2_2_2_2XML_SCHEMAV_CVC_ELT_6XML_SCHEMAV_CVC_ELT_7XML_SCHEMAV_CVC_ATTRIBUTE_1XML_SCHEMAV_CVC_ATTRIBUTE_2XML_SCHEMAV_CVC_ATTRIBUTE_3XML_SCHEMAV_CVC_ATTRIBUTE_4 XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1"XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1"XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2XML_SCHEMAV_CVC_COMPLEX_TYPE_4 XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1 XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2XML_SCHEMAV_ELEMENT_CONTENT$XML_SCHEMAV_DOCUMENT_ELEMENT_MISSINGXML_SCHEMAV_CVC_COMPLEX_TYPE_1XML_SCHEMAV_CVC_AUXML_SCHEMAV_CVC_TYPE_1XML_SCHEMAV_CVC_TYPE_2XML_SCHEMAV_CVC_IDCXML_SCHEMAV_CVC_WILDCARDXML_SCHEMAV_MISCXML_XPTR_UNKNOWN_SCHEMEXML_XPTR_CHILDSEQ_STARTXML_XPTR_EVAL_FAILEDXML_XPTR_EXTRA_OBJECTSXML_C14N_CREATE_CTXTXML_C14N_REQUIRES_UTF8XML_C14N_CREATE_STACKXML_C14N_INVALID_NODEXML_C14N_UNKNOW_NODEXML_C14N_RELATIVE_NAMESPACEXML_FTP_PASV_ANSWERXML_FTP_EPSV_ANSWERXML_FTP_ACCNTXML_FTP_URL_SYNTAXXML_HTTP_URL_SYNTAXXML_HTTP_USE_IPXML_HTTP_UNKNOWN_HOSTXML_SCHEMAP_SRC_SIMPLE_TYPE_1XML_SCHEMAP_SRC_SIMPLE_TYPE_2XML_SCHEMAP_SRC_SIMPLE_TYPE_3XML_SCHEMAP_SRC_SIMPLE_TYPE_4XML_SCHEMAP_SRC_RESOLVE.XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE+XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE0XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPESXML_SCHEMAP_ST_PROPS_CORRECT_1XML_SCHEMAP_ST_PROPS_CORRECT_2XML_SCHEMAP_ST_PROPS_CORRECT_3 XML_SCHEMAP_COS_ST_RESTRICTS_1_1 XML_SCHEMAP_COS_ST_RESTRICTS_1_2"XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1"XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2 XML_SCHEMAP_COS_ST_RESTRICTS_2_1$XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1$XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2$XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1$XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2$XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3$XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4$XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5 XML_SCHEMAP_COS_ST_RESTRICTS_3_1"XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1$XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2$XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2$XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1$XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3$XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4$XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5!XML_SCHEMAP_COS_ST_DERIVED_OK_2_1!XML_SCHEMAP_COS_ST_DERIVED_OK_2_2 XML_SCHEMAP_S4S_ELEM_NOT_ALLOWEDXML_SCHEMAP_S4S_ELEM_MISSING XML_SCHEMAP_S4S_ATTR_NOT_ALLOWEDXML_SCHEMAP_S4S_ATTR_MISSING"XML_SCHEMAP_S4S_ATTR_INVALID_VALUEXML_SCHEMAP_SRC_ELEMENT_1XML_SCHEMAP_SRC_ELEMENT_2_1XML_SCHEMAP_SRC_ELEMENT_2_2XML_SCHEMAP_SRC_ELEMENT_3XML_SCHEMAP_P_PROPS_CORRECT_1XML_SCHEMAP_P_PROPS_CORRECT_2_1XML_SCHEMAP_P_PROPS_CORRECT_2_2XML_SCHEMAP_E_PROPS_CORRECT_2XML_SCHEMAP_E_PROPS_CORRECT_3XML_SCHEMAP_E_PROPS_CORRECT_4XML_SCHEMAP_E_PROPS_CORRECT_5XML_SCHEMAP_E_PROPS_CORRECT_6XML_SCHEMAP_SRC_INCLUDEXML_SCHEMAP_SRC_ATTRIBUTE_1XML_SCHEMAP_SRC_ATTRIBUTE_2XML_SCHEMAP_SRC_ATTRIBUTE_3_1XML_SCHEMAP_SRC_ATTRIBUTE_3_2XML_SCHEMAP_SRC_ATTRIBUTE_4XML_SCHEMAP_NO_XMLNSXML_SCHEMAP_NO_XSIXML_SCHEMAP_COS_VALID_DEFAULT_1!XML_SCHEMAP_COS_VALID_DEFAULT_2_1#XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1#XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2XML_SCHEMAP_CVC_SIMPLE_TYPEXML_SCHEMAP_COS_CT_EXTENDS_1_1XML_SCHEMAP_SRC_IMPORT_1_1XML_SCHEMAP_SRC_IMPORT_1_2XML_SCHEMAP_SRC_IMPORT_2XML_SCHEMAP_SRC_IMPORT_2_1XML_SCHEMAP_SRC_IMPORT_2_2XML_SCHEMAP_INTERNALXML_SCHEMAP_NOT_DETERMINISTIC!XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1!XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2!XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3XML_SCHEMAP_MG_PROPS_CORRECT_1XML_SCHEMAP_MG_PROPS_CORRECT_2XML_SCHEMAP_SRC_CT_1+XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3XML_SCHEMAP_AU_PROPS_CORRECT_2XML_SCHEMAP_A_PROPS_CORRECT_2XML_SCHEMAP_C_PROPS_CORRECTXML_SCHEMAP_SRC_REDEFINEXML_SCHEMAP_SRC_IMPORTXML_SCHEMAP_WARN_SKIP_SCHEMA!XML_SCHEMAP_WARN_UNLOCATED_SCHEMA!XML_SCHEMAP_WARN_ATTR_REDECL_PROH$XML_SCHEMAP_WARN_ATTR_POINTLESS_PROHXML_SCHEMAP_AG_PROPS_CORRECTXML_SCHEMAP_COS_CT_EXTENDS_1_2XML_SCHEMAP_AU_PROPS_CORRECTXML_SCHEMAP_A_PROPS_CORRECT_3XML_SCHEMAP_COS_ALL_LIMITEDXML_SCHEMATRONV_ASSERTXML_SCHEMATRONV_REPORTXML_MODULE_OPENXML_MODULE_CLOSEXML_CHECK_FOUND_ELEMENTXML_CHECK_FOUND_ATTRIBUTEXML_CHECK_FOUND_TEXTXML_CHECK_FOUND_CDATAXML_CHECK_FOUND_ENTITYREFXML_CHECK_FOUND_ENTITYXML_CHECK_FOUND_PIXML_CHECK_FOUND_COMMENTXML_CHECK_FOUND_DOCTYPEXML_CHECK_FOUND_FRAGMENTXML_CHECK_FOUND_NOTATIONXML_CHECK_UNKNOWN_NODEXML_CHECK_ENTITY_TYPEXML_CHECK_NO_PARENTXML_CHECK_NO_DOCXML_CHECK_NO_NAMEXML_CHECK_NO_ELEMXML_CHECK_WRONG_DOCXML_CHECK_NO_PREVXML_CHECK_WRONG_PREVXML_CHECK_NO_NEXTXML_CHECK_WRONG_NEXTXML_CHECK_NOT_DTDXML_CHECK_NOT_ATTRXML_CHECK_NOT_ATTR_DECLXML_CHECK_NOT_ELEM_DECLXML_CHECK_NOT_ENTITY_DECLXML_CHECK_NOT_NS_DECLXML_CHECK_NO_HREFXML_CHECK_WRONG_PARENTXML_CHECK_NS_SCOPEXML_CHECK_NS_ANCESTORXML_CHECK_NOT_UTF8XML_CHECK_NO_DICTXML_CHECK_NOT_NCNAMEXML_CHECK_OUTSIDE_DICTXML_CHECK_WRONG_NAMEXML_CHECK_NAME_NOT_NULLXML_I18N_NO_NAMEXML_I18N_NO_HANDLERXML_I18N_EXCESS_HANDLERXML_I18N_CONV_FAILEDXML_I18N_NO_OUTPUTXML_BUF_OVERFLOWXML_EXP_EMPTYXML_EXP_FORBIDXML_EXP_ATOMXML_EXP_SEQ
XML_EXP_ORXML_EXP_COUNTXML_ELEMENT_CONTENT_PCDATAXML_ELEMENT_CONTENT_ELEMENTXML_ELEMENT_CONTENT_SEQXML_ELEMENT_CONTENT_ORXML_PARSER_LOADDTDXML_PARSER_DEFAULTATTRSXML_PARSER_VALIDATEXML_PARSER_SUBST_ENTITIESXML_READER_TYPE_NONEXML_READER_TYPE_ELEMENTXML_READER_TYPE_ATTRIBUTEXML_READER_TYPE_TEXTXML_READER_TYPE_CDATA XML_READER_TYPE_ENTITY_REFERENCEXML_READER_TYPE_ENTITY&XML_READER_TYPE_PROCESSING_INSTRUCTIONXML_READER_TYPE_COMMENTXML_READER_TYPE_DOCUMENTXML_READER_TYPE_DOCUMENT_TYPE!XML_READER_TYPE_DOCUMENT_FRAGMENTXML_READER_TYPE_NOTATIONXML_READER_TYPE_WHITESPACE&XML_READER_TYPE_SIGNIFICANT_WHITESPACEXML_READER_TYPE_END_ELEMENTXML_READER_TYPE_END_ENTITYXML_READER_TYPE_XML_DECLARATIONXML_CATA_PREFER_NONEXML_CATA_PREFER_PUBLICXML_CATA_PREFER_SYSTEMXML_ELEMENT_NODEXML_ATTRIBUTE_NODEXML_TEXT_NODEXML_CDATA_SECTION_NODEXML_ENTITY_REF_NODEXML_ENTITY_NODEXML_PI_NODEXML_COMMENT_NODEXML_DOCUMENT_NODEXML_DOCUMENT_TYPE_NODEXML_DOCUMENT_FRAG_NODEXML_NOTATION_NODEXML_HTML_DOCUMENT_NODEXML_DTD_NODEXML_ELEMENT_DECLXML_ATTRIBUTE_DECLXML_ENTITY_DECLXML_NAMESPACE_DECLXML_XINCLUDE_STARTXML_XINCLUDE_ENDXML_DOCB_DOCUMENT_NODEXLINK_ACTUATE_NONEXLINK_ACTUATE_AUTOXLINK_ACTUATE_ONREQUESTXML_WITH_THREADXML_WITH_TREEXML_WITH_OUTPUTXML_WITH_PUSHXML_WITH_READERXML_WITH_PATTERNXML_WITH_WRITERXML_WITH_SAX1XML_WITH_FTPXML_WITH_HTTPXML_WITH_VALIDXML_WITH_HTMLXML_WITH_LEGACYXML_WITH_C14NXML_WITH_CATALOGXML_WITH_XPATHXML_WITH_XPTRXML_WITH_XINCLUDEXML_WITH_ICONVXML_WITH_ISO8859XXML_WITH_UNICODEXML_WITH_REGEXPXML_WITH_AUTOMATAXML_WITH_EXPRXML_WITH_SCHEMASXML_WITH_SCHEMATRONXML_WITH_MODULESXML_WITH_DEBUGXML_WITH_DEBUG_MEMXML_WITH_DEBUG_RUNXML_WITH_ZLIBXML_WITH_ICUXML_WITH_LZMAXML_WITH_NONEXML_ELEMENT_CONTENT_ONCEXML_ELEMENT_CONTENT_OPTXML_ELEMENT_CONTENT_MULTXML_ELEMENT_CONTENT_PLUSXPATH_EXPRESSION_OKXPATH_NUMBER_ERRORXPATH_UNFINISHED_LITERAL_ERRORXPATH_START_LITERAL_ERRORXPATH_VARIABLE_REF_ERRORXPATH_UNDEF_VARIABLE_ERRORXPATH_INVALID_PREDICATE_ERRORXPATH_EXPR_ERRORXPATH_UNCLOSED_ERRORXPATH_UNKNOWN_FUNC_ERRORXPATH_INVALID_OPERANDXPATH_INVALID_TYPEXPATH_INVALID_ARITYXPATH_INVALID_CTXT_SIZEXPATH_INVALID_CTXT_POSITIONXPATH_MEMORY_ERRORXPTR_SYNTAX_ERRORXPTR_RESOURCE_ERRORXPTR_SUB_RESOURCE_ERRORXPATH_UNDEF_PREFIX_ERRORXPATH_ENCODING_ERRORXPATH_INVALID_CHAR_ERRORXPATH_INVALID_CTXTXPATH_STACK_ERRORXPATH_FORBID_VARIABLE_ERRORXPATH_OP_LIMIT_EXCEEDEDXPATH_RECURSION_LIMIT_EXCEEDEDXML_TEXTREADER_MODE_INITIALXML_TEXTREADER_MODE_INTERACTIVEXML_TEXTREADER_MODE_ERRORXML_TEXTREADER_MODE_EOFXML_TEXTREADER_MODE_CLOSEDXML_TEXTREADER_MODE_READINGXML_ERR_NONEXML_ERR_WARNINGXML_ERR_ERRORXML_ERR_FATALXML_CHAR_ENCODING_ERRORXML_CHAR_ENCODING_NONEXML_CHAR_ENCODING_UTF8XML_CHAR_ENCODING_UTF16LEXML_CHAR_ENCODING_UTF16BEXML_CHAR_ENCODING_UCS4LEXML_CHAR_ENCODING_UCS4BEXML_CHAR_ENCODING_EBCDICXML_CHAR_ENCODING_UCS4_2143XML_CHAR_ENCODING_UCS4_3412XML_CHAR_ENCODING_UCS2XML_CHAR_ENCODING_8859_1XML_CHAR_ENCODING_8859_2XML_CHAR_ENCODING_8859_3XML_CHAR_ENCODING_8859_4XML_CHAR_ENCODING_8859_5XML_CHAR_ENCODING_8859_6XML_CHAR_ENCODING_8859_7XML_CHAR_ENCODING_8859_8XML_CHAR_ENCODING_8859_9XML_CHAR_ENCODING_2022_JPXML_CHAR_ENCODING_SHIFT_JISXML_CHAR_ENCODING_EUC_JPXML_CHAR_ENCODING_ASCIIXML_FROM_NONEXML_FROM_PARSERXML_FROM_TREEXML_FROM_NAMESPACEXML_FROM_DTDXML_FROM_HTMLXML_FROM_MEMORYXML_FROM_OUTPUTXML_FROM_IOXML_FROM_FTPXML_FROM_HTTPXML_FROM_XINCLUDEXML_FROM_XPATHXML_FROM_XPOINTERXML_FROM_REGEXPXML_FROM_DATATYPEXML_FROM_SCHEMASPXML_FROM_SCHEMASVXML_FROM_RELAXNGPXML_FROM_RELAXNGVXML_FROM_CATALOGXML_FROM_C14NXML_FROM_XSLTXML_FROM_VALIDXML_FROM_CHECKXML_FROM_WRITERXML_FROM_MODULEXML_FROM_I18NXML_FROM_SCHEMATRONVXML_FROM_BUFFERXML_FROM_URIHTML_NAHTML_INVALIDHTML_DEPRECATED
HTML_VALIDHTML_REQUIREDXML_SCHEMA_VAL_VC_I_CREATEXML_SCHEMA_WHITESPACE_UNKNOWNXML_SCHEMA_WHITESPACE_PRESERVEXML_SCHEMA_WHITESPACE_REPLACEXML_SCHEMA_WHITESPACE_COLLAPSEHTML_PARSE_RECOVERHTML_PARSE_NODEFDTDHTML_PARSE_NOERRORHTML_PARSE_NOWARNINGHTML_PARSE_PEDANTICHTML_PARSE_NOBLANKSHTML_PARSE_NONETHTML_PARSE_NOIMPLIEDHTML_PARSE_COMPACTHTML_PARSE_IGNORE_ENCXML_RELAXNG_OKXML_RELAXNG_ERR_MEMORYXML_RELAXNG_ERR_TYPEXML_RELAXNG_ERR_TYPEVALXML_RELAXNG_ERR_DUPIDXML_RELAXNG_ERR_TYPECMPXML_RELAXNG_ERR_NOSTATEXML_RELAXNG_ERR_NODEFINEXML_RELAXNG_ERR_LISTEXTRAXML_RELAXNG_ERR_LISTEMPTYXML_RELAXNG_ERR_INTERNODATAXML_RELAXNG_ERR_INTERSEQXML_RELAXNG_ERR_INTEREXTRAXML_RELAXNG_ERR_ELEMNAMEXML_RELAXNG_ERR_ATTRNAMEXML_RELAXNG_ERR_ELEMNONSXML_RELAXNG_ERR_ATTRNONSXML_RELAXNG_ERR_ELEMWRONGNSXML_RELAXNG_ERR_ATTRWRONGNSXML_RELAXNG_ERR_ELEMEXTRANSXML_RELAXNG_ERR_ATTREXTRANSXML_RELAXNG_ERR_ELEMNOTEMPTYXML_RELAXNG_ERR_NOELEMXML_RELAXNG_ERR_NOTELEMXML_RELAXNG_ERR_ATTRVALIDXML_RELAXNG_ERR_CONTENTVALIDXML_RELAXNG_ERR_EXTRACONTENTXML_RELAXNG_ERR_INVALIDATTRXML_RELAXNG_ERR_DATAELEMXML_RELAXNG_ERR_VALELEMXML_RELAXNG_ERR_LISTELEMXML_RELAXNG_ERR_DATATYPEXML_RELAXNG_ERR_VALUEXML_RELAXNG_ERR_LISTXML_RELAXNG_ERR_NOGRAMMARXML_RELAXNG_ERR_EXTRADATAXML_RELAXNG_ERR_LACKDATAXML_RELAXNG_ERR_INTERNALXML_RELAXNG_ERR_ELEMWRONGXML_RELAXNG_ERR_TEXTWRONGXML_CATA_ALLOW_NONEXML_CATA_ALLOW_GLOBALXML_CATA_ALLOW_DOCUMENTXML_CATA_ALLOW_ALLXML_ATTRIBUTE_CDATAXML_ATTRIBUTE_IDXML_ATTRIBUTE_IDREFXML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITYXML_ATTRIBUTE_ENTITIESXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_NMTOKENSXML_ATTRIBUTE_ENUMERATIONXML_ATTRIBUTE_NOTATIONXML_SCHEMATRON_OUT_QUIETXML_SCHEMATRON_OUT_TEXTXML_SCHEMATRON_OUT_XMLXML_SCHEMATRON_OUT_ERRORXML_SCHEMATRON_OUT_FILEXML_SCHEMATRON_OUT_BUFFERXML_SCHEMATRON_OUT_IOXML_SCHEMA_CONTENT_UNKNOWNXML_SCHEMA_CONTENT_EMPTYXML_SCHEMA_CONTENT_ELEMENTSXML_SCHEMA_CONTENT_MIXEDXML_SCHEMA_CONTENT_SIMPLE$XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTSXML_SCHEMA_CONTENT_BASICXML_SCHEMA_CONTENT_ANYXML_SCHEMA_TYPE_BASICXML_SCHEMA_TYPE_ANYXML_SCHEMA_TYPE_FACETXML_SCHEMA_TYPE_SIMPLEXML_SCHEMA_TYPE_COMPLEXXML_SCHEMA_TYPE_SEQUENCEXML_SCHEMA_TYPE_CHOICEXML_SCHEMA_TYPE_ALLXML_SCHEMA_TYPE_SIMPLE_CONTENTXML_SCHEMA_TYPE_COMPLEX_CONTENTXML_SCHEMA_TYPE_URXML_SCHEMA_TYPE_RESTRICTIONXML_SCHEMA_TYPE_EXTENSIONXML_SCHEMA_TYPE_ELEMENTXML_SCHEMA_TYPE_ATTRIBUTEXML_SCHEMA_TYPE_ATTRIBUTEGROUPXML_SCHEMA_TYPE_GROUPXML_SCHEMA_TYPE_NOTATIONXML_SCHEMA_TYPE_LISTXML_SCHEMA_TYPE_UNIONXML_SCHEMA_TYPE_ANY_ATTRIBUTEXML_SCHEMA_TYPE_IDC_UNIQUEXML_SCHEMA_TYPE_IDC_KEYXML_SCHEMA_TYPE_IDC_KEYREFXML_SCHEMA_TYPE_PARTICLEXML_SCHEMA_TYPE_ATTRIBUTE_USEXML_SCHEMA_FACET_MININCLUSIVEXML_SCHEMA_FACET_MINEXCLUSIVEXML_SCHEMA_FACET_MAXINCLUSIVEXML_SCHEMA_FACET_MAXEXCLUSIVEXML_SCHEMA_FACET_TOTALDIGITSXML_SCHEMA_FACET_FRACTIONDIGITSXML_SCHEMA_FACET_PATTERNXML_SCHEMA_FACET_ENUMERATIONXML_SCHEMA_FACET_WHITESPACEXML_SCHEMA_FACET_LENGTHXML_SCHEMA_FACET_MAXLENGTHXML_SCHEMA_FACET_MINLENGTHXML_SCHEMA_EXTRA_QNAMEREF XML_SCHEMA_EXTRA_ATTR_USE_PROHIBXML_MODULE_LAZYXML_MODULE_LOCALXML_PARSE_UNKNOWNXML_PARSE_DOMXML_PARSE_SAXXML_PARSE_PUSH_DOMXML_PARSE_PUSH_SAXXML_PARSE_READERXML_C14N_1_0XML_C14N_EXCLUSIVE_1_0XML_C14N_1_1XML_PARSE_RECOVERXML_PARSE_NOENTXML_PARSE_DTDLOADXML_PARSE_DTDATTRXML_PARSE_DTDVALIDXML_PARSE_NOERRORXML_PARSE_NOWARNINGXML_PARSE_PEDANTICXML_PARSE_NOBLANKSXML_PARSE_SAX1XML_PARSE_XINCLUDEXML_PARSE_NONETXML_PARSE_NODICTXML_PARSE_NSCLEANXML_PARSE_NOCDATAXML_PARSE_NOXINCNODEXML_PARSE_COMPACTXML_PARSE_OLD10XML_PARSE_NOBASEFIXXML_PARSE_HUGEXML_PARSE_OLDSAXXML_PARSE_IGNORE_ENCXML_PARSE_BIG_LINESXML_ELEMENT_TYPE_UNDEFINEDXML_ELEMENT_TYPE_EMPTYXML_ELEMENT_TYPE_ANYXML_ELEMENT_TYPE_MIXEDXML_ELEMENT_TYPE_ELEMENTXML_DOC_WELLFORMEDXML_DOC_NSVALIDXML_DOC_OLD10XML_DOC_DTDVALIDXML_DOC_XINCLUDEXML_DOC_USERBUILTXML_DOC_INTERNALXML_DOC_HTMLXLINK_TYPE_NONEXLINK_TYPE_SIMPLEXLINK_TYPE_EXTENDEDXLINK_TYPE_EXTENDED_SETXPATH_UNDEFINEDXPATH_NODESETXPATH_BOOLEANXPATH_NUMBERXPATH_STRINGXPATH_POINTXPATH_RANGEXPATH_LOCATIONSETXPATH_USERSXPATH_XSLT_TREEXML_SCHEMAS_ERR_OKXML_SCHEMAS_ERR_NOROOTXML_SCHEMAS_ERR_UNDECLAREDELEMXML_SCHEMAS_ERR_NOTTOPLEVELXML_SCHEMAS_ERR_MISSINGXML_SCHEMAS_ERR_WRONGELEMXML_SCHEMAS_ERR_NOTYPEXML_SCHEMAS_ERR_NOROLLBACKXML_SCHEMAS_ERR_ISABSTRACTXML_SCHEMAS_ERR_NOTEMPTYXML_SCHEMAS_ERR_ELEMCONTXML_SCHEMAS_ERR_HAVEDEFAULTXML_SCHEMAS_ERR_NOTNILLABLEXML_SCHEMAS_ERR_EXTRACONTENTXML_SCHEMAS_ERR_INVALIDATTRXML_SCHEMAS_ERR_INVALIDELEMXML_SCHEMAS_ERR_NOTDETERMINISTXML_SCHEMAS_ERR_CONSTRUCTXML_SCHEMAS_ERR_INTERNALXML_SCHEMAS_ERR_NOTSIMPLEXML_SCHEMAS_ERR_ATTRUNKNOWNXML_SCHEMAS_ERR_ATTRINVALIDXML_SCHEMAS_ERR_VALUEXML_SCHEMAS_ERR_FACETXML_SCHEMAS_ERR_XML_SCHEMAS_ERR_XXXr   r   r   <module>r2     s&     
 #) " + {  )* )*VI $*Y *^a aR~' ~'H . .* E   
 "#      
8 8<
H 
H
N 
N
O 
O=
 F(  #0& 
 
*++#
#




&'


/
7 
0
+

-.1# #
 
?($!
) ,  D

     #2
!"  4

((

''

(



,


*
+




23.######&&'
$
































































































(p#g p#dpW pdR
 R
hLg L\V7 V: :x@W @DT T5 5*1* 1*fj2G j2X`> `D8- 8t3 38 :, ,\D+ DL .( (TKC) KCZ &v% vpx xtm m^b# b#H~: ~:B               () $%& "                                                                       %& "'( $ !  ! !"             
                         $& !  "        !         " !# "$     ! !   !  "   !   "$ #%    !   ! "$ !                       "            "$         !        !$  !$    !    "%  !$                       !$      "      !%  " !       %) " $   # " "    " "        ! !  $ # #       #      $( !  !% #       $  $   " #'  "& ! # #  &* #   $  $ !% !% &* # $ #'  #  $   #    %) "$( !"& '+ $     $  !     !       '+ $        !  !            %) " $ # !% $( !  #     " "&    " #  #   #          
            #'     ! !      $ !   "& $( !'+ $!       # $( !#'   $ '+ $$( ! $  $ ! "& !% '+ $%) "$( !"    "&  $  $ &* #"&  #  " '+ $ $ #  $ )- &!% $( !&* # $ #'  +/ ((, %!% &* #"& !% "& #'  !% %) "+/ ( (, %$( !%) "*. ''+ $ "& !% !  #  " !  $ "& ! !%  ! ! $( !%) "$( ! "& #  +/ ('+ $.2 +'+ $ $ " !% !% !% !% !% *. '.2 +.2 +,0 )*. ')- &+/ ($( !! ! ,0 ),0 ),0 )!%  !              !        '+ $'+ $'+ $! ! " # "& "& %) "%) "%) "%) "$( !'+ $ $ $( !#'  #'  #'  #'                  "  $  $   " " " " #'  %) "%) "!% #'  #'  " '+ $!%                "       $  $  $  $  15 ..2 +37 0!% !% !% #'  #'  %) "%) "#'  '+ $'+ $'+ $'+ $'+ $'+ $'+ $#'  %) "'+ $'+ $'+ $'+ $'+ $'+ $$( !$( !#'  # #'  # %) "  " "    $ "& "&  $  $  $  $  $  " "  $  $ "   "& $( !&* #&* #" !% ! !  ! !   $ $( !$( !$( !!% !%  .2 +!%  $ "   # $( !$( !'+ $# !% #  $ "                                                    
                #$   )* &   " $& !  )+ &   "$                                              !"     !                      !#    "#                                            
   !" !"  ! !"                                      !    ! !                                             '( $           !" "$       !#      "      "  $  $  $  $ # "&  # "  ! !   #'                                                   !"             !     !#            r   