XSL/XSLT (558レス)
1-

1
(2): 名無しさん@お腹いっぱい。 01/09/05 10:49 ID:dYMWGvtU(1/2) AAS
語ろう。ていうか教えて。
2
(2): 名無しさん@お腹いっぱい。 01/09/05 10:50 ID:dYMWGvtU(2/2) AAS
XSLT文書の実行時書き換えってどうやるんでしょう。涙。
3: 名無しさん@お腹いっぱい。 01/09/05 12:46 ID:rFbk2SFA(1) AAS
DOMでXSLTを生成すりゃいいんでないの?
4: 名無しさん@お腹いっぱい。 01/09/05 19:00 ID:.fOk25kQ(1) AAS
XSLTで読み書き可能なグローバル変数を使うにはどうしたらいいの?

<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="外部リンク:www.w3.org" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="." version="1.0" exclude-result-prefixes="msxsl user">
<xsl:output method="html" version="4.0" encoding="Shift_JIS"/>

<xsl:variable name="default_name"/>

<xsl:template match="/root">
<html lang="ja">
<head>
<title><xsl:value-of select="title"/></title>
</head>
<body>
<h1><xsl:value-of select="title"/></h1>
<xsl:apply-templates select="book" />
</body>
</html>
</xsl:template>

<xsl:template match="talk">
<xsl:if test="@name!=''">
<xsl:value-of select="@name"/>「
</xsl:if>
<xsl:if test="@name=''">
<xsl:value-of select="$default_name"/>「
</xsl:if>
</xsl:template>

<xsl:template match="defaultname">
<xsl:variable name="default_name" select="."/>
</xsl:template>

こんな感じで書いてるんだが、変数の書き換えができないみたい。
環境は MSXML3.0SP1 + MSXSL.exe
5
(1): 名無しさん@お腹いっぱい。 01/09/06 03:57 ID:cEL2v6yw(1) AAS
「読み書き可能なグローバル変数」の直接の解では無いし
元の XML ややりたい事がはっきりしないので的外れかもしれんが

<xsl:variable name="default_name"/>

のところを

<xsl:variable name="default_name">
<xsl:value-of select="/root/defaultname" />
</xsl:variable>

とかにするだけではダメなのか?
6: 名無しさん@お腹いっぱい。 01/09/06 23:44 ID:??? AAS
>>5
ありがとう。
defaultname要素の場所が固定なら、それでいいかも知れない。

とりあえずはスクリプトを使っておくよ…。
さりげなく下逸マンセー
7
(1): 名無しさん@お腹いっぱい。 01/09/10 14:21 ID:CV8.18JQ(1) AAS
XSLTの文法チェッカってあり?
8: 名無しさん@お腹いっぱい。 01/09/11 12:11 ID:liJMw8bE(1/3) AAS
>>2 XMLパーフェクトブック になんか書いてあるみたいだよ?
目次しかしらん。
誰か読んでない?
9
(6): 名無しさん@お腹いっぱい。 01/09/11 14:24 ID:liJMw8bE(2/3) AAS
XSLTで、たくさんある要素をテーブルにしたいんだけど
どう書けばいいんだろう???
<datalist>
<data>a</data>
<data>b</data>
<data>c</data>
<data>d</data>
<data>e</data>
<data>f</data>
</datalist>

