2012-12-17 3 views
0

하나의 xml 형식을 다른 xml 형식으로 변환하는 데 xslt2.0을 사용하고 있습니다. 이것은 내 샘플 XML 문서입니다.내 템플릿과 함수를 xslt 2.0에서 순차적으로 호출하는 방법은 무엇입니까?

<w:document> 
    <w:body> 
      <w:p>Para1</w:p> 
      <w:p>Para2</w:p> 
      <w:p>Para3</w:p> 
      <w:p>Para4</w:p> 
    </w:body> 
</w:document> 

처음에이 그 XSLT 기능, 난 부호화 한 ... 내 XML의 format.so, 난 아래 XSLT 내 함수를 통해 각자 <w:p> 요소를 처리 그래서

<xsl:template match="document"> 
     <Document> 
    <xsl:sequence select="mf:group(body/p, 1,count(//w:body//w:p)-1)"/> 
     </Document>  
</xsl:template> 

인 ... 어떻게 ... 그 elements.It의가 제대로 작동

를 다시 포맷하는 그러나 지금, XML 형식은 아래처럼 재구성되어

<w:document> 
     <w:body> 
       <w:tbl><!--some text with children elements--></w:tbl> 
       <w:tbl><!--some text with children elements--></w:tbl> 
       <w:p>Para1</w:p> 
       <w:p>Para2</w:p> 
       <w:p>Para3</w:p> 
       <w:p>Para4</w:p> 
     </w:body> 
</w:document> 

그래서, 지금부터 내가 ..... 동일한 순서로 모두와 요소를 처리해야

내가 뭘하고 싶은 것은,

나는 내 템플릿이 제공 호출해야 다음 elemtents가 발생하는 경우 아래 ...

<xsl:template match="document"> 
    <Document> 
     <xsl:for-each select="w:tbl"> 
      <xsl:apply-templates select="w:tbl"> 
       </xsl:apply-templates> 
     </xsl:for-each> 
     <xsl:sequence select="mf:group(body/p, 1,count(//w:body//w:p)-1)"/> 
    </Document>  
</xsl:template> 

<xsl:template match="w:tbl"> 
<!--xslt code here --> 
</xsl:template> 

그러나

를위한 각 내가 변화를 시도 할 때 문이 ...

그래서

가이 문제를 나가 나를 안내 제발 ... 실행되지 않습니다

답변

1

는 나는 당신이 당신이 원하는 결과를 제시해주십시오 싶은 일을하지 않는 경우

<xsl:template match="document"> 
    <Document> 
     <xsl:for-each select="w:tbl"> 
      <xsl:apply-templates select="w:tbl"> 
       </xsl:apply-templates> 
     </xsl:for-each> 
     <xsl:sequence select="mf:group(body/p, 1,count(//w:body//w:p)-1)"/> 
    </Document>  
</xsl:template> 

는 단순히

<xsl:template match="document"> 
    <Document> 
     <xsl:apply-templates select="w:body/w:tbl"/> 
     <xsl:sequence select="mf:group(body/p, 1,count(//w:body//w:p)-1)"/> 
    </Document>  
</xsl:template> 

을 원하는 대신 생각합니다.

+0

@ Martin Honnen : 고마워 마틴 나는 이제 사무실에있다. 나는 그것을 확인한 다음 알릴 것이다. – Saravanan

+0

요소가 모두 코드에서 실행될 것이라고 생각하십니까? – Saravanan

+0

apply-templates를 제대로 설정하지 않았지만 일단 편집 할 경우 해당 템플릿을 'tbl'처리합니다. –