XSL/XSLTat PHP
XSL/XSLT - 暇つぶし2ch229:226 227 228
04/01/17 16:17
>>221
外部パラメータを与えるxmlを用意すれば、やりたい事をかなえてくれる

<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet version="1.0" encoding="UTF-8" type="text/xsl" href="page.xsl" ?>
<page index="50">
</page>


みたいな中身のないxmlを用意し、xslで <xsl:param name="index" select="/page/@index" /> をよませるのだ。
xslでは 220の <xsl:if test=" ( $index < position() ) and ( position() <= $index + 50 )"> を使う。

page.xml (中身あり) では<page index="0">、
page1.xml (中身なし) では<page index="50">、
page2.xml (中身なし) では<page index="100">、
page3.xml (中身なし) では<page index="150">、と書いておく。

page.xsl では <xsl:copy-of select="document( "page.xml" )/page/foo" /> みたいな、ドキュメントを指定した形で読み込む。
 ( select="/page/foo" では不可能。<xsl:template match="/page/foo"> も恐らく無理 )
おすすめは xsl:for-each

<xsl:template match="/page">
    <xsl:param name="index" select="/page/@index" />
    <xsl:for-each select="document( "page.xml" )/page/foo">
        <xsl:if test=" ( $index < position() ) and ( position() <= $index + 50 )">
            <xsl:copy-of select="current()" />
        </xsl:if>
    </xsl:for-each>
</xsl:template>

と、こんな感じではないかな。
ところどころ間違いがあるかもしれないが、その辺は勘弁してくれ


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch