Ich habe eine XML-Datei, um die Daten mit XSL-FO Templating Sprache zu filtern. Meine XML:Wie zeigen Sie die xsl-foreach-Daten auf einzelne fo: Tisch-Zelle?
<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>
Ich wollte den Namen und die Namen Werte holen und zeigen Sie es auf dem einige Tisch-Zelle in xsl-fo-Vorlage.
Meine XSL-FO-Vorlage:
<?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>
vermag ich nicht den Namen Wert zu holen, nur closefriends bekommen -> Name s. Müssen Sie den Namen und Namen auf der gleichen Tabelle td bekommen.
für alles help..thanks Appreciate
Anstelle von 'select =" ./ friend "' können Sie die '. /' Löschen und einfach 'select =" friend "' auswählen. Ähnliches für './Closefriends'. Die lange Erklärung ist, dass beide relativ zum Context-Knoten ausgewertet werden, aber './Friend' ist eine Abkürzung für' self :: node()/child :: friend' und 'friend' ist eine Abkürzung für' child :: friend'. Der zusätzliche 'self :: node()' fügt hier nichts hinzu. –