+
   l Fc                      ^ RI t ]! ] R4      '       g   ^ RIt^ RIt^ RItMn ^ RIHtHt ]R;8w  dS   ]R;8w  dL    ] P                  ! 4       t] P                  ! ]],          4        ^ RIt^ RIt^ RIt] P                  ! ]4       M^ RIt^ RIt^ RIt ! R R	4      t ! R
 R4      t ! R R4      tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R t#R  t$R! t%R" t&R# t'R$ t(R% t)R& t*R' t+R( t,R) t-R* t. ! R+ R,]P^                  4      t/ ! R- R.]P`                  4      t0 ! R/ R0]4      t1 ! R1 R2]4      t2^ t3^t4^t5^t6^t7^t8^t9^t:^t;^	t<^ t=^t>^t?^
t@^tA^tB^tC^tD^tE^tF^tG^tH^tI^tJ^tK^tL^tM^tN^tO^tP^tQ^tR^tS^tT^tU^tV^tW^tX^tY^tZ^	t[^ t\^t]^t^^ t_^t`^ta^tb^tc^td^te^tf^ tg^th^tiR;tj^ tk^tlR3tm^tn^toR4tp^tqR5trRts^ ttR6tu^tvR7twR8tx^@tyR9tz^t{R:t|R#   ] dO    R;tR;t ^ RI	t	]	P                  ! 4       ^ ,          t]R8X  g   ]R8X  d   Rt^t EL]R8X  d   ^t^t EL     EL; i R;tR;t EL; i  ] P                  ! ]4       i ; i   ^ RIt^ RIt^ RIt EL; i)<    Ngetdlopenflags)RTLD_GLOBALRTLD_NOWLinuxSunOS   Darwinc                   6   a  ] tR t^<t o RR ltR tR tRtV tR# )transformCtxtBaseNc                2    VR 8w  d	   Wn         R # R V n         R # N_oself_objs   &&,/usr/lib/python3.14/site-packages/libxslt.py__init__transformCtxtBase.__init__=       4<G    c                F    \         P                  ! V P                  4      pV# r   
libxsltmodxsltGetTransformContextHashCoder   r   vs   & r   __hash__transformCtxtBase.__hash__B   s    66tww?r   c                n    VR 8X  d   ^ # \         P                  ! V P                  VP                  4      pV# r   )r   !xsltCompareTransformContextsEqualr   r   otherr   s   && r   __eq__transformCtxtBase.__eq__E   s+    D=88%((Kr   r   r   	__name__
__module____qualname____firstlineno__r   r   r$   __static_attributes____classdictcell____classdict__s   @r   r   r   <        
 r   r   c                   6   a  ] tR t^Kt o RR ltR tR tRtV tR# )stylesheetBaseNc                2    VR 8w  d	   Wn         R # R V n         R # r   r   r   s   &&r   r   stylesheetBase.__init__L   r   r   c                F    \         P                  ! V P                  4      pV# r   r   xsltGetStylesheetHashCoder   r   s   & r   r   stylesheetBase.__hash__Q   s    009r   c                n    VR 8X  d   ^ # \         P                  ! V P                  VP                  4      pV# r   )r   xsltCompareStylesheetsEqualr   r"   s   && r   r$   stylesheetBase.__eq__T   s+    D=22477EHHEr   r   r   r&   r-   s   @r   r1   r1   K   r/   r   r1   c                   P   a  ] tR t^Zt o R tR tR tR tR tR t	R t
R tR	tV tR
# )extensionModulec                :    V P                  \        VR 7      V4      # r   )	styleInit
stylesheetr   styleURIs   &&&r   
_styleInitextensionModule._styleInit[   s    ~~je4c::r   c                :    V P                  \        VR 7      W#4      # r>   )styleShutdownrA   r   rC   rD   datas   &&&&r   _styleShutdownextensionModule._styleShutdown^   s    !!*%"8#DDr   c                :    V P                  \        VR 7      V4      # r>   )ctxtInittransformCtxtr   ctxtrD   s   &&&r   	_ctxtInitextensionModule._ctxtInita   s    }}]5s;;r   c                :    V P                  \        VR 7      W#4      # r>   )ctxtShutdownrO   r   rQ   rD   rJ   s   &&&&r   _ctxtShutdownextensionModule._ctxtShutdownd   s      D!93EEr   c                    R# )zjCallback function when used in a newly compiled stylesheet,
the return value is passed in subsequent callsN rB   s   &&&r   r@   extensionModule.styleInitg        	r   c                    R# )z9Callback function when a stylesheet using it is destroyedNrZ   rI   s   &&&&r   rH   extensionModule.styleShutdownl       r   c                    R# )zkCallback function when used in a new transformation process,
the return value is passed in subsequent callsNrZ   rP   s   &&&r   rN   extensionModule.ctxtInitp   r\   r   c                    R# )z9Callback function when a transformation using it finishesNrZ   rV   s   &&&&r   rU   extensionModule.ctxtShutdownu   r_   r   rZ   N)r'   r(   r)   r*   rE   rK   rR   rW   r@   rH   rN   rU   r+   r,   r-   s   @r   r<   r<   Z   s4     ;E<F

 r   r<   c                 Z    \         P                  ! 4        \        P                  ! 4        R# )z0Cleanup all libxslt and libxml2 memory allocatedN)r   xsltPythonCleanuplibxml2cleanupParserrZ   r   r   cleanuprh   y   s      "r   c                2    \         P                  ! V 4       R# )zDDumps a list of the registered XSLT extension functions and
elementsN)r   xsltDebugDumpExtensions)outputs   &r   debugDumpExtensionsrl      s     &&v.r   c                 0    \         P                  ! 4        R# )z.Initialize the global variables for extensionsN)r   xsltInitGlobalsrZ   r   r   initGlobalsro           r   c                 0    \         P                  ! 4        R# )zRegisters the test moduleN)r   xsltRegisterTestModulerZ   r   r   registerTestModulers      s    %%'r   c                2    \         P                  ! V 4      pV# )z5Unregister an XSLT extension module from the library.)r   xsltUnregisterExtModule)rD   rets   & r   unregisterExtModulerw      s    

,
,S
1CJr   c                2    \         P                  ! W4      pV# )z'Unregisters an extension module element)r   xsltUnregisterExtModuleElementnamerD   rv   s   && r   unregisterExtModuleElementr|      s    

3
3D
>CJr   c                2    \         P                  ! W4      pV# )z(Unregisters an extension module function)r   xsltUnregisterExtModuleFunctionrz   s   && r   unregisterExtModuleFunctionr          

4
4T
?CJr   c                2    \         P                  ! W4      pV# )z1Unregisters an extension module top-level element)r   xsltUnregisterExtModuleTopLevelrz   s   && r   unregisterExtModuleTopLevelr      r   r   c                 0    \         P                  ! 4        R# )z!Registers the built-in extensionsN)r   xsltRegisterAllExtrasrZ   r   r   registerAllExtrasr      s    $$&r   c                 0    \         P                  ! 4       p V # )z1Get the function for controlling document loading)r   xsltGetLoaderFuncrv   s    r   
loaderFuncr      s    

&
&
(CJr   c                 0    \         P                  ! 4        R# )z3Cleanup just libxslt (not libxml2) memory allocatedN)r   re   rZ   r   r   pythonCleanupr      s      "r   c                2    \         P                  ! W4      pV# )zhRegister a Python written function to for error reporting.
The function is called back as f(ctx, error).)r   xsltRegisterErrorHandler)fctxrv   s   && r   registerErrorHandlerr      s     
-
-a
5CJr   c                4    \         P                  ! WW#4      pV# )z4Register a Python written element to the XSLT engine)r   xsltRegisterExtModuleElement)r{   rD   
precompile	transformrv   s   &&&& r   registerExtModuleElementr      s    

1
1$Z
SCJr   c                4    \         P                  ! WV4      pV# )z5Register a Python written function to the XSLT engine)r   xsltRegisterExtModuleFunction)r{   rD   r   rv   s   &&& r   registerExtModuleFunctionr      s    

2
24a
@CJr   c                2    \         P                  ! W4      pV# )z<Register a Python written extension class to the XSLT engine)r   xsltRegisterExtensionClass)rD   crv   s   && r   registerExtensionClassr      s    

/
/
7CJr   c                2    \         P                  ! V 4      pV# )z1Set the function for controlling document loading)r   xsltSetLoaderFunc)loaderrv   s   & r   setLoaderFuncr      s    

&
&v
.CJr   c                 0    \         P                  ! 4        R# )z:Unregister all global variables set up by the XSLT libraryN)r   xsltCleanupGlobalsrZ   r   r   cleanupGlobalsr      s    !!#r   c                 0    \         P                  ! 4        R# )zDInitializes the processor (e.g. registers built-in
extensions, etc.)N)r   xsltInitrZ   r   r   initr      s     r   c                2    \         P                  ! V 4      pV# )zCheck if a string is ignorable)r   xsltIsBlank)strrv   s   & r   isBlankr      s    

 
 
%CJr   c                    V R8X  d   RpMV P                   p\        P                  ! V4      pVR8X  d   R# \        VR7      # )a  This function tries to locate the stylesheet PI in the
given document If found, and if contained within the
document, it will extract that subtree to build the
stylesheet to process @doc (doc itself will be modified).
If found but referencing an external document it will
attempt to load it and generate a stylesheet from it. In
both cases, the resulting stylesheet and the document need
 to be freed once the transformation is done.Nr?   )r   r   xsltLoadStylesheetPIrA   docdoc__orv   s   &  r   loadStylesheetPIr      s<     d{TF66&

)
)&
1C
d{43r   c                 V    \         P                  ! 4       p V R8X  d   R# \        V R7      # )zCreate a new XSLT StylesheetNr?   )r   xsltNewStylesheetrA   r   s    r   newStylesheetr      s$    

&
&
(C
d{43r   c                    V R8X  d   RpMV P                   p\        P                  ! V4      pVR8X  d   R# \        VR7      # )a  parse an XSLT stylesheet, building the associated
structures.  doc is kept as a reference within the returned
stylesheet, so changes to doc after the parsing will be
reflected when the stylesheet is applied, and the doc is
 automatically freed when the stylesheet is closed.Nr?   )r   r   xsltParseStylesheetDocrA   r   s   &  r   parseStylesheetDocr     s<     d{TF66&

+
+F
3C
d{43r   c                X    \         P                  ! V 4      pVR8X  d   R# \        VR7      # )z!Load and parse an XSLT stylesheetNr?   )r   xsltParseStylesheetFilerA   )filenamerv   s   & r   parseStylesheetFiler     s&    

,
,X
6C
d{43r   c                 0    \         P                  ! 4        R# )zUninitializes the processor.N)r   
xsltUninitrZ   r   r   uninitr     s    r   c                 0    \         P                  ! 4        R# )z3Cleanup function for the locale support on shutdownN)r   xsltFreeLocalesrZ   r   r   freeLocalesr     rp   r   c                2    \         P                  ! V 4       R# )z7Used for to correct the calibration for xsltTimestamp()N)r   xsltCalibrateAdjust)deltas   &r   calibrateAdjustr   #  s    ""5)r   c                 0    \         P                  ! 4       p V # )zGet xslDebugStatus.)r   xsltGetDebuggerStatusr   s    r   debuggerStatusr   '  s    

*
*
,CJr   c                `    V R8X  d   RpMV P                   p\        P                  ! W1V4      pV# a  Similar to xmlGetNsProp() but with a slightly different
semantic  Search and get the value of an attribute
associated to a node This attribute has to be anchored in
the namespace specified, or has no namespace and the
element is in that namespace.  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.N)r   r   xsltGetNsProp)noder{   	nameSpacenode__orv   s   &&&  r   nsPropr   ,  s/     t|tWGG'

"
"7)
<CJr   c                 0    \         P                  ! 4       p V # )z!Used for gathering profiling data)r   xsltTimestampr   s    r   	timestampr   :  s    

"
"
$CJr   c                   f   a  ] tR tRt o RR ltR tR tR tR tR t	R	 t
R
 tR tR tR tRtV tR# )xpathParserContexti?  Nc                T    R V n         \        P                  P                  WR7       R # Nr?   )r   rf   r   r   r   s   &&r   r   xpathParserContext.__init__@  s     ""++D+<r   c                l    \         P                  ! V P                  4      pVR8X  d   R# \        VR7      # )z/Get the xpathContext from an xpathParserContextNr?   )r   xsltXPathParserGetContextr   xpathContextr   rv   s   & r   contextxpathParserContext.contextE  s*    22477;$;t%%r   c                H    \         P                  ! V P                  V4       R# )zImplement the node-set() XSLT function node-set
