Hi, I have a problem I couldn't find the way to solve. Sadly if it's not possible.

That's the code from XSLT extensions tutorial:

<xsl:template match="*">
    <my:python-extension>
        <some-content />
    </my:python-extension>
</xsl:template>

Everything's working cool, but I need a bit more:

<xsl:template match="*">
    <my:python-extension>
        <something><xsl:attribute name="test"><xsl:value-of select="111" /></xsl:attribute></something>
    </my:python-extension>
</xsl:template>

Let's assume that's my execute function's signature:

execute(self, context, self_node, input_node, output_parent)

When it's started by XSLT processor, self_node contains <something> tag with <xsl:attribute> and <xsl:value-of> tags inside it. What should I do to ask XSLT processor to evaluate it? I need to make self_node containing <something test="111" />.

And even more. What if my XSLT file looks like:

<xsl:template match="*">
    <my:python-extension>
        <something>
            <xsl:attribute name="test"><xsl:value-of select="111" /></xsl:attribute>
                <my:python-extension>
                    <xsl:attribute name="test2"><xsl:value-of select="222" /></xsl:attribute>      
                </my:python-extension>
        </something>
    </my:python-extension>
</xsl:template>

I need to have execute function called for deepest <my:python-extension> first, I need to evaluate <xsl:attribute> inside it to have <my:python-extension test2="222">... And to process the rest <my:python-extension> having the result of processed <my:python-extension test2="222"> and all XSLT instructions inside.

Is there a way to do it? Or maybe there is some other way to get such possibilities? Thanks.

--
Marat