我想使用xslt轉換xml,但重要的變量來自請求。 我有這樣的XQuery:將參數從xquery傳遞到xslt
let $transform := doc("projekt.xsl")
let $serialization-options := 'method=xml media-type=text/xml omit-xml-declaration=yes indent=no'
let $params :=
<parameters>
<param name="output.omit-xml-declaration" value="yes"/>
<param name="output.indent" value="yes"/>
<param name="output.media-type" value="text/html"/>
<param name="output.method" value="xhtml"/>
<param name="param.name" value="topicid" />
<param name="param.select" value="{$topid}"/>
</parameters>
return
transform:transform($doc, $transform, $params, $serialization-options)
文件project.xsl是在這裏:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="topicid"/>
<xsl:template match="/">
<xsl:value-of select="$topicid"/>
<xsl:apply-templates select="discussflow/message[@topic=$topicid]"/>
</xsl:template>
<xsl:template name="msg" match="//message">
..........
</xsl:template>
我想TU添加屬性 '選擇' 到:
<xsl:param name="topicid"/>
與在xquery中指定$ topid值。
我在這裏看到類似於java的東西:http://www.techrepublic.com/article/pass-parameters-to-xsl-templates-programmatically/1044596 但在xquery中它不想工作。
我使用存在分貝1.4.1
編輯:
轉換:轉換爲http://exist-db.org/xquery/transform命名空間
正式文件是在這裏:https://en.wikibooks.org/wiki/XQuery/XQuery_and_XSLT
transform:transform不是標準的XQuery功能,它是由您使用的XQuery實現提供的擴展。所以這將有助於告訴人們這是什麼實施。 –
namespace transform:transform來自http://exist-db.org/xquery/transform模塊官方文檔鏈接在這裏:https://en.wikibooks.org/wiki/XQuery/XQuery_and_XSLT – damik