node-set(result-tree)  This function is available in
 libxslt, saxon or xt namespace.N)r   xsltFunctionNodeSetr   r   nargss   &&r   functionNodeSet"xpathParserContext.functionNodeSetO  s     	&&tww6r   c                H    \         P                  ! V P                  V4       R# )zKImplement the document() XSLT function node-set
document(object, node-set?)N)r   xsltDocumentFunctionr   r   s   &&r   documentFunction#xpathParserContext.documentFunctionY  s     	''7r   c                H    \         P                  ! V P                  V4       R# )zQImplement the element-available() XSLT function boolean
element-available(string)N)r   xsltElementAvailableFunctionr   r   s   &&r   elementAvailableFunction+xpathParserContext.elementAvailableFunction^  s     	//?r   c                H    \         P                  ! V P                  V4       R# )zYImplement the format-number() XSLT function string
format-number(number, string, string?)N)r   xsltFormatNumberFunctionr   r   s   &&r   formatNumberFunction'xpathParserContext.formatNumberFunctionc  s     	++DGGU;r   c                H    \         P                  ! V P                  V4       R# )zSImplement the function-available() XSLT function boolean
function-available(string)N)r   xsltFunctionAvailableFunctionr   r   s   &&r   functionAvailableFunction,xpathParserContext.functionAvailableFunctionh       	00%@r   c                H    \         P                  ! V P                  V4       R# )zGImplement the generate-id() XSLT function string
generate-id(node-set?)N)r   xsltGenerateIdFunctionr   r   s   &&r   generateIdFunction%xpathParserContext.generateIdFunctionm  s     	))$''59r   c                H    \         P                  ! V P                  V4       R# )z>Implement the key() XSLT function node-set key(string,
object)N)r   xsltKeyFunctionr   r   s   &&r   keyFunctionxpathParserContext.keyFunctionr  s     	""477E2r   c                H    \         P                  ! V P                  V4       R# )zLImplement the system-property() XSLT function object
system-property(string)N)r   xsltSystemPropertyFunctionr   r   s   &&r   systemPropertyFunction)xpathParserContext.systemPropertyFunctionw  s     	--dggu=r   c                H    \         P                  ! V P                  V4       R# )zTImplement the unparsed-entity-uri() XSLT function string
unparsed-entity-uri(string)N)r   xsltUnparsedEntityURIFunctionr   r   s   &&r   unparsedEntityURIFunction,xpathParserContext.unparsedEntityURIFunction|  r   r   r   r   )r'   r(   r)   r*   r   r   r   r   r   r   r   r   r   r   r  r+   r,   r-   s   @r   r   r   ?  sE     =
&78
@
<
A
:
3
>
A Ar   r   c                   <   a  ] tR tRt o RR ltR tR tR tRtV t	R# )	r   i  Nc                T    R V n         \        P                  P                  WR7       R # r   )r   rf   r   r   r   s   &&r   r   xpathContext.__init__  s     %%d%6r   c                    R # r   rZ   r   s   &r   __del__xpathContext.__del__  s    r   c                l    \         P                  ! V P                  4      pVR8X  d   R# \        VR7      # )z3Get the transformation context from an xpathContextNr?   )r   xsltXPathGetTransformContextr   rO   r   s   & r   transformContextxpathContext.transformContext  s*    55dgg>$;t#&&r   c                F    \         P                  ! V P                  4       R# )z4Registers all default XSLT functions in this contextN)r   xsltRegisterAllFunctionsr   r	  s   &r   registerAllFunctions!xpathContext.registerAllFunctions      ++DGG4r   r   r   )
r'   r(   r)   r*   r   r
  r  r  r+   r,   r-   s   @r   r   r     s     7'5 5r   r   c                   b  a  ] tR tRt o R9R ltR tR tR tR tR t	R	 t
