2010-02-06 5 views
0

이 여기 내 XSLT 코드

<?xml version="1.0" encoding="UTF-8"?> 
<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:template match="xslTutorial"> 
    <xsl:apply-templates select="xslTutorial"/> 
</xsl:template> 

<xsl:template match="xslTutorial"> 
    <p> 
     SUMMERY:<xsl:value-of select="SECTION/SUMMARY"/> 
     <br> 
     <xsl:choose> 
      <xsl:when test="position()=2"> 
      DATA:<xsl:value-of select="SECTION/DATA"/> 
      </xsl:when> 
     </xsl:choose> 
     </br>   
     </p>  

</xsl:template> 
</xsl:stylesheet> 

되는 XML 코드 :

<?xml version="1.0"?> 
<?xml-stylesheet type="text/xsl" href="C:\Users\Semsema\Desktop\Day 3-XML\ex2.xslt"?> 
<xslTutorial> 
<SECTION> 
    <SUMMARY>I need a pen and some paper</SUMMARY> 
    <DATA>I need a pen.</DATA> 
    <DATA>I need some paper.</DATA> 
</SECTION> 
<SECTION> 
    <DATA>I need bread.</DATA> 
    <DATA>I need butter.</DATA> 
</SECTION> 
</xslTutorial> 

그리고 난 출력이 원하는 :

SUMMARY: I need a pen and some paper 

DATA: I need bread. 

DATA: I need butter. 

어떻게해야합니까? (xslt 코드에서 잘못된 점은 무엇입니까?)

+1

xml 입력 – stacker

+2

형식을 지정하십시오. 빵을 얻기 위해 해당 지역 상점에 가보는 것이 좋으며 여기서는 아무 것도 먹지 않는 것이 좋습니다. 질문을 정리하십시오. –

+0

BR 태그가 자동으로 닫히기 때문에 개폐식 BR 태그가 필요하지 않습니다. – scunliffe

답변

1

SECTION에서 apply-templates를 수행하지 않으므로 "position() = 2"을 테스트하려는 시도는 원하는 것을 제공하지 않습니다.

다시 말하지만, 이것이 출력인지 여부는 확실하지 않습니다.

<xsl:template match="xslTutorial"> 
    <xsl:apply-templates select="xslTutorial/SECTION"/> 
</xsl:template> 

<xsl:template match="xslTutorial/SECTION"> 
    <p> 
    <xsl:if test="SUMMARY"> 
    SUMMERY:<xsl:value-of select="SUMMARY"/> 
    </xsl:if> 
    <br/> 
    <xsl:choose> 
     <xsl:when test="position()=2"> 
      <xsl:foreach select="DATA"> 
      DATA:<xsl:value-of select="."/> 
      </xsl:foreach> 
     </xsl:when> 
    </xsl:choose> 
    <br/>   
    </p>  

</xsl:template> 
+2

글쎄요, 바로 그보다 훨씬 잘못되었습니다. 그러나 시작입니다. @sama, 당신은 정말로 당신이 여기 몇몇 아주 기본적인 것들을 놓치고 있기 때문에 당신이 따르고있는이 XSLT 튜토리얼에 더 많은주의를 기울일 필요가있다. – Welbog