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テンプレート:
<?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>
私だけclosefriendsを取得し、名前の値を取得することができません - >名s。名前と同じテーブルの名前を取得する必要があります。
あなたは<xsl:value-of select="../name" />
と親の名前を選択する必要が代わりに<xsl:value-of select="name" />
で、任意のhelp..thanks
'select =" ./ friend "ではなく、'。/ 'を削除して' select = "friend" 'を実行することができます。 '。/ closefriends'の場合も同様です。長い説明は、両方ともコンテキストノードに対して評価されますが、 '。/ friend'は' self :: node()/ child :: friend'の省略形であり、 'friend'は' child :: friend'の省略形です。特別な 'self :: node()'はここに何も追加しません。 –