R
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R  t!R! t"R" t#R# t$R$ t%R% t&R& t'R' t(R( t)R) t*R* t+R+ t,R, t-R- t.R. t/R/ t0R0 t1R1 t2R2 t3R3 t4R4 t5R5 t6R6 t7R7 t8R8t9V t:R# ):rO   i  Nc                @    R V n         \        P                  WR7       R # r   )r   r   r   r   s   &&r   r   transformCtxt.__init__  s    ""4"3r   c                l    \         P                  ! V P                  4      pVR8X  d   R# \        VR7      # )z)Get the XPath context of a transformationNr?   )r   xsltTransformGetContextr   r   r   s   & r   r   transformCtxt.context  s*    009$;t%%r   c                    \         P                  ! V P                  4      pVR8X  d   R# \        P                  ! VR7      # )z*Get the current() node of a transformationNr?   )r   xsltTransformGetCurrentr   rf   xmlNoder   s   & r   currenttransformCtxt.current  s.    009$;tC((r   c                    \         P                  ! V P                  4      pVR8X  d   R# \        P                  ! VR7      # )z-Get the insertion node in the output documentNr?   )r   xsltTransformGetInsertNoder   rf   r  r   s   & r   
insertNodetransformCtxt.insertNode  s.    33DGG<$;tC((r   c                    \         P                  ! V P                  4      pVR8X  d   R# \        P                  ! VR7      # )z*Get the instruction node in the stylesheetNr?   )r   xsltTransformGetInstructionr   rf   r  r   s   & r   instructiontransformCtxt.instruction  s.    44TWW=$;tC((r   c                F    \         P                  ! V P                  4      pV# )z Get the mode of a transformation)r   xsltTransformGetModer   r   s   & r   modetransformCtxt.mode  s    --dgg6
r   c                F    \         P                  ! V P                  4      pV# )z$Get the mode URI of a transformation)r   xsltTransformGetModeURIr   r   s   & r   modeURItransformCtxt.modeURI      009
r   c                    \         P                  ! V P                  4      pVR8X  d   R# \        P                  ! VR7      # )z+Get the output document of a transformationNr?   )r   xsltTransformGetOutputDocr   rf   xmlDocr   s   & r   	outputDoctransformCtxt.outputDoc  s.    22477;$;t~~3''r   c                F    \         P                  ! V P                  4      pV# )z/Get the output URI of a transformation if known)r   xsltTransformGetOutputURIr   r   s   & r   	outputURItransformCtxt.outputURI      22477;
r   c                l    \         P                  ! V P                  4      pVR8X  d   R# \        VR7      # )z(Get the stylesheet from a transformationNr?   )r   xsltTransformGetStyler   rA   r   s   & r   rC   transformCtxt.style  *    ..tww7$;ts##r   c                    VR8X  d   RpMVP                   pVR8X  d   RpMVP                   p\        P                  ! V P                   WEV4       R# )zApply the xsl:use-attribute-sets. If @attrSets is None,
then @inst will be used to exctract this value. If both,
 @attrSets and @inst, are None, then this will do nothing.N)r   r   xsltApplyAttributeSet)r   r   instattrSetsr   inst__os   &&&&  r   applyAttributeSettransformCtxt.applyAttributeSet  sB     4<4g4<4g(('HMr   c                F    \         P                  ! V P                  4       R# )z2Free up all the space used by the loaded documentsN)r   xsltFreeDocumentsr   r	  s   &r   freeDocumentstransformCtxt.freeDocuments  s    $$TWW-r   c                F    \         P                  ! V P                  4       R# )zFree the XSLT extension dataN)r   xsltFreeCtxtExtsr   r	  s   &r   freeCtxtExtstransformCtxt.freeCtxtExts      ##DGG,r   c                F    \         P                  ! V P                  4      pV# )z=Initialize the set of modules with registered stylesheet
data)r   xsltInitCtxtExtsr   r   s   & r   initCtxtExtstransformCtxt.initCtxtExts  s     ))$''2
r   c                F    \         P                  ! V P                  4       R# z"Shutdown the set of modules loadedN)r   xsltShutdownCtxtExtsr   r	  s   &r   shutdownCtxtExtstransformCtxt.shutdownCtxtExts  s    ''0r   c                F    \         P                  ! V P                  4       R# )zbRegisters the built-in extensions. This function is
deprecated, use xsltRegisterAllExtras instead.N)r   xsltRegisterExtrasr   r	  s   &r   registerExtrastransformCtxt.registerExtras  s     	%%dgg.r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4      pV# )zlFind strip-space or preserve-space information for an
element respect the import precedence or the wildcardsN)r   r   xsltFindElemSpaceHandling)r   r   r   rv   s   &&  r   findElemSpaceHandling#transformCtxt.findElemSpaceHandling  s3     4<4g22477GD
r   c                F    \         P                  ! V P                  4      pV# )z=Checks whether that stylesheet requires white-space
stripping)r   xsltNeedElemSpaceHandlingr   r   s   & r   needElemSpaceHandling#transformCtxt.needElemSpaceHandling  s     22477;
r   c                    VR8X  d   RpMVP                   pVR8X  d   RpMVP                   p\        P                  ! V P                   W44      pVR8X  d   R# \        P                  ! VR7      # )znCopies a namespace node (declaration). If @elem is not
None, then the new namespace will be declared on @elem.Nr?   )r   r   xsltCopyNamespacerf   xmlNs)r   elemnselem__ons__orv   s   &&&   r   copyNamespacetransformCtxt.copyNamespace  sZ     4<4g:tueee**477GC$;t}}#&&r   c                    VR8X  d   RpMVP                   pVR8X  d   RpMVP                   p\        P                  ! V P                   W44      pVR8X  d   R# \        P                  ! VR7      # )a  Do a copy of an namespace list. If @node is non-None the
new namespaces are added automatically. This handles
namespaces aliases. This function is intended only for
*internal* use at transformation-time for copying
ns-declarations of Literal Result Elements.  Called by:
xsltCopyTreeInternal() (transform.c) xsltShallowCopyElem()
(transform.c)  REVISIT: This function won't be used in the
 refactored code.Nr?   )r   r   xsltCopyNamespaceListrf   rf  )r   r   curr   cur__orv   s   &&&   r   copyNamespaceListtransformCtxt.copyNamespaceList"  sZ     4<4g$;vvf..twwH$;t}}#&&r   c                
   VR8X  d   RpMVP                   pVR8X  d   RpMVP                   pVR8X  d   RpMVP                   p\        P                  ! V P                   WEV4      pVR8X  d   R# \        P                  ! VR7      # )a
  Find a matching (prefix and ns-name) ns-declaration for the