a b c
d e f
という表にするイメージ。
10: 名無しさん@お腹いっぱい。 01/09/11 14:30 ID:??? AAS
AA省
11
(1): 名無しさん@お腹いっぱい。 01/09/11 15:05 ID:liJMw8bE(3/3) AAS
あーごみんなさい。HTMLのtable要素です。
<table>
<tr><td>a</td><td>b</td><td>c</td></tr>
<tr><td>d</td><td>e</td><td>f</td></tr>
</table>
にしたいのです。
12
(1): 名無しさん@お腹いっぱい。 01/09/13 14:48 ID:botIizDw(1) AAS
<xsl:for-each select="datalist/data">
<xsl:if test="position() mod 3 = 0"><tr></xsl:if>
<td>…</td>
<xsl:if test="position() mod 3 = 0"></tr></xsl:if>
</xsl:for-each>
のようにやってみたのですが、
(1)<td>〜</td><td>〜</td><tr><td>〜</td></tr>の順に出力される
(2)<tr>が<tr>と出力されるためタグとして機能しない
という状態になっています。かなりしょんぼりしています。
13: 9 01/09/13 14:51 ID:??? AAS
>>9=>>11-12です
14
(1): 名無しさん@お腹いっぱい。 01/09/14 21:41 ID:LySoniQw(1/2) AAS
XSLTの文法チェッカってありますか?
15: 名無しさん@お腹いっぱい。 01/09/14 21:44 ID:LySoniQw(2/2) AAS
あ。>>7さんとだぶってた。すんません。
16: 名無しさん@お腹いっぱい。 01/09/19 19:09 ID:xIy8M15c(1) AAS
<xsl:for-each select=".." >
...
</xsl:for-each>
の中で、<xsl:value-of select="javascript:test(.)">
などとやった場合、
function test( arg )
に渡される引数argを文字列として扱いたいんですが、
どうにもうまく行きません。どなたか分かる方いらっしゃいますか?
17: 独学XML 01/10/25 14:59 ID:9/96eztC(1) AAS
ふーん
18
(3): 乙葉 01/10/27 19:23 ID:F9QxoFrS(1) AAS
9に便乗なんだけど、9のXMLを <xsl:for-each> を使わずに
1 a
2 b
3 c
4 d
5 e
6 f
のように出力することってできます?<xsl:variable>をインクリメントさせながら
変換していくようなイメージ…。for-eachのカウンタを変数としてとれるならそれで
もいいんですけど…。
19: 名無しさん@お腹いっぱい。 01/11/04 04:55 ID:90OzPiaz(1) AAS
>>18

<xsl:for-each> と <xsl:number> を組み合わせれば良いのでは?

