{"library":"saxonche","title":"Saxon-HE Python Processor","description":"saxonche is the official Saxonica Python wheel package for the SaxonC-HE processor, an XML document processor. It provides APIs to run XSLT 3.0 transformations, XQuery 3.1 queries, XPath 3.1, and XML Schema validation. This library allows Python developers to leverage Saxon's robust and standards-compliant XML processing capabilities, including experimental support for draft 4.0 specifications.","language":"python","status":"active","last_verified":"Fri May 15","install":{"commands":["pip install saxonche"],"cli":null},"imports":["from saxonche import PySaxonProcessor"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom saxonche import PySaxonProcessor\n\n# Create dummy XML and XSLT files for the example\nxml_content = \"\"\"\n<doc>\n    <item>Value 1</item>\n    <item>Value 2</item>\n</doc>\n\"\"\"\nxstl_content = \"\"\"\n<xsl:stylesheet version=\"3.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">\n    <xsl:template match=\"doc\">\n        <output>\n            <xsl:apply-templates select=\"item\"/>\n        </output>\n    </xsl:template>\n    <xsl:template match=\"item\">\n        <transformed-item>\n            <xsl:value-of select=\".\"/>\n        </transformed-item>\n    </xsl:template>\n</xsl:stylesheet>\n\"\"\"\n\nwith open(\"input.xml\", \"w\") as f:\n    f.write(xml_content)\nwith open(\"transform.xsl\", \"w\") as f:\n    f.write(xstl_content)\n\ntry:\n    # Initialize Saxon processor (license=False for open-source HE edition)\n    with PySaxonProcessor(license=False) as proc:\n        print(f\"SaxonC Version: {proc.version()}\")\n\n        # Create XSLT 3.0 processor\n        xslt_processor = proc.new_xslt30_processor()\n\n        # Parse XML source document\n        input_document = proc.parse_xml(xml_file_name=\"input.xml\")\n        if not input_document:\n            print(f\"Error parsing XML: {proc.error_message()}\")\n            exit(1)\n\n        # Compile XSLT stylesheet\n        stylesheet = xslt_processor.compile_stylesheet(stylesheet_file=\"transform.xsl\")\n        if not stylesheet:\n            print(f\"Error compiling XSLT: {xslt_processor.error_message()}\")\n            exit(1)\n\n        # Perform transformation\n        output = stylesheet.transform_to_string(xdm_node=input_document)\n        if not output:\n            print(f\"Error during transformation: {xslt_processor.error_message()}\")\n            exit(1)\n\n        print(\"Transformation Output:\")\n        print(output)\n\nexcept Exception as e:\n    print(f\"An error occurred: {e}\")\nfinally:\n    # Clean up dummy files\n    if os.path.exists(\"input.xml\"):\n        os.remove(\"input.xml\")\n    if os.path.exists(\"transform.xsl\"):\n        os.remove(\"transform.xsl\")","lang":"python","description":"This example demonstrates how to perform an XSLT 3.0 transformation using `saxonche`. It initializes a `PySaxonProcessor`, parses an XML document, compiles an XSLT stylesheet, and then applies the transformation to produce an output string. It uses `license=False` to indicate the open-source Home Edition.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-15","installed_version":"12.9.0","pypi_latest":"12.9.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":50,"avg_install_s":2.5,"avg_import_s":0.02,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"saxonche","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"saxonche","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.3,"import_time_s":0.01,"mem_mb":1.1,"disk_size":"132M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"saxonche","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"saxonche","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.5,"import_time_s":0.04,"mem_mb":1.3,"disk_size":"134M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"saxonche","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"saxonche","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.3,"import_time_s":0.03,"mem_mb":1.1,"disk_size":"125M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"saxonche","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"saxonche","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.3,"import_time_s":0.03,"mem_mb":1.2,"disk_size":"125M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"saxonche","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"saxonche","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.9,"import_time_s":0.01,"mem_mb":1.1,"disk_size":"131M"}]}}