requested @ns->prefix and @ns->href in the result tree. If
none is found then a new ns-declaration will be added to
@resultElem. If, in this case, the given prefix is already
in use, then a ns-declaration with a modified ns-prefix be
we created.  Called by: - xsltCopyPropList() (*not* 
anymore) - xsltShallowCopyElement() -
xsltCopyTreeInternal() (*not*  anymore) -
xsltApplySequenceConstructor() (*not* in the refactored
 code), - xsltElement() (*not* anymore)Nr?   )r   r   xsltGetNamespacerf   rf  r   ro  rh  outrp  rj  out__orv   s   &&&&    r   	namespacetransformCtxt.namespace3  sp     $;vvf:tueee$;vvf))$''6&I$;t}}#&&r   c                
   VR8X  d   RpMVP                   pVR8X  d   RpMVP                   pVR8X  d   RpMVP                   p\        P                  ! V P                   WEV4      pVR8X  d   R# \        P                  ! VR7      # )z`Obsolete. *Not* called by any Libxslt/Libexslt function.
Exaclty the same as xsltGetNamespace().Nr?   )r   r   xsltGetPlainNamespacerf   rf  ru  s   &&&&    r   plainNamespacetransformCtxt.plainNamespaceH  sp     $;vvf:tueee$;vvf..twwvN$;t}}#&&r   c                    VR8X  d   RpMVP                   pVR8X  d   RpMVP                   p\        P                  ! V P                   WRW64      pVR8X  d   R# \        P                  ! VR7      # )a   Find a matching (prefix and ns-name) ns-declaration for the
requested @nsName and @nsPrefix in the result tree. If none
is found then a new ns-declaration will be added to
@resultElem. If, in this case, the given prefix is already
in use, then a ns-declaration with a modified ns-prefix be
we created. Note that this function's priority is to
preserve ns-prefixes; it will only change a prefix if
there's a namespace clash. If both @nsName and @nsPrefix
are None, then this will try to "undeclare" a default
 namespace by declaring an xmlns="".Nr?   )r   r   xsltGetSpecialNamespacerf   rf  )r   	invocNodensNamensPrefixtargetinvocNode__o	target__orv   s   &&&&&   r   specialNamespacetransformCtxt.specialNamespaceU  s^     Tl&\\lT>t9 ))i00,PXd$;t}}#&&r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4      pV# )z&Compare one transformCtxt with anotherN)r   r   r!   r   r#   other__orv   s   &&  r   compareTransformContextsEqual+transformCtxt.compareTransformContextsEquall  s1    D=T(h::477HM
r   c                F    \         P                  ! V P                  4       R# )z)Free up an existing XSLT TransformContextN)r   xsltFreeTransformContextr   r	  s   &r   freeTransformContext"transformCtxt.freeTransformContexts  r  r   c                F    \         P                  ! V P                  4      pV# )z)Get the hash code of the transformContextr   r   s   & r   transformContextHashCode&transformCtxt.transformContextHashCodew  s    88A
r   c                    VR8X  d   RpMVP                   pVR8X  d   RpMVP                   p\        P                  ! V P                   W44      pVR8X  d   R# \        P                  ! VR7      # )a  Processes all attributes of a Literal Result Element.
Attribute references are applied via xsl:use-attribute-set
attributes. Copies all non XSLT-attributes over to the
@target element and evaluates Attribute Value Templates. 
 Called by xsltApplySequenceConstructor() (transform.c).Nr?   )r   r   xsltAttrListTemplateProcessrf   xmlAttr)r   r  attrsr  attrs__orv   s   &&&   r   attrListTemplateProcess%transformCtxt.attrListTemplateProcess  sZ     T>t9 ))iD=T(h44TWWiR$;tC((r   c                    VR8X  d   RpMVP                   pVR8X  d   RpMVP                   p\        P                  ! V P                   W44      pVR8X  d   R# \        P                  ! VR7      # )zProcess one attribute of a Literal Result Element (in the
stylesheet). Evaluates Attribute Value Templates and copies
the attribute over to the result element. This does *not*
 process attribute sets (xsl:use-attribute-set).Nr?   )r   r   xsltAttrTemplateProcessrf   r  )r   r  attrr  attr__orv   s   &&&   r   attrTemplateProcess!transformCtxt.attrTemplateProcess  sZ    
 T>t9 ))i4<4g00)M$;tC((r   c                H    \         P                  ! V P                  V4      pV# )z7Process the given node and return the new string value.)r   xsltAttrTemplateValueProcessr   )r   r   rv   s   && r   attrTemplateValueProcess&transformCtxt.attrTemplateValueProcess  s    55dggsC
r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   W4      pV# )a  Process the given string, allowing to pass a namespace
mapping context and return the new string value.  Called
by: - xsltAttrTemplateValueProcess() (templates.c) -
xsltEvalAttrValueTemplate() (templates.c)  QUESTION: Why is
this function public? It is not used outside of templates.c.N)r   r    xsltAttrTemplateValueProcessNode)r   r   rA  rC  rv   s   &&&  r   attrTemplateValueProcessNode*transformCtxt.attrTemplateValueProcessNode  s3     4<4g99$''3P
r   c                v    VR8X  d   RpMVP                   p\        P                  ! V P                   WBV4      pV# )zEvaluate a attribute value template, i.e. the attribute
value can contain expressions contained in curly braces
 ({}) and those are substituted by they computed value.N)r   r   xsltEvalAttrValueTemplate)r   rA  r{   rh  rC  rv   s   &&&&  r   evalAttrValueTemplate#transformCtxt.evalAttrValueTemplate  s5     4<4g22477G2N
r   c                    VR8X  d   RpMVP                   pVR8X  d   RpMVP                   p\        P                  ! V P                   W44      pV# )zProcesses the sequence constructor of the given instruction
on @contextNode and converts the resulting tree to a
string. This is needed by e.g. xsl:comment and
 xsl:processing-instruction.N)r   r   xsltEvalTemplateString)r   contextNoderA  contextNode__orC  rv   s   &&&   r   evalTemplateString transformCtxt.evalTemplateString  sH    
 $*~~n4<4g//Q
