⚲
Project
Profile
Help
Tour this page
Frequent Planio Questions
Learning Resources
Lernen Sie alles über Aufgaben
Learn all about issues
Sign in
Register
Switch Planio account
Open in Planio App
Share current page
Search
:
Projects
All Projects
Help
Tour this page
Frequent Planio Questions
Learning Resources
Lernen Sie alles über Aufgaben
Learn all about issues
Sign in
Register
Switch Planio account
Open in Planio App
Share current page
Saxon
»
SaxonC
Overview
Issues
Calendar
Blog
Forums
Files
Download (1.45 KB)
Bug #6306
» saxonc_memory_issue.py
Vijay S
, 2023-12-26 14:21
from
saxonche
import
*
def
xslt_process
(
xsl_file_path
,
dom
):
with
(
PySaxonProcessor
()
as
proc
):
xslt_process
=
proc
.
new_xslt30_processor
()
document
=
proc
.
parse_xml
(
xml_text
=
dom
)
# Load the XML document
stylesheet
=
xslt_process
.
compile_stylesheet
(
stylesheet_file
=
xsl_file_path
)
# Compile the XSLT stylesheet
# Apply the transformation
input_xslt
=
stylesheet
.
transform_to_string
(
xdm_node
=
document
)
# cleaning string which we got from XSLT
input_xslt
=
''
.
join
(
input_xslt
.
split
(
"
\n
"
)).
replace
(
"</output1>"
,
''
)
input_xslt
=
input_xslt
.
replace
(
"<output1>"
,
''
).
strip
()
input_xslt
=
input_xslt
.
replace
(
'<?xml version="1.0" encoding="UTF-8"?>'
,
''
).
strip
()
input_xslt
=
[
x
.
strip
()
for
x
in
input_xslt
.
split
(
","
)]
print
(
input_xslt
)
xsl_str
=
'''<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='3.0'> <xsl:param name='values' select='(2,3,4)' /><xsl:output method='xml' indent='yes' /><xsl:template match='*'><output><xsl:value-of select='//person[1]'/><xsl:for-each select='$values' ><out><xsl:value-of select='. * 3'/></out></xsl:for-each></output></xsl:template></xsl:stylesheet>'''
with
open
(
'test.xsl'
,
"w"
)
as
xsl_file
:
xsl_file
.
write
(
xsl_str
.
strip
())
dom
=
"<doc><item>text1</item><item>text2</item><item>text3</item></doc>"
file
=
"test.xsl"
for
i
in
range
(
10000
):
xslt_process
(
file
,
dom
)
(1-1/1)
Loading...