Project

Profile

Help

Bug #4327

closed

Error SXST0067: No transmission filter available for parent::(document-node()|element())

Added by Martin Honnen over 4 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Streaming
Sprint/Milestone:
-
Start date:
2019-10-01
Due date:
% Done:

0%

Estimated time:
Legacy ID:
Applies to branch:
9.9, trunk
Fix Committed on Branch:
9.9, trunk
Fixed in Maintenance Release:
Platforms:

Description

In an attempt to run a stylesheet trying to split an input documents into chunks using streaming and Saxon 9.9.1.5 EE the processing is executed but then throws an error

Error SXST0067: No transmission filter available for parent::(document-node()|element())

The code is rather simple other than trying to use xsl:copy select=".." inside of the positional for-each-group:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="#all" version="3.0">

    <xsl:param name="chunk-size" as="xs:integer" select="500"/>

    <xsl:mode streamable="yes"/>
    <xsl:output indent="yes"/>

    <xsl:template match="/*">
        <xsl:for-each-group select="*" group-adjacent="(position() - 1) idiv $chunk-size">
            <xsl:result-document href="split-{position()}.xml">
                <xsl:copy select="..">
                    <xsl:copy-of select="current-group()"/>
                </xsl:copy>
            </xsl:result-document>
        </xsl:for-each-group>
    </xsl:template>

</xsl:stylesheet>

Input can be any XML with at least two nesting levels.

Workaround for me that works is using <xsl:element name="{name(..)}" namespace="{namespace-uri(..)}"> instead of the xsl:copy-of.

Please register to edit this issue

Also available in: Atom PDF