r   c                F    \         P                  ! V P                  4      pV# )zEvaluates all global variables and parameters of a
stylesheet. For internal use only. This is called at start
 of a transformation.)r   xsltEvalGlobalVariablesr   r   s   & r   evalGlobalVariables!transformCtxt.evalGlobalVariables  s     009
r   c                H    \         P                  ! V P                  W4      pV# )a  This is normally called from xsltEvalUserParams to process
a single parameter from a list of parameters.  The @value
is evaluated as an XPath expression and the result is
stored in the context's global variable/parameter hash
table.  To have a parameter treated literally (not as an
XPath expression) use xsltQuoteUserParams (or
xsltQuoteOneUserParam).  For more details see description
 of xsltProcessOneUserParamInternal.)r   xsltEvalOneUserParamr   r   r{   valuerv   s   &&& r   evalOneUserParamtransformCtxt.evalOneUserParam  s     --dggtC
r   c                F    \         P                  ! V P                  4       R# )z>Free up the data associated to the global variables its
value.N)r   xsltFreeGlobalVariablesr   r	  s   &r   freeGlobalVariables!transformCtxt.freeGlobalVariables  s     	**4773r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4       R# )zZRegisters a local XSLT 'param' declaration at
transformation time and evaluates its value.N)r   r   xsltParseStylesheetParamr   ro  rp  s   && r   parseStylesheetParam"transformCtxt.parseStylesheetParam  s,     $;vvf++DGGV<r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4       R# )z]Registers a local XSLT 'variable' instruction at
transformation time and evaluates its value.N)r   r   xsltParseStylesheetVariabler   rA  rC  s   && r   parseStylesheetVariable%transformCtxt.parseStylesheetVariable  s,     4<4g..tww@r   c                H    \         P                  ! V P                  W4      pV# )zThis is normally called from xsltQuoteUserParams to process
a single parameter from a list of parameters.  The @value
is stored in the context's global variable/parameter hash
 table.)r   xsltQuoteOneUserParamr   r  s   &&& r   quoteOneUserParamtransformCtxt.quoteOneUserParam  s    
 ..twwD
r   c                    \         P                  ! V P                  W4      pVR8X  d   R# \        P                  ! V4      # )zISearch in the Variable array of the context for the given
variable value.N)r   xsltVariableLookupr   rf   xpathObjectRet)r   r{   ns_urirv   s   &&& r   variableLookuptransformCtxt.variableLookup  s4     ++DGGTB$;t%%c**r   c                F    \         P                  ! V P                  4      pV# )zAllocate an extra runtime information slot at run-time and
return its number This make sure there is a slot ready in
 the transformation context)r   xsltAllocateExtraCtxtr   r   s   & r   allocateExtraCtxttransformCtxt.allocateExtraCtxt  s     ..tww7
r   c                    \         P                  ! V P                  4      pVR8X  d   R# \        P                  ! VR7      # )zRCreates a Result Value Tree (the XSLT 1.0 term for this is
"Result Tree Fragment")Nr?   )r   xsltCreateRVTr   rf   r3  r   s   & r   	createRVTtransformCtxt.createRVT  s0     &&tww/$;t~~3''r   c                F    \         P                  ! V P                  4      pV# )a*  Finalizes the data (e.g. result tree fragments) created
within a value-returning process (e.g. EXSLT's function).
Tree fragments marked as being returned by a function are
set to normal state, which means that the fragment garbage
collector will free them after the function-calling process
 exits.)r   &xsltExtensionInstructionResultFinalizer   r   s   & r   "extensionInstructionResultFinalize0transformCtxt.extensionInstructionResultFinalize  s     ??H
r   c                F    \         P                  ! V P                  4       R# )zFrees all registered result value trees (Result Tree
Fragments) of the transformation. Internal function; should
 not be called by user-code.N)r   xsltFreeRVTsr   r	  s   &r   freeRVTstransformCtxt.freeRVTs  s     	(r   c                F    \         P                  ! V P                  4      pV# )zTINTERNAL ROUTINE ONLY  Check if any keys on the current
document need to be computed)r   xsltInitAllDocKeysr   r   s   & r   initAllDocKeystransformCtxt.initAllDocKeys  s     ++DGG4
r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4      pV# )zRegisters a result value tree (XSLT 1.0 term: Result Tree
Fragment) in the RVT garbage collector. The fragment will
be freed when the instruction which created the fragment
 exits.N)r   r   xsltRegisterLocalRVTr   RVTRVT__orv   s   &&  r   registerLocalRVTtransformCtxt.registerLocalRVT!  s3    
 $;vvf--dggv>
r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4      pV# )zRegister the result value tree (XSLT 1.0 term: Result Tree
Fragment) in the fragment garbage collector. The fragment
 will be freed when the transformation context is freed.N)r   r   xsltRegisterPersistRVTr  s   &&  r   registerPersistRVT transformCtxt.registerPersistRVT+  s3     $;vvf//@
r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4      pV# )a\  Registers the result value tree (XSLT 1.0 term: Result Tree
Fragment) in the garbage collector. The fragment will be
freed at the exit of the currently instantiated
xsl:template. Obsolete; this function might produce massive
memory overhead, since the fragment is only freed when the
current xsl:template exits. Use xsltRegisterLocalRVT()
 instead.N)r   r   xsltRegisterTmpRVTr  s   &&  r   registerTmpRVTtransformCtxt.registerTmpRVT4  s3     $;vvf++DGGV<
