mirror of
https://gitlab.gnome.org/GNOME/libxslt
synced 2025-07-12 01:41:46 +03:00
fixup the script and rebuid the API cleanup provided accessors for a lot
* doc/libxslt-api.xml doc/libxslt-decl.txt doc/libxslt-refs.xml doc/parsedecl.py: fixup the script and rebuid the API * libxslt/extensions.h: cleanup * python/generator.py python/libxslt-python-api.xml python/libxslt.c python/libxsltclass.txt: provided accessors for a lot of the tructures involved in the transformation. Stylesheet and transformation python object don't free automatically the encapsulated object when deallocated. * python/tests/Makefile.am python/tests/basic.py python/tests/extfunc.py python/tests/pyxsltproc.py: updated the examples Daniel
This commit is contained in:
@ -6,7 +6,22 @@ import libxslt
|
||||
# Memory debug specific
|
||||
libxml2.debugMemory(1)
|
||||
|
||||
def f(str):
|
||||
nodeName = None
|
||||
|
||||
def f(ctx, str):
|
||||
global nodeName
|
||||
|
||||
#
|
||||
# Small check to verify the context is correcly accessed
|
||||
#
|
||||
try:
|
||||
pctxt = libxslt.xpathParserContext(_obj=ctx)
|
||||
ctxt = pctxt.context()
|
||||
tctxt = ctxt.transformContext()
|
||||
nodeName = tctxt.insertNode().name
|
||||
except:
|
||||
pass
|
||||
|
||||
import string
|
||||
return string.upper(str)
|
||||
|
||||
@ -27,7 +42,7 @@ styledoc = libxml2.parseDoc("""
|
||||
style = libxslt.parseStylesheetDoc(styledoc)
|
||||
doc = libxml2.parseDoc("<doc/>")
|
||||
result = style.applyStylesheet(doc, { "bar": "'success'" })
|
||||
style = None
|
||||
style.freeStylesheet()
|
||||
doc.freeDoc()
|
||||
|
||||
root = result.children
|
||||
@ -37,6 +52,8 @@ if root.name != "article":
|
||||
if root.content != "SUCCESS":
|
||||
print "Unexpected root node content, extension function failed"
|
||||
sys.exit(1)
|
||||
if nodeName != 'article':
|
||||
print "The function callback failed to access its context"
|
||||
|
||||
result.freeDoc()
|
||||
|
||||
|
Reference in New Issue
Block a user