XSL/XSLTat PHP
XSL/XSLT - 暇つぶし2ch528:nobodyさん
09/02/13 15:22:35 X83R2PAW
for-each使って、指定したノードが存在する回数分、テキストを配置していくプログラムが作りたいです。
fo:block-containerで直接的に画面内での座標指定をしているため、その時の周回の回数から座標をY方向に計算してズラしながら配置していきたいです。

CやJavaでは、forの構文では、この中でiを見ればいま何週目か?を参照できます。
for(int i=0;i<回数;i++){
~処理~
}

が、
XSLTのfor-each文(もしくはその他)で、これと同じように、内部から「現在何回目か」を見る方法ってありますか?
xsl:variableでは変数なのに代入はできないそうで困ってます。

529:nobodyさん
09/02/13 15:31:04
>>528
ループの中で何番目か調べるのはposition()

<xsl:for-each select="/parent/child">
<xsl:value-of select="position()" />番目のノードです
</xsl:for-each>
ただし最初が0でなく1なので要注意

530:nobodyさん
09/02/13 16:09:55 X83R2PAW
>>529

ありがとうございます。
ループに関しては思ったとおりのことができました。

XSLTでは、再代入できる変数のようなものを使うことは不可能ですか?
ループ以外でも、XSLT内で計算するために、蓄積的に数値を足していける変数を使いたいのですが。

531:nobodyさん
09/02/13 18:12:20
そういうのはcall-templateのパラメータを使う

532:nobodyさん
09/02/18 16:06:36 /wQ0UVxh
XSL:FOの構文で、HTMLで言うところの<hr>に相当するタグってありますか?

533:nobodyさん
09/04/17 04:58:20
自宅サーバ用に XSLT サーブレット作ったんで良かったら使ってください。
sourceforge.jp でソース公開してます。
URLリンク(www.koiroha.org)

534:nobodyさん
10/01/11 13:37:58 x+0DsgF/
保守

535:nobodyさん
10/01/14 11:50:46
良スレ上げ (∩´∀`)∩

536:nobodyさん
10/08/26 10:38:32 CJC7O04v
<良スレ:age />

既に前レスから半年、ここ、まだ誰かいるかなぁ

XSLTで、例えば元データにaltタグが無ければ変換をエラーにするといったことは出来るのでしょうか?
簡易html-lintとして使えると嬉しいっす

537:nobodyさん
10/08/26 13:46:34
そういうのはXMLバリデータの仕事なんじゃ

538:nobodyさん
12/02/29 07:12:13.10
質問です。

①のような構造のXMLがあり、
①に従うデータが②のような形できます。
②において、Aは親で、BはAの子、
CはBの子となっており、③のような形に変換したいです。

このときxsltではどのようにかけばよろしいでしょうか?

①②③のイメージは次レスで書きます。

539:nobodyさん
12/02/29 07:12:37.26
-----------①----------
<choice>
 <element type="A">
 <element type="B">
 <element type="C">
<choice>
-----------②-----------
<A>
<B>
<C>
<C>
<B>
<B>
<C>
-----------③-----------

<A>
 <B>
  <C></C>
  <C></C>
 </B>
 <B></B>
 <B>
  <C></C>
 </B>
</A>

540:nobodyさん
12/03/04 02:16:44.31
いまいち何がやりたいんだかよく分からないけど
XMLじゃないデータ (2) をXMLであるデータ (3) に変換したいってこと?
だったらそれはXSLTの仕事ではない

541:nobodyさん
12/09/13 16:58:26.02 2LiGXsgg
xmlのツリーに、いくつものbookDescriptionがあります。
<table>
<bookDescription>
<bookCode>
<price>100<price>
</bookCode>
  <title>X</title>
~~~
</bookDescription>
</table>
な感じで、bookDescriptionをpriceでascendingで表示したいと思います。
xsltで<xsl:sort select="bookCode/price" order="ascending"/>を入れるとエラーが出でしまいます。



542:nobodyさん
12/09/13 16:59:36.50 2LiGXsgg
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="URLリンク(www.w3.org)" version="1.0">
<xsl:template match="/">
<html>
<xsl:apply-templates />
</html>
</xsl:template>

<xsl:template match="table">
<body>
<h2>Test</h2>
<xsl:apply-templates/>
</body>
</xsl:template>


<xsl:template match="bookDescription">
<!--<xsl:sort select="bookCode/price" order="ascending"/>-->
</xsl:template>

<xsl:template match="bookDescription">
<table border="1">
<tr>
<td><xsl:value-of select="bookCode"/></td>
<td><xsl:value-of select="title"/></td>
</tr>

</table>
<br />
</xsl:template>
</xsl:stylesheet>
どうすればいいのでしょうか?

543:nobodyさん
12/09/14 01:56:17.60
にーとがひまつぶしに実験したので間違えてる可能性大ですが
こう書くとエラー無くそれらしく表示されました
<xsl:template match="table">
<body>
<h2>Test</h2>
<xsl:apply-templates>
<xsl:sort select="bookCode/price" order="ascending"/>
</xsl:apply-templates>
</body>
</xsl:template>

544:nobodyさん
12/09/14 06:24:33.02 B4mrueCy
>>543
無事できました。
ありがとうございます。

545:nobodyさん
14/01/15 12:22:25.95
XSL/XSLT

546:nobodyさん
14/01/22 10:21:56.60
XSL

547:nobodyさん
14/06/29 13:39:21.42 dCDFM+DD
◎2chスレッド勢いランキングサイトリスト◎

★+ニュース板
・ 2NN (推薦)
・ 2chTimes
★+ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
★+ニュース板その他
・ Desktop2ch
・ 記者別一覧
★全板
・ 全板縦断勢いランキング (推薦)
・ スレッドランキング総合ランキング
・ ログ速
★全板実況込み
・ 2勢 (推薦)
・ READ2CH
・ i-ikioi

※ 要タイトル名検索
※ 2chブラウザ併用推奨

548:nobodyさん
14/07/31 09:58:51.14
ぬるぽ


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