Передать вывод шаблона XSL в функцию XSL - PullRequest
1 голос
/ 28 октября 2010

Я использую XSLTJSON для преобразования моего XML в JSON. Мой необработанный XML не соответствует желаемому формату, поэтому я сначала пропускаю его через таблицу стилей XSL, чтобы очистить его, а затем передаю вывод этой таблицы стилей в XSLTJSON.

Прямо сейчас я делаю это, вызывая трансформаторы поочередно. Я хотел бы упростить его и иметь только один вызов для трансформатора необходимо. Есть ли способ написать таблицу стилей XSL, которая включает в себя json.xsl, соответствует «/», выполняет свою функцию и затем передает свой вывод в json: generate ()?

1 Ответ

0 голосов
/ 28 октября 2010

Эта таблица стилей:

<xsl:stylesheet version="2.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:json="http://json.org/">
    <xsl:import href="xml-to-json.xsl"/>
    <xsl:template match="/">
        <xsl:variable name="vFirstPass">
            <xsl:apply-templates/>
        </xsl:variable>
        <xsl:value-of select="json:generate($vFirstPass)"/>
    </xsl:template>
    <xsl:template match="node()|@*">
        <xsl:copy>
            <xsl:apply-templates select="node()|@*"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>
...