⚲
Project
Profile
Help
Tour this page
Frequent Planio Questions
Learning Resources
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
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...