Что быстрее xsl: function или xsl: call-template - PullRequest
0 голосов
/ 26 апреля 2018

Я должен обрабатывать большие данные и путать между использованием xsl:function или xsl:call-template.Просто хочу узнать, что быстрее и целесообразнее использовать.

<xsl:variable name="tabledata">
    <xsl:copy-of select="table:table_process(.)"/>            
</xsl:variable>

или

<xsl:variable name="tabledata">
    <xsl:call-template name="table_process">
        <xsl:with-param name="table_data" select="."/>
    </xsl:call-template>
</xsl:variable>

1 Ответ

0 голосов
/ 26 апреля 2018

Я думаю, вам придется измерять производительность с конкретным процессором XSLT и определенным набором входных данных XML и кода XSLT.Я бы предпочел использовать <xsl:variable name="tabledata" select="table:table_process(.)"/> как наиболее компактную и элегантную нотацию XSLT 2, она также может работать лучше или, по крайней мере, потреблять меньше памяти, так как вам не нужно копировать результат вызова функции, а использовать ее напрямую.Все зависит от того, что именно делает функция и нужно ли копировать ее результат.

...