Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
重复的后续同级节点中第一个出现节点的Xpath_Xpath_Xslt 1.0 - Fatal编程技术网

重复的后续同级节点中第一个出现节点的Xpath

重复的后续同级节点中第一个出现节点的Xpath,xpath,xslt-1.0,Xpath,Xslt 1.0,我想根据每个型号说明显示。我的上下文节点是根级别的 <covergrp> <producttype>A</producttype> <model_description>abc</model_description> <modelnumber>7621</modelnumber> <modelnumber>7622</modelnumber> <

我想根据每个型号说明显示
。我的上下文节点是根级别的

<covergrp>
    <producttype>A</producttype>
    <model_description>abc</model_description>
    <modelnumber>7621</modelnumber>
    <modelnumber>7622</modelnumber>
    <producttype>B</producttype>
    <model_description>XYZ</model_description>
    <modelnumber>7624</modelnumber>
    <modelnumber>7625</modelnumber>
    <producttype>C</producttype>
    <model_description>RBC</model_description>
    <modelnumber>7629</modelnumber>
    <modelnumber>7620</modelnumber>
</covergrp>

A.
abc
7621
7622
B
XYZ
7624
7625
C
红细胞
7629
7620

以下是一个示例,它使用一个键引用
型号描述
元素之后的
型号
元素:

<xsl:stylesheet
    version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="text"/>    

<xsl:key name="desc" match="modelnumber" use="generate-id(preceding-sibling::model_description[1])"/>

<xsl:template match="covergrp">
  <xsl:apply-templates select="model_description"/>
</xsl:template>

<xsl:template match="model_description">
  <xsl:value-of select="."/>
  <xsl:text>: </xsl:text>
  <xsl:apply-templates select="key('desc', generate-id())"/>
  <xsl:text>&#10;</xsl:text>
</xsl:template>

<xsl:template match="modelnumber">
  <xsl:if test="position() > 1">, </xsl:if>
  <xsl:value-of select="."/>
</xsl:template>

</xsl:stylesheet>
我选择了文本输出,但当然,同样的分组方法也可以应用于其他输出方法,如
html
xml

abc: 7621, 7622
XYZ: 7624, 7625
RBC: 7629, 7620