r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4       R# )z^Either frees the RVT (which is an xmlDoc) or stores it in
the context's cache for later reuse.N)r   r   xsltReleaseRVT)r   r  r  s   && r   
releaseRVTtransformCtxt.releaseRVTA  s,     $;vvf!!$''62r   c                    VR8X  d   RpMVP                   pVR8X  d   RpMVP                   p\        P                  ! V P                   W44       R# )z!Process and xsl:message constructN)r   r   xsltMessage)r   r   rA  r   rC  s   &&&  r   messagetransformCtxt.messageL  s>    4<4g4<4gtww9r   c                    VR8X  d   RpMVP                   pVR8X  d   RpMVP                   p\        P                  ! V P                   W44       R# z Display the context of an error.Nr   r   xsltPrintErrorContext)r   rC   r   style__or   s   &&&  r   printErrorContexttransformCtxt.printErrorContextT  s>    D=T(h4<4g(((Dr   c                    \         P                  ! V P                  4      pVR8X  d   R# \        P                  ! VR7      # )a)  This function should be called after the transformation
completed to extract template processing profiling
information if available. The information is returned as an
XML document tree like <?xml version="1.0"?> <profile>
<template rank="1" match="*" name="" mode="" calls="6"
time="48" average="8"/> <template rank="2"
match="item2|item3" name="" mode="" calls="10" time="30"
average="3"/> <template rank="3" match="item1" name=""
mode="" calls="5" time="17" average="3"/> </profile> The
caller will need to free up the returned tree with
 xmlFreeDoc()Nr?   )r   xsltGetProfileInformationr   rf   r3  r   s   & r   profileInformation transformCtxt.profileInformation\  s0     22477;$;t~~3''r   c                H    \         P                  ! V P                  V4       R# )z)Save the profiling information on @outputN)r   xsltSaveProfilingr   )r   rk   s   &&r   saveProfilingtransformCtxt.saveProfilingl  s    $$TWWf5r   c                H    \         P                  ! V P                  V4      pV# )zgChange the default parser option passed by the XSLT engine
to the parser when using document() loading.)r   xsltSetCtxtParseOptionsr   )r   optionsrv   s   && r   setCtxtParseOptions!transformCtxt.setCtxtParseOptionsp  s     00'B
r   r   r   );r'   r(   r)   r*   r   r   r  r"  r&  r*  r.  r4  r8  rC   rD  rH  rL  rQ  rV  rZ  r^  rb  rk  rq  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-   s   @r   rO   rO     s    4
&)))

(
$N.-1/	''"'*''.5))
	
 
4
=A+()3:E( 6 r   rO   c                   \  a  ] tR tRt o R8R ltR tR tR tR tR t	R	 t
R
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R  t!R! t"R" t#R# t$R$ t%R% t&R& t'R' t(R( t)R) t*R* t+R+ t,R, t-R- t.R. t/R/ t0R0 t1R1 t2R2 t3R3 t4R4 t5R5 t6R6 t7R7t8V t9R# )9rA   iv  Nc                @    R V n         \        P                  WR7       R # r   )r   r1   r   r   s   &&r   r   stylesheet.__init__w  s    0r   c                    \         P                  ! V P                  4      pVR8X  d   R# \        P                  ! VR7      # )z Get the document of a stylesheetNr?   )r   xsltStylesheetGetDocr   rf   r3  r   s   & r   r   stylesheet.doc|  s.    --dgg6$;t~~3''r   c                F    \         P                  ! V P                  4      pV# )z%Get the output PUBLIC of a stylesheet)r   xsltStylesheetGetDoctypePublicr   r   s   & r   doctypePublicstylesheet.doctypePublic      77@
r   c                F    \         P                  ! V P                  4      pV# )z%Get the output SYSTEM of a stylesheet)r   xsltStylesheetGetDoctypeSystemr   r   s   & r   doctypeSystemstylesheet.doctypeSystem  r  r   c                F    \         P                  ! V P                  4      pV# )z'Get the output encoding of a stylesheet)r   xsltStylesheetGetEncodingr   r   s   & r   encodingstylesheet.encoding  r:  r   c                l    \         P                  ! V P                  4      pVR8X  d   R# \        VR7      # )zGet the imports of a stylesheetNr?   )r   xsltStylesheetGetImportsr   rA   r   s   & r   importsstylesheet.imports  s*    11$'':$;ts##r   c                F    \         P                  ! V P                  4      pV# )z%Get the output method of a stylesheet)r   xsltStylesheetGetMethodr   r   s   & r   methodstylesheet.method  r0  r   c                F    \         P                  ! V P                  4      pV# )z)Get the output method URI of a stylesheet)r   xsltStylesheetGetMethodURIr   r   s   & r   	methodURIstylesheet.methodURI  s    33DGG<
r   c                l    \         P                  ! V P                  4      pVR8X  d   R# \        VR7      # )z$Get the next sibling of a stylesheetNr?   )r   xsltStylesheetGetNextr   rA   r   s   & r   nextstylesheet.next  r>  r   c                l    \         P                  ! V P                  4      pVR8X  d   R# \        VR7      # )zGet the parent of a stylesheetNr?   )r   xsltStylesheetGetParentr   rA   r   s   & r   parentstylesheet.parent  s*    009$;ts##r   c                F    \         P                  ! V P                  4      pV# )z&Get the output version of a stylesheet)r   xsltStylesheetGetVersionr   r   s   & r   versionstylesheet.version  s    11$'':
r   c                F    \         P                  ! V P                  4       R# )z)Free up the memory used by attribute setsN)r   xsltFreeAttributeSetsHashesr   r	  s   &r   freeAttributeSetsHashes"stylesheet.freeAttributeSetsHashes  s    ..tww7r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4       R# )z.parse an XSLT stylesheet attribute-set elementN)r   r   xsltParseStylesheetAttributeSetr  s   && r   parseStylesheetAttributeSet&stylesheet.parseStylesheetAttributeSet  s*    $;vvf22477FCr   c                F    \         P                  ! V P                  4       R# )z.resolve the references between attribute sets.N)r   !xsltResolveStylesheetAttributeSetr   r	  s   &r   resolveStylesheetAttributeSet(stylesheet.resolveStylesheetAttributeSet  s    44TWW=r   c                F    \         P                  ! V P                  4       R# )zFrees the node-trees (and xsltDocument structures) of all
stylesheet-modules of the stylesheet-level represented by
 the given @style.N)r   xsltFreeStyleDocumentsr   r	  s   &r   freeStyleDocumentsstylesheet.freeStyleDocuments  s     	))$''2r   c                H    \         P                  ! V P                  V4      pV# )zCheck if the given prefix is one of the declared
extensions. This is intended to be called only at
compile-time. Called by: xsltGetInheritedNsList() (xslt.c)
 xsltParseTemplateContent (xslt.c))r   xsltCheckExtPrefixr   r   rD   rv   s   && r   checkExtPrefixstylesheet.checkExtPrefix  s    
 ++DGGS9
r   c                H    \         P                  ! V P                  V4      pV# )zCheck if the given prefix is one of the declared
extensions. This is intended to be called only at
compile-time. Called by: xsltPrecomputeStylesheet()
 (xslt.c) xsltParseTemplateContent (xslt.c))r   xsltCheckExtURIr   rQ  s   && r   checkExtURIstylesheet.checkExtURI  s    
 ((#6
r   c                F    \         P                  ! V P                  4       R# )z:Free up the memory used by XSLT extensions in a stylesheetN)r   xsltFreeExtsr   r	  s   &r   freeExtsstylesheet.freeExts      (r   c                H    \         P                  ! V P                  W4      pV# )zRegisters an extension namespace This is called from xslt.c
during compile-time. The given prefix is not needed. Called
by: xsltParseExtElemPrefixes() (new function)
 xsltRegisterExtPrefix() (old function))r   xsltRegisterExtPrefixr   )r   prefixrD   rv   s   &&& r   registerExtPrefixstylesheet.registerExtPrefix  s    
 ..twwD
