2017-04-13 1 views
0

의 값에 따라 첫 번째 노드 전에 내 XML은 다음과 같습니다 XSLT 삽입 노드 변수, 그래서 <Categorie> 태그의 값이 첫 번째 있는지 확인 XLST 스타일 시트가 필요합니다.는 아이

이 경우는 제 위의이 부분을 복사해야합니다 : 여기

 `<Article> 
     <Position>Title</Position> 
     <Titlename>Food</Titlename> 
     </Article>` 

내 시도 :

중요

내가 V1.0로 제한 해요 알고

<xsl:for-each select="Article"> 
    <xsl:if test="Position/Categorie = First()"> 
     <Article> 
      <Position><xsl:value-of Select ="Title"></Position> 
      <Titlename><xsl:value-of Select ="Categorie"></Titlename> 
     </Article> 
    </xsl:if> 


     <Article> 
      <Position><xsl:value-of Select ="Position"></Position> 
      <Categorie><xsl:value-of Select ="Categorie"></Categorie> 
      <ProductName><xsl:value-of Select ="ProductName"></ProductName> 
     </Article> 
</xsl:for-each> 
+0

당신이 말하는 "* 삽입 마지막 노드 후 노드 *"하지만 ** 의미 그룹의 첫 번째 노드 ** 전에, 당신을하지? –

답변

0

할 생각합니다 :

XSLT 1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> 
<xsl:strip-space elements="*"/> 

<xsl:template match="/Articles"> 
    <xsl:copy> 
     <xsl:for-each select="Article"> 
      <xsl:if test="not(Categorie=preceding-sibling::Article/Categorie)"> 
       <Article> 
        <Position>Title</Position> 
        <Titlename> 
         <xsl:value-of select="Categorie"/> 
        </Titlename> 
       </Article> 
      </xsl:if> 
      <xsl:copy-of select="."/> 
     </xsl:for-each>  
    </xsl:copy> 
</xsl:template> 

</xsl:stylesheet> 
+0

감사합니다 michael은 내가 찾고 있었던 것입니다. – Myru