English 中文(简体)
采用变量作为节选的一部分
原标题:Using a variable as part of a XPath selection

我期望使用一个变量作为XPath表达的一部分。

我的问题可能是ms子的 no子。 但不要把你的判决......改为......

I m 采用NET功能,装上内容文件,通过XML内容通过。 The @file results in an XML file.

页: 1

<control name="import" file="information.xml" node="r:container/r:group[@id= set01 ]/r:item[1]" />

国际空间法学会希望:

<xsl:variable name="document">
    <xsl:copy-of select="ext:getIncludedContent(@file)" />
</xsl:variable>

然后,我把这段话说成一个节点,以便我可以质疑该文件。

<xsl:variable name="preset-xml" select="msxsl:node-set($document)" />   

我的原始档案正像:

<container>
    <group id="set01">
        <item>value01</item>
        <item>value02</item>
        <item>value03</item>
    </group>
    <group id="set02">
        <item>value04</item>
        <item>value05</item>
    </group>                    
</container>

直到这一点为止。 我可以把来源档案作为XML。

我的问题是,在我试图从内容中用XPath的表述来质疑来文方档案的时候。

我尝试:

<xsl:value-of select="$preset-xml/@node" />

很显然,这并不奏效,因为它将“@node”作为装在XML中的直接儿童。

我尝试:

<xsl:variable name="node" select="@node" />
<xsl:value-of select="$preset-xml/$node" />

但它与第二个变量一样。

我尝试了编目(预支款-xml、/$/node),但最终仍然摘录整个文件。

我目前能够做到这一点的唯一途径是,在模板中写出充分的表述:

<xsl:value-of select="$preset-xml/r:container/r:group[@id= set01 ]/r:item[1]" />

正确带上“星号”

But that is then a hard coded solution. I want to develop a solution which can be manipulated from the content to suit any sort of imported content, with the parameters declared in the content file.

页: 1

问题回答

在异常低价竞标中,没有类似的特征。 尤其是,MS XSLT发动机在XSLT装载时,而不是在应用XML文件时,将XPath查询汇编成册。 原因有:它把代码(XSLT)与数据(投入XML)分开。

你试图通过混合编码和数据实现什么目标;你们是否确实需要从XML投入中任意表达出来? 举例来说,如果用户在@name上通过等于/*的,那么你就会把全部投入的XML文件的内容寄给产出,其中可能含有一些敏感数据。

如果你真需要做你描述的话,你可以写上你自己的。 XSLT延伸目标,接受文件根基和XPath query,并将后者适用于前者。 然后,你可以这样说:

<xsl:value-of select="myExtensionNs:apply-xpath($preset-xml, @node)"/>

您最初尝试的编号为:>concat($preset-xml, / ,$node)>, 编号为: < 编号>concat> / 编号为示意图功能。 你向它提供一些意见,并再次表示其 representation。 因此,>条形形形形形色(美元/xml, / 美元/条形)将回馈“条形”的字面值,其编号为:>美元-xml>/条形。 如果你试图写出必要的XPath query, >,看来更符合逻辑(脚注引文);但是,对结果的扼杀(例如: >>,看不出任何方法评估其价值;只能将其发送至产出。

一种可能的骗子是,称作“参数化”<编码>xsl:template,其中含有关键的选定比较部分,并评价其产出为示意图。

我也存在类似的问题(涉及任意属性价值的所有节点),我以这种方式解决了这一问题(btw:$sd = document(filename) ,因此,我装上了二级xml文档内容):

<xsl:template match="/">
  <xsl:variable name="string_cntsuccess">
    <xsl:for-each select="./Testcase">
      <xsl:variable name="tcname" select="@location"/>
      <xsl:for-each select="$sd//TestCase[@state= Passed ]">
        <xsl:call-template name="producedots">
          <xsl:with-param name="name" select="$tcname"/>
        </xsl:call-template>
      </xsl:for-each>
    </xsl:for-each>
  </xsl:variable>

  <xsl:variable name="cntsuccess" select="string-length($string_cntsuccess)"/>
</xsl:template>

<xsl:template name="producedots">
  <xsl:param name="name"/>
  <xsl:variable name="ename" select="@name"/>
  <xsl:if test="$name = $ename">
    <xsl:text>.</xsl:text>
  </xsl:if>
</xsl:template>




相关问题
When test hanging in an infinite loop

I m tokenising a string with XSLT 1.0 and trying to prevent empty strings from being recognised as tokens. Here s the entire function, based on XSLT Cookbook: <xsl:template name="tokenize"> ...

quick xslt for-each question

Let s say I have an XML document that has this: <keywords> <keyword>test</keyword> <keyword>test2</keyword> <keyword>test3</keyword> <keyword>test4</...

XSLT Transform XML with Namespaces

I m trying to transform some XML into HTML using XSLT. Problem: I can t get it to work. Can someone tell me what I m doing wrong? XML: <ArrayOfBrokerage xmlns:i="http://www.w3.org/2001/...

XSLT output to HTML

In my XSLT file, I have the following: <input type="button" value= <xsl:value-of select="name">> It s an error as it violates XML rule. What I actually want is having a value from an ...

Mangling IDs and References to IDs in XML

I m trying to compose xml elements into each other, and the problem I am having is when there s the same IDs. Basically what I need to do is mangle all the IDs in an xml file, as well as the ...

Sharepoint 2007 Data view Webpart custom parameters

I m sort of new to the custom parameters that can be setup on a DataView Webpart. There are 6 options: - None - Control - Cookie - Form - QueryString - Server Variable I think that None, Cookie and ...

热门标签