XSL/XSLT (558レス)
前次1-
抽出解除 レス栞

92
(2): 02/06/26 15:12 ID:kyxI2iEY(1) AAS
<xsl:value-of select="preceding-sibling::foo[1]/a"/>
とかじゃだめなの。
というかもう少し具体的に。
94
(1): 02/06/26 15:51 ID:GX1WMLoK(2/2) AAS
>>92
うまく質問できていないみたいですいません。

<doc>
 <foo>
  <a>あ</a>
  <b>111<b>
 </foo>
 <foo>
  <a>あ</a>
  <b>123<b>
 </foo>
 <foo>
  <a>い</a>
  <b>324<b>
 </foo>
 ・
 ・
 ・
</doc>

というようなXMLをXSLでHTML変換する際に
foo/aの値でfooをソートして出力します。
その際aの値が「あ」から「い」に変わる時だけ
例えば<hr>を挿入したいと思っています。

使用しているのはIE6です。

ちょっとまだ良く分かってないところが多いので
うまく説明できてないかもしれませんが。

先ほど教えていただいた

<xsl:value-of select="preceding-sibling::foo[1]/a"/>

はエラーになってしまいます。(エラー自体が文字化け)
長くなってすいません。
95: 92 02/06/26 18:05 ID:vhsxGiH5(1) AAS
こうかな、、

<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="外部リンク:www.w3.org" version="1.0">

<xsl:key name="group" match="doc/foo" use="a" />

<xsl:template match="/">
<html><body><xsl:apply-templates/></body></html>
</xsl:template>

<xsl:template match="doc">
<xsl:for-each select="foo[count(. | key('group', a)[1]) = 1]">
<xsl:sort select="a" data-type="text" order="ascending"/>
<xsl:for-each select="key('group', a)">
<xsl:value-of select="a" />
<xsl:value-of select="b" />
<br />
</xsl:for-each>
<hr/>
</xsl:for-each>
</xsl:template>

</xsl:stylesheet>
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.025s