Жалоба на текст множественного элемента с текстом из нескольких элементов в xslt

#xslt-2.0

#xslt-2.0

Вопрос:

Входной xml является :

 <A>
    <B>
        <c>1</c>
        <c>2</c>
    </B>
    <D>
        <c>2</c>
        <c>3</c>
    </D>
</A>
  

Из приведенного выше xml я хочу, чтобы o / p как <c>2</c>

Ответ №1:

Неясно, каковы критерии для вывода этого единственного элемента. Вы хотите сгруппировать, а затем выводить только группы с более чем одним элементом? В таком случае

 <xsl:template match="/">
  <xsl:for-each-group select="descendant::c" group-by=".">
    <xsl:if test="current-group()[2]">
      <xsl:copy-of select="."/>
    </xsl:if>
  </xsl:for-each-group>
</xsl:template>
  

может быть достаточно.
Если нет, то объясните более подробно, почему выходные данные должны быть такими, как опубликовано.