我正在使用XSLTJSON將我的XML轉換爲JSON。我的原始XML不是我想要的格式,所以我首先通過XSL樣式表來傳遞它,然後將該樣式表的輸出傳遞給XSLTJSON。將XSL模板輸出傳遞給XSL函數
現在我正在通過串聯調用變壓器來做到這一點。我想簡化它,只需要一次調用變壓器。有沒有辦法寫一個包含json.xsl的XSL樣式表,匹配「/」,做它的事情,然後將其輸出傳遞給json:generate()?
我正在使用XSLTJSON將我的XML轉換爲JSON。我的原始XML不是我想要的格式,所以我首先通過XSL樣式表來傳遞它,然後將該樣式表的輸出傳遞給XSLTJSON。將XSL模板輸出傳遞給XSL函數
現在我正在通過串聯調用變壓器來做到這一點。我想簡化它,只需要一次調用變壓器。有沒有辦法寫一個包含json.xsl的XSL樣式表,匹配「/」,做它的事情,然後將其輸出傳遞給json:generate()?
該樣式表:
<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>
我想先應用我的樣式表(它有一個匹配「/」的模板),然後從輸入的json.xsl將輸出傳遞給json:generate()。它看起來只是對你所擁有的一個小小的調整,但我不確定要改變什麼。我以前從未使用過模式。 – 2010-10-28 20:19:07
@Danny Cohn:你在使用XSLT 2.0還是XSLT 1.0版本? – 2010-10-28 20:33:43
我正在使用XSLT 2.0 – 2010-10-28 21:03:57
[XSLT - 參考以前的模板的輸出結果]的可能重複(http://stackoverflow.com/questions/12361371/xslt-referencing-the-output-result – 2014-02-04 03:50:43