2016-07-14 1 views
0

xsl-fo 템플릿 언어를 사용하여 데이터를 필터링하는 xml 파일이 있습니다. 내 XML은 :단일 fo : table-cell에 xsl-foreach 데이터를 표시하는 방법?

<root> 
<name>shyam</name> 
<friend> 
    <name>Abc</name> 
    <phNo>90909090909</phNo> 
    <age>32</age> 
    <closefriends> 
     <names>test123</names> 
    </closefriends> 
</friend> 
<friend> 
    <name>Xyz</name> 
    <phNo>32323232323</phNo> 
    <age>44</age> 
    <closefriends> 
     <names>test345</names> 
    </closefriends> 
</friend> 
</root> 

나는 이름과 이름 값을 가져오고 XSL-FO 템플릿의 일부 테이블 셀을 보여주고 싶었다.

내 XSL-FO 템플릿 : 만 closefriends을 받고, 이름 값을 가져올 수 없습니까

<?xml version="1.0" encoding="iso-8859-1"?> 

<fo:page-sequence master-reference="my-page"> 
     <fo:flow flow-name="xsl-region-body"> 
     <fo:block>Hello, 
      <xsl:value-of select="name" />!</fo:block> 
     <fo:block> 
      <fo:table> 
      <fo:table-body> 
       <fo:table-row> 
       <fo:table-cell border="solid 1px black" text-align="center" font-weight="bold"> 
        <fo:block> 
        No. 
        </fo:block> 
       </fo:table-cell> 
       <fo:table-cell border="solid 1px black" text-align="center" font-weight="bold"> 
        <fo:block> 
        Name 
        </fo:block> 
       </fo:table-cell> 
       <fo:table-cell border="solid 1px black" text-align="center" font-weight="bold"> 
        <fo:block> 
        Phone Number 
        </fo:block> 
       </fo:table-cell> 
       </fo:table-row> 
       <xsl:for-each select="./friend"> 
       <xsl:for-each select="./closefriends"> 
        <fo:table-row> 
        <fo:table-cell border="solid 1px black" text-align="center"> 
         <fo:block> 
         <xsl:value-of select="position()" /> 
         </fo:block> 
        </fo:table-cell> 
        <fo:table-cell border="solid 1px black" text-align="center"> 
         <fo:block> 
         <xsl:value-of select="name" /> 
         <xsl:value-of select="names" /> 
         </fo:block> 
        </fo:table-cell> 
        <fo:table-cell border="solid 1px black" text-align="center"> 
         <fo:block> 
         <xsl:value-of select="phNo" /> 
         </fo:block> 
        </fo:table-cell> 
        </fo:table-row> 
       </xsl:for-each> 
       </xsl:for-each> 
      </fo:table-body> 
      </fo:table> 
     </fo:block> 
     </fo:flow> 
    </fo:page-sequence> 
    </fo:root> 
</xsl:template> 

-> 이름 에스. 동일한 테이블에 이름과 이름을 가져야합니다.

<xsl:value-of select="../name" />과 부모의 이름을 선택해야 대신 <xsl:value-of select="name" />의 모든 help..thanks

+0

'select = "./ friend"대신에'. /'을 삭제하고'select = "friend"'만 할 수 있습니다. './closefriends'와 유사합니다. 두 가지 모두 문맥 노드를 기준으로 평가되지만,'./friend'는'self :: node()/child :: friend'의 줄임말이고'friend'는'child :: friend'의 줄임말입니다. 추가'self :: node()'는 여기에 아무 것도 추가하지 않습니다. –

답변

1

음에 대한 감사합니다.

+0

Martin 고마워 ... !!! – Maniram

관련 문제