r   c                F    \         P                  ! V P                  4       R# rT  )r   xsltShutdownExtsr   r	  s   &r   shutdownExtsstylesheet.shutdownExts  rN  r   c                l    \         P                  ! V P                  4      pVR8X  d   R# \        VR7      # )z.Find the next stylesheet in import precedence.Nr?   )r   xsltNextImportr   rA   r   s   & r   
nextImportstylesheet.nextImport  s*    ''0$;ts##r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4      pV# )z'parse an XSLT stylesheet import elementN)r   r   xsltParseStylesheetImportr   ro  rp  rv   s   &&  r   parseStylesheetImport stylesheet.parseStylesheetImport  s1    $;vvf22477FC
r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4      pV# )z(parse an XSLT stylesheet include elementN)r   r   xsltParseStylesheetIncluderl  s   &&  r   parseStylesheetInclude!stylesheet.parseStylesheetInclude  s1    $;vvf33DGGVD
r   c                x    VR8X  d   RpMVP                   p\        P                  ! V P                   WW4V4      pV# )z$add a key definition to a stylesheetN)r   r   
xsltAddKey)r   r{   nameURImatchuserA  rC  rv   s   &&&&&&  r   addKeystylesheet.addKey  s5    4<4g##DGGTEP
r   c                F    \         P                  ! V P                  4       R# )z4Free up the memory used by XSLT keys in a stylesheetN)r   xsltFreeKeysr   r	  s   &r   freeKeysstylesheet.freeKeys  r\  r   c                F    \         P                  ! V P                  4       R# )z-Free up the memory used by namespaces aliasesN)r   xsltFreeNamespaceAliasHashesr   r	  s   &r   freeNamespaceAliasHashes#stylesheet.freeNamespaceAliasHashes  s    //8r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4       R# )znRead the stylesheet-prefix and result-prefix attributes,
register them as well as the corresponding namespace.N)r   r   xsltNamespaceAlias)r   r   r   s   && r   namespaceAliasstylesheet.namespaceAlias!  s,     4<4g%%dggw7r   c                F    \         P                  ! V P                  4       R# )zRCleanup the state of the templates used by the stylesheet
and the ones it imports.N)r   xsltCleanupTemplatesr   r	  s   &r   cleanupTemplatesstylesheet.cleanupTemplates,  s     	''0r   c                F    \         P                  ! V P                  4       R# )zDFree up the memory used by xsltAddTemplate/xsltGetTemplate
mechanismN)r   xsltFreeTemplateHashesr   r	  s   &r   freeTemplateHashesstylesheet.freeTemplateHashes1  s     	))$''2r   c                F    \         P                  ! V P                  4       R# )z6Free up the memory allocated by all precomputed blocksN)r   xsltFreeStylePreCompsr   r	  s   &r   freeStylePreCompsstylesheet.freeStylePreComps:  s    ((1r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4       R# )z%Precompute an XSLT stylesheet elementN)r   r   xsltStylePreComputer  s   && r   stylePreComputestylesheet.stylePreCompute>  s*    4<4g&&tww8r   c                    VR8X  d   RpMVP                   p\        P                  ! V P                   W24      pVR8X  d   R# \        P                  ! VR7      # z$Apply the stylesheet to the documentNr?   )r   r   xsltApplyStylesheetrf   r3  )r   r   paramsr   rv   s   &&&  r   applyStylesheetstylesheet.applyStylesheetH  sD    $;vvf,,TWWfE$;t~~3''r   c                    VR8X  d   RpMVP                   pVR8X  d   RpMVP                   p\        P                  ! V P                   WBV4      pVR8X  d   R# \        P                  ! VR7      # r  )r   r   xsltApplyStylesheetUserrf   r3  )r   r   r  rO   r   transformCtxt__orv   s   &&&&   r   applyStylesheetUserstylesheet.applyStylesheetUserP  s`    $;vvfD T"2!.!1!100&JZ[$;t~~3''r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4      pV# )z#Compare one stylesheet with anotherN)r   r   r9   r  s   &&  r   compareStylesheetsEqual"stylesheet.compareStylesheetsEqualZ  s1    D=T(h44TWWhG
r   c                    VR8X  d   RpMVP                   p\        P                  ! V P                   V4      pVR8X  d   R# \        VR7      # )z"Create a new XSLT TransformContextNr?   )r   r   xsltNewTransformContextrO   r   r   r   rv   s   &&  r   newTransformContextstylesheet.newTransformContexta  s@    $;vvf00&A$;t#&&r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4      pV# )zOHave the stylesheet serialize the result of a
transformation to a python stringN)r   r   xsltSaveResultToString)r   result	result__orv   s   &&  r   saveResultToStringstylesheet.saveResultToStringi  s3     T>t9 ))i//C
r   c                F    \         P                  ! V P                  4      pV# )z#Get the hash code of the stylesheetr5   r   s   & r   stylesheetHashCodestylesheet.stylesheetHashCodeq  r:  r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4       R# )zDparse an XSLT transformation param declaration and record
its value.N)r   r   xsltParseGlobalParamr  s   && r   parseGlobalParamstylesheet.parseGlobalParamz  s,     $;vvf''8r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4       R# )zPParses a global XSLT 'variable' declaration at compilation
time and registers itN)r   r   xsltParseGlobalVariabler  s   && r   parseGlobalVariablestylesheet.parseGlobalVariable  s,     $;vvf**477F;r   c                F    \         P                  ! V P                  4      pV# )zjAllocate an extra runtime information slot statically while
compiling the stylesheet and return its number)r   xsltAllocateExtrar   r   s   & r   allocateExtrastylesheet.allocateExtra  s     **4773
r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4       R# )zPrecompile an attribute in a stylesheet, basically it
checks if it is an attribute value template, and if yes,
establish some structures needed to process it at
 transformation time.N)r   r   xsltCompileAttr)r   r  r  s   && r   compileAttrstylesheet.compileAttr  s,    
 4<4g""477G4r   c                F    \         P                  ! V P                  4       R# )z&Free up the memory allocated by @styleN)r   xsltFreeStylesheetr   r	  s   &r   freeStylesheetstylesheet.freeStylesheet  s    %%dgg.r   c                    VR8X  d   RpMVP                   p\        P                  ! W P                   4      pVR8X  d   R# \        VR7      # )ztparse an XSLT stylesheet building the associated structures
