如何将输入参数传递给XSLT样式表? 我正在使用xsltproc,我想使用--stringparam <param> <value>作为参数,但我不知道如何访问XSLT中的参数。 有人能举个例子吗? 提前致谢。

===============>>#1 票数:4 已采纳

这是我正在使用的。 默认值部分是可选的。 你必须有一个

  <xsl:param name="yourParamname"/>

<?xml version="1.0"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <!-- default value -->
<xsl:variable name="defaultDeploymentMode">
    <xsl:text>test</xsl:text>
</xsl:variable>
<xsl:param name="deploymentMode" select="$defaultDeploymentMode"></xsl:param>



<xsl:template match="/">
    <data><xsl:value-of select="$deploymentMode"/>
           </data>
     </xsl:template>

===============>>#2 票数:3

如何将输入参数提供给xslt文件?

在XSLT中,任何 全局 参数xsl:param是XSLT样式表的顶部元素的子元素) 都可以由转换的发起者在外部指定其值

完成此外部参数设置的方式取决于实现,并且不同于一个XSLT处理器 - 阅读您正在使用的特定XSLT处理器的文档。

这是一个小例子

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:strip-space elements="*"/>

 <xsl:param name="pDeletePos" select="3"/>

 <xsl:template match="node()|@*">
     <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
     </xsl:copy>
 </xsl:template>

 <xsl:template match="num">
  <xsl:if test="not(position() = $pDeletePos)">
    <xsl:copy-of select="."/>
  </xsl:if>
 </xsl:template>
</xsl:stylesheet>

这里,名为pDeletePos的全局参数是必须删除的num元素的位置。

还有一个为此参数指定的default value (3)。 如果转换的启动器未指定pDeletePos参数,则将使用此值。

在此XML文档上应用上述转换时

<nums>
  <num>01</num>
  <num>02</num>
  <num>03</num>
  <num>04</num>
  <num>05</num>
  <num>06</num>
  <num>07</num>
  <num>08</num>
  <num>09</num>
  <num>10</num>
</nums>

如果pDeletePos的值在外部指定为5 ,则转换将产生以下结果:

<nums>
   <num>01</num>
   <num>02</num>
   <num>03</num>
   <num>04</num>
   <num>06</num>
   <num>07</num>
   <num>08</num>
   <num>09</num>
   <num>10</num>
</nums>

至于在外部设置参数,以下是在启动XslCompiledTransform XSLT处理器时如何在C#中完成此操作:

http://msdn.microsoft.com/en-us/library/system.xml.xsl.xsltargumentlist.addparam.aspx

  ask by anand translate from so

未解决问题?本站智能推荐:

1回复

有什么办法可以处理xslt中的多个输入xml?

XSLT是否可以完成以下工作? 意味着我将同时将源XML和MAP xml都加载到XSLT中。 在XSLT中,无需对值进行任何硬编码,我应该能够读取map xml并将其应用于源xml。 请只做那些需要的。 必须转换的源XML 地图XML 输出XML应为:[转换后]
1回复

xslt将xml值获取到输入文本框中

我无法将XML数据放入XSLT。 我正在使用literal return函数。 这是我的XML: 这是我尝试将xml数据转换为这些值的尝试 我的第二次尝试: 这就是生成的html:
1回复

如何接受用户输入来过滤XML文档? 在XSLT中

我目前有以下XSLT文件 而且我还有一个XML文档,它像这样: 我的问题:我想使用制作的按钮,以便当用户单击该按钮时,它会从文本框中获取用户的输入并过滤要显示的数据。 因此,如果用户输入文本框“ L”,它将仅显示以字母“ L”开头的公司。 目前,仅显示“ L”的公司很难编
1回复

XSLT可以使用返回的XML数据填充输入字段吗?

这可能是一个非常基本的问题,但我无法在这里或通过谷歌检查一小时后找到任何东西。 我有一个表单上有一大堆输入和一个搜索自动完成,它将调用所选记录的xml数据。 我打算使用XSLT转换此XML数据并为该客户端重现该表单的完整版本。 我是XSLT的新手,所以到目前为止我一直在试验较小的例子,但是
1回复

使用XSLT转换和输入,将用户所做的所有更改保存到初始XML

我有XML,并且使用XSLT转换来创建html输出。 内部转换我使用输入 在我的XML中,我声明了类型(布尔值,文本)和值作为节点的属性。 这项工作正常,输入的初始值是XML节点属性的值。 现在我想保存用户所做的任何更改。 因此,如果用户在输入字段中更改值“ exa
1回复

在XSL中添加单选输入以显示XML元素

如果选中了xsl <form>中的单选按钮,我想显示<tags>和<text> 。 这是我的xml : 这是我的xsl (带有HTML输出方法): 谢谢你的帮助 !
1回复

从输入XML到输出XML的XSL转换

我有一个输入XML,需要使用XSLT转换为另一个XML结构。 有人可以帮我吗。 我试图理解XSL教程,但是处理起来似乎并不复杂。 我需要将根节点转换为Entity,并且只要存在具有属性类型的节点,就需要将该节点的文本值映射到新的属性ID。 同样,此类节点的名称属性也需要重命名为loo
3回复

Xslt集合作为参数

您能帮我回答如何将数据收集作为参数放入xslt文件中吗? 谢谢。
1回复

XSLT中的转义输入

我有以下XSLT,它通过对给定数组上的键进行分组来格式化输出: 在这里您可以看到它的实际效果 。 它运作良好,但我现在在其名称中有带有方括号的键: ...这显然会破坏代码,因为括号是在正则表达式中保留的。 因此,应将方括号放掉。 我获得了使用functx:escape-fo
3回复

使用XSLT清理数据库输入

我一直在寻找一种方法来去除XML内容中的撇号('),因为我的DBMS抱怨收到这些内容。 我需要 成为: 通过查看此处描述的示例(应将'替换为'' ,我构建了以下脚本: 更新:它工作正常 谢谢你的帮助