Удалите родительский узел полностью, если дочерний элемент дублируется с дочерним элементом других родителей с помощью xslt 2.0 - PullRequest
0 голосов
/ 05 февраля 2019

Input xml - родительский узел. Блок повторяется трижды.Мне нужно полностью удалить дубликаты узлов, даже если это происходит более 7 раз в одном и том же xml без создания нового xml

<Blocks>
  <Block>
     <Name>Table</Name>
     <Value>wood</Value>
  </Block>
  <Block>
     <Name>Chair</Name>
     <Value>Plastic</Value>
  </Block>
  <Block>
     <Name>Table</Name>
     <Value>wood</Value>
  </Block>
  <Block>
     <Name>Table</Name>
     <Value>wood</Value>
  </Block>
</Blocks>

после выполнения:

<Blocks>
  <Block>
     <Name>Table</Name>
     <Value>wood</Value>
  </Block>
  <Block>
     <Name>Chair</Name>
     <Value>Plastic</Value>
  </Block>
</Blocks>

1 Ответ

0 голосов
/ 05 февраля 2019
 <xsl:template match="Blocks">
 <Blocks>
   <xsl:for-each-group select="Block" group-by="Name">
     <xsl:sequence select="."/>
   </xsl:for-each-group>
 </Blocks>

xslt 2.0

...