except the processing not needed for imported documents.Nr?   )r   r   xsltParseStylesheetImportedDocrA   r  s   &&  r   parseStylesheetImportedDoc%stylesheet.parseStylesheetImportedDoc  s@     $;vvf77H$;ts##r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4       R# )z_parse an XSLT stylesheet output element and record
information related to the stylesheet outputN)r   r   xsltParseStylesheetOutputr  s   && r   parseStylesheetOutput stylesheet.parseStylesheetOutput  s,     $;vvf,,TWWf=r   c                    VR8X  d   RpMVP                   p\        P                  ! V P                   V4      pVR8X  d   R# \        VR7      # )zParses an XSLT stylesheet, adding the associated
structures. Called by: xsltParseStylesheetImportedDoc()
 (xslt.c) xsltParseStylesheetInclude() (imports.c)Nr?   )r   r   xsltParseStylesheetProcessrA   r  s   &&  r   parseStylesheetProcess!stylesheet.parseStylesheetProcess  sB     $;vvf33DGGVD$;ts##r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4      pV# )z@Parse an XSLT stylesheet with a user-provided stylesheet
struct.N)r   r   xsltParseStylesheetUserr  s   &&  r   parseStylesheetUserstylesheet.parseStylesheetUser  s3     $;vvf00&A
r   c                t    VR8X  d   RpMVP                   p\        P                  ! V P                   V4       R# )zwparse a template content-model Clean-up the template
content from unwanted ignorable blank nodes and process
 xslt:textN)r   r   xsltParseTemplateContent)r   templtempl__os   && r   parseTemplateContentstylesheet.parseTemplateContent  s,     D=T(h++DGGX>r   c                v    VR8X  d   RpMVP                   p\        P                  ! V P                   WBV4      pV# r   )r   r   xsltGetCNsProp)r   r   r{   r   r   rv   s   &&&&  r   cNsPropstylesheet.cNsProp  s5     4<4g''	J
r   c                    VR8X  d   RpMVP                   pVR8X  d   RpMVP                   p\        P                  ! W0P                   V4       R# r  r  )r   rQ   r   ctxt__or   s   &&&  r   r  stylesheet.printErrorContext  s>    4<4g4<4g((''7Cr   c                t    VR8X  d   RpMVP                   p\        P                  ! WV P                   4      pV# )zSave the result @result obtained by applying the @style
stylesheet to an open file descriptor This does not close
 the descriptor.N)r   r   xsltSaveResultToFd)r   fdr  r  rv   s   &&&  r   saveResultToFdstylesheet.saveResultToFd  s3     T>t9 ))i++B477C
r   c                t    VR8X  d   RpMVP                   p\        P                  ! WV P                   4      pV# )z}Save the result @result obtained by applying the @style
stylesheet to an open FILE * I/O. This does not close the
 FILE @fileN)r   r   xsltSaveResultToFile)r   filer  r  rv   s   &&&  r   saveResultToFilestylesheet.saveResultToFile  s3     T>t9 ))i--dtwwG
r   c                v    VR8X  d   RpMVP                   p\        P                  ! WV P                   V4      pV# )zTSave the result @result obtained by applying the @style
stylesheet to a file or @URLN)r   r   xsltSaveResultToFilename)r   URLr  compressionr  rv   s   &&&&  r   saveResultToFilenamestylesheet.saveResultToFilename  s5     T>t9 ))i11#$'';W
r   r   r   ):r'   r(   r)   r*   r   r   r  r!  r%  r)  r-  r1  r5  r9  r=  rA  rE  rI  rM  rR  rV  rZ  r`  rd  rh  rm  rq  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-   s   @r   rA   rA   v  s    1
(


$

$$8D>3)-$)981
329(('9<5/$>$?D r   rA   i   i @  i   i   i   i   i   i    )}syshasattr
libxml2modr   rf   dlr   r   ImportErrorosunameosnamer   flagssetdlopenflagsr   r1   r<   rh   rl   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   rO   rA   XSLT_DEBUG_NONEXSLT_DEBUG_INITXSLT_DEBUG_STEPXSLT_DEBUG_STEPOUTXSLT_DEBUG_NEXTXSLT_DEBUG_STOPXSLT_DEBUG_CONTXSLT_DEBUG_RUNXSLT_DEBUG_RUN_RESTARTXSLT_DEBUG_QUITXSLT_ERROR_SEVERITY_ERRORXSLT_ERROR_SEVERITY_WARNINGXSLT_FUNC_COPYXSLT_FUNC_NUMBERXSLT_FUNC_APPLYIMPORTSXSLT_FUNC_CALLTEMPLATEXSLT_FUNC_APPLYTEMPLATESXSLT_FUNC_CHOOSEXSLT_FUNC_IFXSLT_FUNC_FOREACHXSLT_FUNC_DOCUMENTXSLT_FUNC_WITHPARAMXSLT_FUNC_PARAMXSLT_FUNC_SORTXSLT_FUNC_VARIABLEXSLT_FUNC_WHENXSLT_FUNC_EXTENSIONXSLT_FUNC_OTHERWISEXSLT_FUNC_FALLBACKXSLT_FUNC_MESSAGEXSLT_FUNC_INCLUDEXSLT_FUNC_ATTRSET XSLT_FUNC_LITERAL_RESULT_ELEMENT XSLT_FUNC_UNKOWN_FORWARDS_COMPATXSLT_FUNC_TEXTXSLT_FUNC_ELEMENTXSLT_FUNC_ATTRIBUTEXSLT_FUNC_COMMENTXSLT_FUNC_PIXSLT_FUNC_COPYOFXSLT_FUNC_VALUEOFXSLT_LOAD_STARTXSLT_LOAD_STYLESHEETXSLT_LOAD_DOCUMENTXSLT_OUTPUT_XMLXSLT_OUTPUT_HTMLXSLT_OUTPUT_TEXTXSLT_SECPREF_READ_FILEXSLT_SECPREF_WRITE_FILEXSLT_SECPREF_CREATE_DIRECTORYXSLT_SECPREF_READ_NETWORKXSLT_SECPREF_WRITE_NETWORKXSLT_STATE_OKXSLT_STATE_ERRORXSLT_STATE_STOPPEDXSLT_TRACE_ALLXSLT_TRACE_NONEXSLT_TRACE_COPY_TEXTXSLT_TRACE_CHOOSEXSLT_TRACE_VALUE_OFXSLT_TRACE_COMMENTXSLT_TRACE_TEMPLATESXSLT_TRACE_PROCESS_NODEXSLT_TRACE_IFXSLT_TRACE_CALL_TEMPLATEXSLT_TRACE_PIXSLT_TRACE_KEYSXSLT_TRACE_APPLY_TEMPLATEXSLT_TRACE_FOR_EACHXSLT_TRACE_APPLY_TEMPLATESXSLT_TRACE_COPY_OFXSLT_TRACE_VARIABLESXSLT_TRACE_COPYXSLT_TRACE_STRIP_SPACESrZ   r   r   <module>rH     s   s#$$,6 bX^	&&(E{X56*!!""5) 	   >/
!(


'
#


$
  
  !*

@A33 @AD57'' 5,]% ]~E EP                      #%  #%                 !                     O*  	XXZ]F Fg$5%"8#!	 ""5)	sL   G *I $H9 0I H6&.H%H%%H+'H6+H69II I!