Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml XSLT-编写名称模板并将xpath作为参数传递_Xml_Xslt_Xslt 2.0 - Fatal编程技术网

Xml XSLT-编写名称模板并将xpath作为参数传递

Xml XSLT-编写名称模板并将xpath作为参数传递,xml,xslt,xslt-2.0,Xml,Xslt,Xslt 2.0,我有一个xml,如下所示 <doc> <p c="1">para <style c="Bold">content 1</style> </p> <p c="1">para <style c="Bold">content 2</style> </p> <p c="1">para <style c="Bold">content 2</sty

我有一个xml,如下所示

<doc>
    <p c="1">para <style c="Bold">content 1</style> </p>
    <p c="1">para <style c="Bold">content 2</style> </p>
    <p c="1">para <style c="Bold">content 2</style> </p>
    <p c="1">para <style c="Bold">content 2</style> </p>
    <p c="1">para <style c="Bold">content 2</style> </p>
    <s></s>
</doc>

第1段内容

第2段内容

第2段内容

第2段内容

第2段内容

我的目标是编写一个名称模板来计算
节点的前向兄弟节点的数量,如果
节点出现,则显示该数量。 为此,我编写了以下xsl

<xsl:template name="myTemp">
        <xsl:param name="var" as="node()"/>
        <xsl:value-of select="count($var/preceding-sibling::p)"/>
    </xsl:template>

    <xsl:template match="s">
        <xsl:call-template name="myTemp">
            <xsl:with-param name="var" select="s"/>
        </xsl:call-template>
    </xsl:template>

但是它给了我一个空序列,在saxon中不允许作为参数$var的值

你能提出解决这个问题的建议吗


注意:有更简单的方法来计算
节点的兄弟节点数并打印。但是我需要的是编写一个名称模板,然后编写另一个模板并称之为名称模板。

在模板匹配
s
中,它是上下文节点,因此您希望
而不是

在模板匹配
s
中,它是上下文节点,因此您希望
而不是

在模板匹配
s
中,它是上下文节点,因此您希望
而不是

在模板匹配
s
中,它是上下文节点,因此您希望
而不是

“我的目标是编写一个名称模板来计算
节点的进动兄弟姐妹数”为什么不简单地使用
position()
函数?”我的目标是编写一个名称模板来计算
节点的进动兄弟姐妹数“为什么不简单地使用
position()
函数?”我的目标是编写一个名称模板来计算
节点的进动兄弟姐妹数“为什么不简单地使用
position()
函数?”我的目标是编写一个名称模板来计算
节点的进动兄弟姐妹数“为什么不简单地使用
position()
函数?”?