for-eachを使わない方法なんて考えられないでしょ
<data>が6個固定とかならいざ知らず
20: 名無しさん@お腹いっぱい。 01/11/09 01:11 ID:??? AAS
>>18
<OL>
<LI>a</LI>
<LI>  (以下略.............ワラ
21
(4): 名無しさん@お腹いっぱい。 01/12/07 15:09 ID:7lK3vz6F(1) AAS
>>9
かなーり遅レスですがこんな感じじゃだめですか?
<table border="1">
<tr>
<xsl:for-each select="datalist/data">
<td><xsl:value-of select="..."/><br/></td>
<xsl:if test="position() mod 3 = 0"></tr><tr></xsl:if>
</xsl:for-each>
</tr>
</table>
22
(1): 名無しさん@お腹いっぱい。 01/12/08 21:23 ID:Tssb4f+E(1) AAS
他鯖にあるXMLファイルを取り込んで表示とかはできるの?
23: 9 01/12/08 21:41 ID:??? AAS
>>21 さんきゅうです
24: 名無しさん@お腹いっぱい。 01/12/20 15:56 ID:04pPLyWb(1) AAS
>>22
document()関数を使えばできそげ。
外部リンク[htm]:www.infoteria.com

URI指定で他鯖を指定すれば良いんでないの?

ところでdocument()関数の説明に第2引数云々ってあるんだけど、
引数を2つ書くとinvalid number of function argumentsっていう
エラーがでてしまって鬱。
25: 名無しさん@お腹いっぱい。 01/12/27 18:06 ID:2WckNNJE(1) AAS
XSLTの仕様を見ていて湧いた素朴な疑問なんですが…
Syntax Summaryの属性で、{}がついてるのとついていないのの
違いって何なのでしょう???

たとえば↓のqnameと{ qname }です
<xsl:apply-templates
select = node-set-expression
mode = qname>
<!-- Content: (xsl:sort | xsl:with-param)* -->
</xsl:apply-templates>

<xsl:attribute
name = { qname }
namespace = { uri-reference }>
<!-- Content: template -->
</xsl:attribute>
26
(1): 名無しさん@お腹いっぱい。 02/01/22 17:26 ID:kIM5fYXv(1) AAS
HTMLを出力するXSLTの中にJavaScriptを書いているのですが、
スクリプトの中で、"<"を使うにはどうしたら良いのでしょう?
&gt;や&lt;を使うと、そのまま出力されてしまい実行できません。
<[CDATA[ 〜 ]]>で囲んでも同じ感じです。
アイディアきぼんぬ、です。

可能なところは、!= で逃げているのですが、やはり大小比較は必要なのです。
27: 26 02/01/22 17:41 ID:s+GnOL1u(1) AAS
>>26 すんまそん。<xsl:text>でできましたでやんす。
28
(1): 助けてー 02/01/22 22:03 ID:IcXQR5Jq(1) AAS
XML+XSLTでSVGを書き出し、Adobe SVGViewerで出力したいのですが
表示できません。
29: 名無しさん@お腹いっぱい。 02/01/23 00:21 ID:??? AAS
>>28
XML+XSLT→SVGの変換は何使ってやるの? IEとかmozilaとか?
30
(3): 助けてー 02/01/23 00:59 ID:aDpAhdJs(1) AAS
あ、ごめんなさい。書き忘れていました。
Apache+Jakarta-tomcat+cocoonです。。
31: 名無しさん@お腹いっぱい。 02/01/23 01:19 ID:??? AAS
>>30
image/svg+xmlとして認識されていないのでは?
ていうか認識させられるのかしらん。
(namespaceの指定だけでどうにかできるのかな…ようわからん)
32
(1): 名無しさん@お腹いっぱい。 02/01/24 09:53 ID:CFRaDXx6(1) AAS
AA省
33: 名無しさん@お腹いっぱい。 02/01/28 11:04 ID:??? AAS
>>32
> うちのXSLTプロセッサだと >>21 みたいなのは怒られるんだけど
> (<tr>と<xsl:if>が対応してないから)、大丈夫なのもあるのかな?

あるわけないよ。XMLじゃないもん、それ。
34: 30 02/01/29 08:17 ID:UyexUS1t(1) AAS
>31
image/svg+xml指定してもだめでした。
なんどやってもAdobeのビューアーで表示できなかったんだけど
荒業でぬけることができました。

xml(+xslt→svg)をsmilのドキュメントに
<img src="target.xml">
という感じでうめこみRealPlayerでsmilを読み込ませると
svgが表示サレマした。うーん‥
35: 名無しさん@お腹いっぱい。 02/02/02 23:39 ID:KwUwsoRo(1) AAS
XSLTで遊んでる好例ハケーン→ 外部リンク:moso.borogrammers.net
36: 名無しさん@お腹いっぱい。 02/02/21 18:16 ID:a4ipQQMG(1/2) AAS
<xsl:choose>
 <xsl:when test="...">
  <xsl:variable name="foo" select="..."/>
 </xsl:when>
 <xsl:otherwise>
  <xsl:variable name="foo" select="..."/>
 </xsl:otherwise>
</xsl:choose>
<xsl:value-of select="$foo"/>

で、最後の行、fooなんて変数しらねえYO!と怒られるのが不満なのは漏れだけですか?
xsl:value-of 自体を場合わけすりゃいいのはわかりますけど、なんどもそういう
場合わけをしなければならない場合はウツなんですけども…。

みなさんどうしてるか教えてYO
37: 名無しさん@お腹いっぱい。 02/02/21 18:19 ID:a4ipQQMG(2/2) AAS
あああああ

テンプレート分けて xsl:when 内で xsl:call-template すりゃ済む話か…
逝ってきます…………
38
(12): 02/03/08 18:28 ID:EI/igJgK(1) AAS
スレ違い覚悟。

apache + tomcat + 横浜ベイキットCocoon にて XSL:FO 運用を目指してます。
フォント埋め込みになっちゃうんだけど、外字を表示させるにはどうしたらいいんでしょ。
39
(1): 02/03/09 21:16 ID:gH82xLKm(1) AAS
>>38
横浜ベイキットCocoonってCocoon1のことかなぁ?
ApacheCocoon2なら少しは分かるかも知れんけど
そっちの話でもいい?
40
(1): 02/03/11 09:34 ID:ktAR11by(1) AAS
>>39
本当は Cocoon1.82 の話がいいんですが
やり方わかれば Cocoon2 に移行しても問題ないですので
ご教授よろしくお願いします。
41
(1): 02/03/14 14:42 ID:U7MOt75j(1) AAS
ところで Cocoon2 って日本語対応してるの?
42
(11): 02/03/16 12:29 ID:aNCStdKB(1) AAS
>>41
対応してるよん。
バージョン2.0.1の時点ではリクエストパラメータの処理に
問題がありますが、2.0.2で改善されます。

>>40
TTEditなんかで作ったフォントを
使いたいということでよろしいかな?

まずFOP単独で出力できないと話が進まないので
FOPの最新版バイナリを落してきてください。
外部リンク:xml.apache.org
43: 38 02/03/17 21:51 ID:Xcs9LUc9(1/2) AAS
>>42
まさしくその通りです<TTEdit

一応落として マバイットさんとこみたく インストールしてみました。
44
(1): 38 02/03/17 21:54 ID:Xcs9LUc9(2/2) AAS
↑当然ながら Cocoon2 最新版までです
45
(1): 42 02/03/19 07:45 ID:Vm7v8Ppz(1) AAS
>>44
すでに外字は作成済みですかな?
TTEditの外字作成機能で作ったものではなくて、
UNICODEのE000などの外字領域に直接フォントを作成した
ttfファイルが必要なのですが。
46
(1): qqq< 02/03/19 08:43 ID:??? AAS
asd
47
(1): 38 02/03/19 09:55 ID:ENr4RQ8P(1) AAS
TTEditの質問になってしまうかもしれないのですが
Windowsについてくるフォント(MSゴシックとか)だと
外字領域に直接フォント作れるけど
他の市販モノだと「・」となっていじれないんですよねぇ。
そういったプロテクトはずす方法知ってます?
48
(1): 42 02/03/20 20:14 ID:VQ4jw/To(1) AAS
>>47
外字領域書き込み可能にしたTTEDITで
新規のフォントを作って、
そこに市販のフォントを一括コピーしたら
出来るかも知れんです。

とりあえず入手した
fop-0.20.3-bin.tar.gz
を適当な場所に解凍してください。
OSはLinuxでよいですか?
49
(1): 38 02/03/22 00:11 ID:nXgMXn31(1) AAS
>>48
なるほど。
一応 fop解凍しました。
OS は TurboLinuxServer でっす。
50
(1): 42 02/03/23 00:22 ID:KjUoYuvr(1) AAS
>>49
外字領域に文字を作ったフォントを用意しておいてください。
あとはFOPをインストールしたディレクトリ(fop.shがある場所)に
移動して

java -cp build/fop.sh:lib/xerces-1.2.3.jar org.apache.fop.fonts.apps.TTFReader フォントファイル 出力ファイル.xml

としてやります。

例えばフリーの東風ゴシックを流用して
x-kochi-gothic.ttfというファイルを作ったとします。
/usr/local/fopにfopがあり、
/usr/local/fop/jaにフォントファイルを置いた場合は
次のようにします。

cd /usr/local/fop
java -cp build/fop.jar:lib/xerces-1.2.3.jar org.apache.fop.fonts.apps.TTFReader ja/x-kochi-gothic.ttf ja/x-kochi-gothic.ttf.xml

とりあえず以上の方法で、ちゃんと出力ファイルが出来るか
試してみてください。
51: 38 02/03/25 11:23 ID:XPZyIH2e(1) AAS
うおー出た出たすげー。
説明ありがとうございます。
これで世間に顔向けできます。
52
(1): 38 02/03/25 20:12 ID:moXJH3iy(1) AAS
というわけで、一応出力ファイル
(これがメトリクスファイル?)
が出力されました。

この後は如何に。。。
53: 42 02/03/27 06:14 ID:7X2Z09vV(1) AAS
>>52
さいです。メトリクスファイルです。

次にFOPの設定ファイルを作ります。
名前は何でもよいですが、例えば
/usr/local/fop/ja/config.xml
のようにするのがよいと思われます。

設定ファイルの内容は以下のようにします。

<configuration>
<fonts>
<font metrics-file="/usr/local/fop/ja/x-kochi-gothic.ttf.xml"
kerning="yes"
embed-file="/usr/local/fop/ja/x-kochi-gothic.ttf">
<font-triplet name="Gothic" style="normal" weight="normal"/>
</font>
</fonts>
</configuration>

この例はx-koichi-gothic.ttfをGothicというフォント名で使えるようにしてます。ttfとメトリクスの名前は実際につかうものに書き換えてください。

次回はいよいよPDFを出力します...
54: 38 02/03/27 17:54 ID:MgQyiA49(1) AAS
なるほろ。
コピー&ペーストで設定ファイル作りました。

とうとうPDF出力ですか ニヤリ
55: 42 02/03/30 13:59 ID:u2FWmlwu(1/3) AAS
XSL-FOに外字を埋め込む時は、&#を使って文字コードを
UNICODEで指定してやります。
例えばE000に文字を定義したならとします。
次のサンプルをsample.foという名前で保存してください。

で、あとは
./fop.sh -c 設定ファイル FOファイル PDFファイル
としてやればPDFが出てきます。

例えば
./fop.sh -c ja/config.xml sample.fo sample.pdf
として、出てきたPDFをWindowsのアクロバットリーダーで
開いたら、ちゃんと外字が出るはずです。
56: サンプルだよん 02/03/30 14:00 ID:u2FWmlwu(2/3) AAS
<?xml version="1.0" encoding="EUC-JP"?>

<fo:root xmlns:fo="外部リンク:www.w3.org">
<fo:layout-master-set>
<fo:simple-page-master master-name="simple"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body margin-top="3cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>
</fo:layout-master-set>

<fo:page-sequence master-name="simple">
<fo:flow flow-name="xsl-region-body">
<fo:block font-size="24pt"
font-family="Mincho">
外字だよん→
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
57: 42 02/03/30 14:03 ID:u2FWmlwu(3/3) AAS
2chだと勝手に文字が変換されるようですな。

外字だよん→・

の部分は

外字だよん→&#xE000

&はもちろん半角ね
です。
58: 38 02/04/02 19:43 ID:W7Q/zpoW(1) AAS
おーおー
確かにPDF出力できました。

さて、次は Cocoon2 連携ですな。
59: 42 02/04/03 22:35 ID:pbEHoyE1(1) AAS
3/25にリリースされたCocoon2.0.2を試してみましたが、
Cocoonのバグのためにフォントが設定できませんでした。

今、修正版を準備してます。
明日にでもうpするので、しばし待ってください。
60: あぼーん [あぼーん] AAS
あぼーん
61: 42 02/04/04 21:42 ID:b//D81ae(1) AAS
とりあえずうpしたので
下の物を落としてきてください
外部リンク[tgz]:218.130.228.56:4040
62: 38 02/04/05 09:34 ID:gSye2Xnn(1) AAS
落とすは落としました。
単に解凍すればいいのかな?
63: 42 02/04/06 14:30 ID:XfqBDhEm(1) AAS
とりあえず、
まだ入れてなければJDK1.4とTomcat4.0.3LEを
入れておいてください。
64: 38 02/04/06 21:21 ID:ECdvWQTo(1) AAS
tomcat は 3.x ではなく 4.x なんですね。
了解しました。
65
(1): 02/04/06 22:21 ID:p5+bp4EQ(1) AAS
JDK1.4でCocoon2を使えますか?
Cocoon2のソース取って来てビルドかけても
ビルド通らないんで、妥協してJDK1.3使ってるんですが。
66: 42 02/04/07 09:11 ID:aptyKfg7(1) AAS
以下のJDK1.4対応版Tomcatで動作を確認してます。
外部リンク[gz]:jakarta.apache.org
Cocoonはバイナリ版でも動きました。

tomcatを/usr/localあたりに解凍して、
c2.tgzを展開したら出てくるc2フォルダを
tomcatのwebappフォルダの中に置いてください。
さらに、c2/WEB-INF/lib/batik-all-1.5b1.jarを
tomcatのcommon/libにコピーしてください
tomcatの起動はXWindow内でするか、
Xvfb使ってください。
これで外部リンク:localhost:8080
にアクセスできるはずです。
67: 65 02/04/10 21:49 ID:??? AAS
どうも、65です。
LE板じゃないtomcat使ってたのが動かない原因でした。
失礼しました。
68: 38 02/04/16 13:13 ID:BXQRKCQc(1) AAS
かちゅ〜しゃであぼーんされたと表示されたので
最後の最後でとがっかりしてましたが、ブラウザで
見たら、最終動作確認まで書き込みされていてほっとしました。

早速試してみます。
69: 02/04/19 00:59 ID:CkxCgoEa(1) AAS
中途半端な手続き言語XSLTはいらん
仕様から廃止しろ
70: 02/04/23 22:43 ID:CN3t/tua(1/2) AAS
ってか、
apache1.24 + tomcat3.2.4 + cocoon2.0.2 の
インストールがうまくいかん!

どうして tomcat 立ち上げると core 吐いて落ちるんじゃー
71: 02/04/23 22:44 ID:CN3t/tua(2/2) AAS
↑いやん
× 1.24
○ 1.3.24
72
(1): 02/05/22 16:48 ID:??? AAS
XSLTで複数のキーについてソートしたい場合はどうすればいいのでしょうか?

SQLだと、
select foo, bar from tee order by foo, bar
というように書けますけど、XSLTだと可能なのでしょうか?
73: 72 02/05/24 12:47 ID:??? AAS
>72
<xsl:sort select="foo"/>
<xsl:sort select="bar"/>
でできました。
74: Name_Not_Found 02/05/29 14:44 ID:FW6HquND(1) AAS
もういいかげん、XSL と XSLT をいっしょに扱うことに無理がある

XSLT は XTransform とかに改名すれ
75
(2): non 02/05/29 15:16 ID:8Y6vpIWK(1) AAS
COCOON2にて日本語を利用可にする
設定方法、設定ファイル等
教えてください。
76
(2): tachan 02/05/30 17:53 ID:2EIuRR3F(1) AAS
COCOON2にてXSPを利用しようと思います。

ここで自分で作成したCLASSにCLASSPATHを通すには
どうしたらよいのでしょうか?

XSPのコンパイルの時点でjava.lang.NoClassDefFoundError
となります。

sitemap.xmapなのかcocoon.xconfなのかわかりません。
77
(2): 02/05/30 18:29 ID:??? AAS
>>75
こちらでは問題ないがOSは何だ? あとGeneratorやTransformerは
何を使ってるんだ?

>>76
/Tomcat/webapps/cocoon/WEB-INF/classesに置くのは駄目なのか?
1-
あと 481 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.748s*