我有 xsl 文件,我正在嘗試將 xsl 模板應(yīng)用于示例 json。它不是使用 json 鍵和值生成有效的 xml 文檔,而是使用編碼字符串生成格式錯(cuò)誤的 xml。下面是我運(yùn)行的命令。java -cp /Users/vn04pa5/.m2/repository/net/sf/saxon/Saxon-HE/9.9.1-1/Saxon-HE-9.9.1-1.jar net.sf.saxon.Transform -it:"initial-template" -xsl:"XBorderPOJSON.xsl" input='{ "purchaseOrderNo": "yvueBluWlI", "sourceMarketOrderNo": "ZONWqmCorD", "destinationMarketOrderNo": "xFildoWLxd"}'輸出<?xml version="1.0" encoding="UTF-8"?>yvueBluWlIZONWqmCorDxFildoWLxdXSL 文件:<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:param name="input"/> <xsl:template name="initial-template"> <!--<xsl:value-of select="$input"/>--> <!-- <xsl:variable name="json" select="unparsed-text($input)"/>--> <xsl:apply-templates select="json-to-xml($input)"/> <!-- <xsl:value-of select="$json"/>--></xsl:template></xsl:stylesheet>我是否必須使用專業(yè)版或 EE 版才能使其正常工作?我有產(chǎn)生相同輸出的 java 應(yīng)用程序。
1 回答

撒科打諢
TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊
該json-to-xml()
函數(shù)生成一個(gè) XML 節(jié)點(diǎn)樹。您正在將模板應(yīng)用到該樹的根,但您沒有任何模板規(guī)則來處理這些節(jié)點(diǎn)。因此使用默認(rèn)模板規(guī)則;默認(rèn)模板規(guī)則跳過元素和屬性節(jié)點(diǎn),僅輸出文本節(jié)點(diǎn)。添加<xsl:mode on-no-match="shallow-copy"/>
,或簡(jiǎn)單地使用xsl:copy-of
(或xsl:sequence
)代替xsl:apply-templates
。
添加回答
舉報(bào)
0/150
提交
取消