XSL/XSLT (558レス)
1-

78: 77 02/05/30 18:33 ID:??? AAS
>>75
外部リンク[cgi]:www.emergence.jp
ではどうだ?
79: 02/05/31 02:56 ID:HNPPjz0j(1) AAS
外部リンク[html]:www.ascii.co.jp
この本はどうですか?
値段が高いので迷っています。
80
(2): non 02/05/31 10:08 ID:XfZ+NB0u(1) AAS
勉強不足ですいません。
OSは、Redhat7.2です。

Generator,Transformerについては、
勉強不足で知らないのですが、
sitemap.xmapの内容でしたら、

Generator:JspGenerator
Transformer:TraxTransformer

となっております。
見当違いでしたらすいません。
81: 02/05/31 10:15 ID:??? AAS
>>80
JSPを使っているのであれば、単純に普通のTomcatでそのJSPファイルを
指定したときに、文字化けは起こってないか? JSPの中でのエンコーディングの
指定がまずいような気がするが。

もし上記でJSPファイルの問題でないのなら、普通にXMLファイルを作ってみて、
SitemapでFileGeneratorに指定してあげてそちらだと文字化けが起こるかどうかを
確認してみてくれ。

それと、そもそも文字化けを確認しているブラウザもRedhat上かな?
82: 02/06/01 23:15 ID:??? AAS
>>76
TOMCAT_HOME/webapps/cocoon/WEB-INF/web.xml
を触ればよい。

<init-param>
<param-name>extra-classpath</param-name>
<param-value>ここで指定する</param-value>
</init-param>
83: tachan 02/06/03 14:25 ID:Yq6AJPGD(1) AAS
>TOMCAT_HOME/webapps/cocoon/WEB-INF/web.xml
>を触ればよい。
><init-param>
><param-name>extra-classpath</param-name>
><param-value>ここで指定する</param-value>
></init-param>

上記の設定ファイルを指定したら
XSPのコンパイルエラーなくなりました。

本当にありがとうございました。
84: あぼーん [あぼーん] AAS
あぼーん
85
(1): > 02/06/06 13:34 ID:CeCgqXVC(1/2) AAS
21は33の言うとおり。
試してもいない21のコードに
9も試してもいないのに感謝する必要はない。

で,結局
</tr><tr>
は,
<xsl:text disable-output-escaping="yes"></tr><tr></xsl:text>
とすればOK。
86
(1): 85 02/06/06 13:38 ID:CeCgqXVC(2/2) AAS
ちぇっ,展開されちった。
めんどいから全角で書くよ。
85のは
<xsl:text disable-output-escaping="yes">&lt;/tr&gt;&lt;tr&gt;</xsl:text>
ということね。
87
(1): [0] 02/06/09 17:09 ID:??? AAS
普通のレンタルサーバとかでサーバサイドのXSLT変換ってできる?
88: 02/06/11 00:22 ID:qDeG/JWs(1) AAS
>>87
Perl使ってるんならこことか見てみたらどうかな。
外部リンク[html]:www-6.ibm.com
89: 02/06/14 16:06 ID:??? AAS
>86
<element name="tr" />
ではあかんか?
90: 02/06/15 00:30 ID:??? AAS
>>9
<xsl:template match="/">
<table>
<xsl:for-each select="datalist/data">
<xsl:if test="position() mod 3 = 1">
<tr>
<xsl:for-each select=".|following-sibling::data[position() &lt; 3]">
<td><xsl:value-of select="."/></td>
</xsl:for-each>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</xsl:template>
91: 02/06/26 11:32 ID:GX1WMLoK(1/2) AAS
<xsl:apply-templates select="foo">
<xsl:sort select="a" data-type="text" order="ascending" />
</xsl:apply-templates>

でソートした結果をテンプレート処理しているのですが、

<xsl:template match="foo">

この中で処理される「foo」の前に処理された
「foo」の子要素を参照する事はできないのでしょうか?

<xsl:template>

アドバイスいただけませんでしょうか。
92
(2): 02/06/26 15:12 ID:kyxI2iEY(1) AAS
<xsl:value-of select="preceding-sibling::foo[1]/a"/>
とかじゃだめなの。
というかもう少し具体的に。
93: 02/06/26 15:34 ID:6FYKwyrE(1) AAS
173 :参加するカモさん :02/03/12 09:46
みんなメルマガ読んでる?
あれ読むとひろゆきの性格よくわかるよ
すっごい陰湿。
根暗。
正直、引くよ。2chの管理人って、こういう奴なのかって。

176:参加するカモさん :02/03/12 11:18
ひろゆきの裁判の報告の仕方はよくわかったけど、たまには相手側の言い分も聞いてみたいね
まったく違う状況だったりしてw

177:参加するカモさん :02/03/12 11:42
ひろゆきさんっては自分の都合の良いことしか報告しないし、都合が悪くなると
報告しなくなっちゃうんだよね、、
それにしてもひろゆきさんてば見事に陰湿な文章書くなあ。。
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>
96: 94 02/06/26 19:29 ID:??? AAS
アドバイスありがとうございます。

そのままコピペしてテストしてみましたが、
foo[count(. | key('group', a)[1]) = 1]
でエラーがでてしまいました。

<xsl:for-each select="foo">
だとkey()で取得したノードリストが、複数でてしまいますし。

xsl:keyとkey関数を知らなかったので勉強になりました。
ちょっとこのアドバイスを元に考えてみます。
ほんとにありがとうございます!
97: 結局さぁ 02/06/27 00:28 ID:kFFjIjuv(1) AAS
XSLTってXSLの鬼っ子でしょ?
とっとと改名しる!
98: 02/07/03 10:46 ID:??? AAS
なんだか難しそうだな
99
(1): 02/07/03 19:07 ID:P21eikik(1/2) AAS
Cocoon2でXSPを使ってHTMLを出力するとなぜか文字化けしちゃう。
XSPの出力エンコーディング設定ってどこですればいいんでしょうか?
100
(3): Cocoon2 02/07/03 19:07 ID:P21eikik(2/2) AAS
Cocoon2でXSPを使ってHTMLを出力するとなぜか文字化けしちゃう。
XSPの出力エンコーディング設定ってどこですればいいんでしょうか?
101
(3): 02/07/04 23:36 ID:QxzpOV1b(1) AAS
あるxml文書をコピーする過程で、決まった要素にだけtemplateを適用したいのですが
どーにもこーにもうまくいきません.

<xsl:template match="@*|node()" priority="2">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>

としておいて、例えば要素fooだけはそのままコピーするのではなく

<xsl:template match="foo" priority="1">
<xsl:text>foo</xsl:text>
</xsl:template>

このtemplateが適用されて欲しいのですが、priority属性が効いてくれないみたいです。
というか根本的に考え方が違うのかもしれません。

最初のtemplate中で<xsl:when test="name()='foo'">を使って分岐させれば
うまく(意図通りに)いくのですが、どうもスマートでないような気がします。

濃ゆいスレにそぐわない質問かもしれませんが、
よい方法があれば教えてください。

あ、環境はxalan+jdk1.3.0です。
102
(1): 02/07/05 01:35 ID:??? AAS
>>100
ここ見れ↓
外部リンク[cgi]:www.emergence.jp
103: Cocoon2 02/07/05 10:46 ID:o63MT+vE(1) AAS
>>102
まじで感謝!
104
(1): Spm 02/07/06 00:35 ID:zVcgsDeC(1/2) AAS
>>101

そりゃあ、priority属性の値の高いほうが優先してマッチしますから、
その例の下のテンプレートは適用されないに決まっているのですけど:

>どーにもこーにもうまくいきません

とのことですので、もちろん最初は、priority属性をつけないで
試しては見たのでしょう?
下のテンプレートの方が規則からいって優先度が高いのは自明ですし……

xalanてそんなものですか。いやXTから乗り換えようと思っていたので。
105: 101 02/07/06 02:17 ID:vHzD1DJG(1) AAS
>>104
すいません,書いた後に気付きました...
priority の値を逆にしてもやはり意図通りになりません.

もちろん,仰るとおり,より限定されているfoo要素の方が
優先順位が高いのは自明なのですが,苦肉の策で試してみました.

<xsl:template match="*" prioriry="0"> と
<xsl:template match="*" prioriry="1"> では
後者が確実に適用さますが,match の内容が異なるとダメみたいですね...

ちなみにXTでも試してみたのですが,xalanと挙動は同じでした.
むぅ.
106
(1): 101 02/07/06 02:20 ID:??? AAS
s/prioriry/priority/g
です
107
(1): Spm 02/07/06 20:49 ID:zVcgsDeC(2/2) AAS
>>106
当方のXTはきちんとfoo要素だけfooというテキストノードにしてくれてます。
priority属性もみてくれてますし。
これはxalanのせいじゃないかもしれないですね。

考えられるのは、qname(qualified name)が間違っていることくらいでしょうか。
マッチすらしてないって事です。
ソース文書のfoo要素に名前空間ついてませんか?
ルート要素にデフォルトの名前空間(xmlns="uri")つけてませんか?

名前空間を除いたものを返すからname()関数による分岐はうまくいくのでしょう。

これしか考えられないのですが、違ってたらすみません。
108
(1): 02/07/07 00:44 ID:wYb8dbIP(1/2) AAS
>>107
>ソース文書のfoo要素に名前空間ついてませんか?
>ルート要素にデフォルトの名前空間(xmlns="uri")つけてませんか?

う,ビンゴです...
デフォルトの名前空間指定のないxml文書なら xalan でもうまくいきました.

ちなみに,デフォルトの名前空間がある場合にマッチさせる手段はあるのでしょうか?
match=":foo" なんて安直な方法じゃダメでした(恥)

# 「デフォルトの名前空間に関する問題は XSLT 2.0 で解決される」
# と聞いたことがあります.
109
(1): Spm 02/07/07 03:49 ID:ZDF4GXlm(1) AAS
ソースファイルが
(一般的にデフォルト名前空間が使われる)
XHTMLだったとすれば:

<xsl:stylesheet
xmlns:xsl="外部リンク:www.w3.org"
xmlns:xht="外部リンク:www.w3.org"
>
と、名前空間接頭辞を定義して、
NodeTestでNameTestを使う際、その接頭辞をくっつけます。

<xsl:template match="child::xht:h1">
リテラルなど
</xsl:template>

これはカレントノードがh1要素だった場合にマッチするでしょう。

# default-xpath-namespace属性っていうものらしいですね。
# 外部リンク:www.w3.org より
110: 108 02/07/07 16:47 ID:wYb8dbIP(2/2) AAS
>>109
もう目からウロコです.
ばっちりです,助かりました.
ありがとうございました.
111
(1): 02/08/11 23:48 ID:77b+zq0z(1) AAS
XSLTは変数の値変更できなくて不便でしょうがないので、
もう使用しないことにした。
112
(3): 02/08/16 08:50 ID:q4PLH8KO(1/2) AAS
初めてXMLを扱うものですが、たのしいXMLの
外部リンク[html]:www.cityfujisawa.ne.jp
ここを改造してソースを作っているのですが、うまくいきません。

とりあえず三つのソースを作りました。

-- test4.html --
<html>
<head>
<title>test4</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<xml id="list" src="testxml.xml"></xml>
<xml id="c1" src="c1.xsl"></xml>
<script language="JavaScript">
<!--
function inner() {
here.innerHTML = list.transformNode(c1.documentElement);
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form>
<input type="button" value="c1" onClick="inner()">
</form>
<div id="here"></div>
</body>
</html>
113
(1): 112のつづき 02/08/16 08:50 ID:q4PLH8KO(2/2) AAS
-- testxml.xml --
<?xml version="1.0" encoding="Shift_JIS" ?>
<test>mod</test>

-- c1.xsl --
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="外部リンク:www.w3.org">
<xsl:template match="/">
<html>
<body>
<p>before<xsl:value-of select="test@pid" />after</p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

ここでtest4.htmlをクリックして

beforemodafter

と表示させれば成功なのですが、beforeafterとしか表示されません。
「たのしいXML」のソースを極めて胆略化した形で作ったのですが、うまく動かないのです。

どこが原因なのでしょうか。教えてください。
114: 112 02/08/16 11:12 ID:??? AAS
>>113
ちょっと訂正


<p>before<xsl:value-of select="test@pid" />after</p>


<p>before<xsl:value-of select="test" />after</p>
115: Spm 02/08/16 14:52 ID:WjrAiya2(1) AAS
c1.xsl のxsl:stylesheetに、version="1.0" を追加してください。

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

これで駄目ならスレ違い。MSXMLの話題になります。
116: 02/08/20 03:03 ID:??? AAS
>>112
そこねー、たまに間違いあるよね(苦笑)
117: 112 02/08/21 04:32 ID:??? AAS
原因がわかりました。
115さんの Version の記述忘れもそうなんですが、xmlns をxmlns:xsl="外部リンク:www.w3.org にしてました。
つまり、僕が作る場合、閲覧者をIE5.0のXMLパーサー無しの環境で見てるのを前提に作らなきゃいけないので、自分のパソコンを同じ環境にしてあります。

で、
xmlns:xsl="外部リンク:www.w3.org
としたら表示できました。
118
(4): K's 02/08/30 14:43 ID:mcp2WYS4(1) AAS
XML初心者です。勉強をしているのですが、sortがうまく動きません。
下記にサンプルプログラムがありますが実際コピペして表示させたのですが
まったく表示されず、またエラーも出ません。sortの使い方教えていただけない
でしょうか。ちなみにIE5.0を使用しています。また使い方が間違えてるようでしたら
指摘ください。
「XML文書」
<?xml version="1.0" encoding="UTF-8"?>
<?xml:stylesheet type="text/xsl" href="sort.xsl"?>
<kakaku id="kakaku">
<title price="1500">ガイドブック</title>
<title price="2000">XML</title>
<title price="900">会社案内</title>
<title price="800">デジカメ</title>
<title price="1000">インターネット</title>
</kakaku>
「xsl文書」(BODY要素内のみ記述です)
<xsl:for-each select="kakaku">
<h2>価格詳細表</h2>
<table border="2px"><xsl:apply-templates match="title" /></table>
</xsl:for-each>
<xsl:for-each select="title">
<xsl:sort select="./@price" lang="UTF-8" data-type="number" order="ascending" />
<tr><td><xsl:value-of select="./@price" />(税別)円</td><td><xsl:value-of select="." /></td></tr>
</xsl:for-each>
119
(1): 02/08/30 16:57 ID:??? AAS
>>118
<xsl:apply-templates match="title" />のあとに<xsl:for-each select="title">がなぜ?
というのは置いといて、恐らく
  select="./@price"

  select="@price"
ではないかと。下のvalue-ofも。

も一つ考えられるのは、>>118のmsxml.dllが古くて、XSLTの名前空間がドラフトなのではないか?と
  <xsl:stylesheet version="1.0" xmlns:xsl="外部リンク:www.w3.org">
でなくて
  <xsl:stylesheet xmlns:xsl="外部リンク:www.w3.org">
ってなってない?
だとするとソートは、
  <xsl:for-each select="title" order-by="number(@price)">
と書けば上手くいくはず。
120
(1): Spm 02/08/30 21:56 ID:??? AAS
>>119
RelativeLocationPath ::= Step
| RelativeLocationPath '/' Step | AbbreviatedRelativeLocationPath

かつ、

Step ::= AxisSpecifier NodeTest Predicate* | AbbreviatedStep

かつ、

AbbreviatedStep ::= '.' | '..'

[参照] 外部リンク:www.w3.org

というわけで、./@price は合法のようです。

> <xsl:apply-templates match="title" />のあとに<xsl:for-each select="title">がなぜ?
どこから>>118がこのサンプルを持ってきたのか気になりますな。
121: 02/09/03 09:22 ID:??? AAS
>>120
> どこから>>118がこのサンプルを持ってきたのか気になりますな。

気になる・・・あれからレスもついてないし。
122
(1): K's 02/09/03 09:47 ID:UYWG+Uf9(1) AAS
レス遅くなってすいません。社内のPCの台数が決まっていてなかなか
使用できないもので。。。
で、教えていただいた通りにやってみたのですがやはり表示されません。
それとこのサンプルは今となってはわかりませんがどっかのHPから
コピペしてきたものです。
<xsl:apply-templates match="title" />のあとに<xsl:for-each select="title">
書いたのはapply-templates match="title" いかにfor-each select="title"を
適用すると解釈しているのですが。。。間違ってます?
123
(1): 02/09/03 12:03 ID:??? AAS
>>122
んー。テンプレート系エレメントについてもう少し勉強した方がいいかも。
sortの使い方云々よりもxsl文書が正しく書けていないと思う。
もっとXSLTの各エレメントの意味をよく理解しましょう。
124
(1): 02/09/04 23:35 ID:??? AAS
W3Cムカツク。
あんなアフォどもに好き勝手にさせてて委員会?
125: 02/09/06 01:19 ID:ultmv2D3(1) AAS
>>118
<?xml:stylesheet じゃなく <?xml-stylesheet だよ。こっちはハイフン。
126
(1): [age] 02/09/06 23:19 ID:??? AAS
>>124
禿同!
あんなバカどもに任せておけないよ。
127
(1): bloom 02/09/06 23:31 ID:PkazN1aJ(1) AAS
外部リンク:www.leverage.jp
128: 02/09/06 23:48 ID:??? AAS
>127
なんかrefreshとか書いたMETAタグしかない小さなソースだけど、
ブラクラか何か?
129: 02/09/07 03:30 ID:??? AAS
>>126
気合いだけは一人前ですね(^^)
130
(2): 02/09/09 12:28 ID:GqnKQPj5(1) AAS
xsltで質問です。
xsl:variableを使って変数を定義する方法を覚えたんですが、DOMを使って外部から変数を定義する方法ってあるんでしょうか?
たとえばxmlを
<hoge>
<fuga id="1">foo1</fuga>
<fuga id="2">foo2</fuga>
<fuga id="3">foo3</fuga>
</hoge>
として

<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0" xmlns:xsl="外部リンク:www.w3.org">
<xsl:template match="hoge/fuga">
<html>
<xsl:if test="@id='$bar'"> ←?
<xsl:value-of select="." />
</xsl:if>
</html>
</xsl:template>
</xsl:stylesheet>

と作ったとすると
<xsl:variable name="bar">1</xsl:variable>
みたいに定義することを外部からできるでしょうか?

もしくはDOMを使って
bar=3
みたいに定義できるのでしょうか?
131: 02/09/09 13:20 ID:??? AAS
W3C・・・・無能であることは確かだ。
132: 02/09/09 15:14 ID:??? AAS
>>130
2chスレ:php
133: 02/09/09 19:45 ID:??? AAS
>>130
selectSingleNode()で検索してみれ
134
(3): 02/09/15 22:02 ID:??? AAS
ノードの在る無しという条件で、
処理を分岐するというのがどうすればいいのかよくわかりません。

<xsl:choose>
<xsl:when test='?????'> ←ここ
.......処理
</xsl:when>
<xsl:otherwise>
.......別の処理
</xsl:otherwise>
</xsl:choose>

?????にどう書けばいいのかな。
135
(1): 02/09/15 23:45 ID:??? AAS
>>134

そのままノード名でいいんじゃ。
id属性だったら <xsl:when test="@id">...言ってること違ったらゴメソ。
136
(1): 134 02/09/17 01:32 ID:??? AAS
レスサンクス。
質問が悪かった。XMLソースがないとわかるわけないね。

<parent>
 <context>
<childa>.......</childa> ←この部分が在ったり無かったりする。
</context>
<context>
</context>
</parent>

とりあえず今は、2つのXSLTファイルを用意して、
対応してる。
137: Spm 02/09/17 01:59 ID:0xmOo3Ol(1) AAS
>>134 = >>136

>>135氏の言うとおりでは。ノード集合そのまま。例えば:
<xsl:when test="child::childa">

<xsl:choose>要素をどういう文脈で使っているかにも依存するので、
一概にchild::childaで良いとは言えませんが。
カレントノードは何ですか?

test属性値については、boolean関数が適用されます。
外部リンク:www.w3.org
test属性値にノード集合を指定した場合、空ならfalse、それ以外はture.
138: 134=136 02/09/17 02:50 ID:??? AAS
でキタ━━━(゚∀゚≡(゚∀゚≡゚∀゚)≡゚∀゚)━━━━!!!!!!!!!!

皆さんサンクスです。
試していたはずなのですが、
スペルミスなり、確認ミスなり、うっかりしてなりで見逃していた模様。

本当にありがとうございました。
139: 02/09/17 18:11 ID:??? AAS
書きこみ少ないなぁ。
このままじゃ、某XML Pressみたいに、
このスレも消滅してしまうかも。
140: 02/09/18 11:14 ID:hvk3cr7f(1) AAS
じゃ、<age>
141
(2): 02/09/18 15:01 ID:??? AAS
いや、<age/> だ。
142
(1): 141 [<age/>] 02/09/18 15:02 ID:??? AAS
ていうか <sage/> ちゃった。
143: 02/09/18 15:12 ID:??? AAS
>>141 >>142
XMLタグの使い方間違えたから1番上に来ちゃったぞ
144: 02/09/18 15:15 ID:??? AAS
ここですか、XMLタグの使えない人々の集まるスレは
145
(1): JTR 02/09/25 19:45 ID:y/qFoSLv(1) AAS
ソフト・リサーチ・センターからCocoon2の書籍がでるみたい。
出版社のHPで目次見たけど結構よさげ。
たぶんC2の専門書って日本ではこれが最初かも。

それにしてもC2を仕事で使ってる人ってどれくらい
いるんだろうか。パフォーマンス的には問題ないのかな。
146: 02/09/25 20:00 ID:??? AAS
>>145
C2仕事で使ってるYO パフォーマンスはServletでSAX使ったアプリ書いた
のと同じ程度だYO(そのまんまじゃん)

C2自体がパフォーマンスの足を引っ張るというよりも、サーバのスペックとか
DBの性能とかが重要だねやっぱり。
147
(1): 02/10/02 00:23 ID:??? AAS
他板でこんなスレ見つけました。

XML使いの板
2chスレ:hp
レベル低め、XSLT中心、WEBでの利用。

他にXML語れる所知りませんか?
148
(1): 02/10/02 11:18 ID:??? AAS
>>上様
こんなの。
XML [WebProg]
コンテンツとデザインの分離 [WebProg]
XMLの必要性 [プログラム]
XMLプログラミング [プログラム]
XMLを限り無くオカルトに語る [心と宗教]
149: 147 02/10/02 14:08 ID:??? AAS
>>148
サンクス
全部見てきたよ。

……最後のスレ、こいつは…
150
(1): 02/10/05 16:58 ID:eN4sGb4j(1) AAS
普通のプロバに設置するCGIでXLSTできないかなあ
151: 02/10/05 23:24 ID:??? AAS
>>150
IEならXSLT入ってるぞ。

 …てのはだめなんだよな。
おれも情報きぼん
152: 02/10/07 05:30 ID:??? AAS
拾ってきた
2chスレ:tech
153
(1): [age] 02/10/11 04:30 ID:??? AAS
XSLTパーサのXERCESをインストールしようとしているのですが,うまくいきません.
解凍した後,コマンドラインから

SET CLASSPATH=%CLASSPATH%;C:\Xerces\xerces.jar

と入力しましたが,サンプルで試した所,

Exception in thresd "main" java.lang.NoClassDeFoundError

となってしまいました.バージョンは2.2.0です.
お分かりになる方,よろしくお願いします.
154: 02/10/15 01:38 ID:okBjBmnc(1) AAS
>>153
サンプルを実行したとき、何てコマンドラインに入力したんだよ

java -jar xxxx.jar か?
155
(1): 02/10/29 00:17 ID:??? AAS
XMLからXSLT変換で、違う形式のXMLファイルを出力したとしよう。
変換後のXMLファイルと、変換に使ったXSLTファイルを用いて、
元のXMLファイルを再現できるものだろうか?

変換
XML[A] + XSLT → XML[B]

戻す。
XML[B]の情報 + XSLTの情報 → XML[A]
156: 02/10/29 19:23 ID:??? AAS
>>155
問題になるのは変換時に捨ててしまった情報をどうするかだと思われ。
157: 02/10/29 23:52 ID:??? AAS
完全な再現は出来ないと思う。
同じXSLTを使って、おなじXML[B]を生成するのなら、出切るかもしれない。
いや、正直わからん。俺頭悪いし。
158
(1): 八べえ 02/11/12 15:09 ID:gxn/By35(1) AAS
Cocoon2を使用して、WEB表示を行うとソースに
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
が追記されてしまいます。
これにより、Shift-JISで書いているxml,xsltが文字化けを起こしています。
sitemap.xmap,cocoon.xconfをみてもそれらしき設定が見当たりません。
どのようにしたら、追記されなくなるのでしょうか?
159: bloom 02/11/12 15:36 ID:VFQMwTMk(1) AAS
外部リンク:homepage.mac.com
160
(1): HTMLをSJISで表示 02/11/13 10:55 ID:oYHYr3JM(1/2) AAS
>>158
docs/samples/hello-page.xml
<?xml version="1.0" encoding="Shift_JIS"?>
を入れると、正常なUTF-8に変換されるので、文字化けしない。
結果charset=UTF-8

xslt の中のoutput は利かない。
結果htmlも、SJISにする場合は、serializer に指定する。
html serializer に、sjis 版追加
<map:serializer name="html-sjis" logger="sitemap.serializer.html" mime-type="text/html" pool-grow="4" pool-max="32" pool-min="4" src="org.apache.cocoon.serialization.HTMLSerializer">
<buffer-size>1024</buffer-size>
<encoding>Shift_JIS</encoding>
</map:serializer>
hello.html のマップをコピーして sjis バージョンを作る
<map:match pattern="hello-sjis.html"><!-- ここ**-->
<map:generate src="docs/samples/hello-page.xml"/>
<map:transform src="stylesheets/page/simple-page2html.xsl"/>
<map:serialize type="html-sjis"/><!-- ここ**-->
</map:match>

ばんざーい。 これで完成 結果charset=Shift_JIS
161
(1): XMLをSJISで出力 02/11/13 11:03 ID:oYHYr3JM(2/2) AAS
hello.html を指定すると UTF-8版が表示され、
hello-sjis.html を指定すると、 SJIS版が表示されるようになる。

別件だが
xml の出力の中の encoding=UTF-8 を変更する場合は、xslt の中で、
<xsl:output omit-xml-declaration="no" encoding="Shift_JIS"/>
とかやると良い。
162: 160=161 02/11/13 15:02 ID:fcqFiIq0(1/2) AAS
>>160 = >>161

ばんざ〜い!!
みなさんありがとうございました。
無事、SJIS表示できるようになりました。
163: 教えて下さい 02/11/13 17:52 ID:fcqFiIq0(2/2) AAS
xslの全ての<xsl:value-of select=....>の項目に、
「disable-output-escaping="yes"」を指定したいのですが、
まとめて設定するにはどのようにしたらよいのでしょうか?
164: 02/11/15 22:35 ID:Q0ofQCcS(1) AAS
disable-output-escaping="yes" を <xsl:value-of に追加する
XSLT を書いて XSLT を変換...
165: 02/11/15 23:27 ID:y2tgiCuR(1) AAS
エディタで一括変換
166
(1): 02/12/09 01:32 ID:eA2V6vYL(1) AAS
すごい単純な質問なんですけど、

<a>
<xsl:attribute name="href">
<xsl:value-of select="@url" />
</xsl:attribute>
<xsl:attribute name="target">
_self
</xsl:attribute>
<xsl:value-of select="@url" />
</a>

とXSLでリンクを作ったんですが、targetを _self にしても、_blank みたいに別ウィンドウでリンク先が表示されてしまいます。
_self や _top のように別ウィンドウを開かないでリンク先を表示させるにはどうすればいいのでしょうか?
167: 166 02/12/09 01:51 ID:??? AAS
自己レスです。

<xsl:attribute name="target">_self</xsl:attribute>

と繋げればうまくいきました。どうも間にリターンがあったのが原因みたいです。
168: 03/01/06 07:36 ID:??? AAS
DTDで
<!ENTITY foo SYSTEM "bar.xml">

を XML schema で表現するにはどうすればいいんですか?
169: 03/01/06 07:44 ID:L2+zJcVG(1) AAS
しまった、ageておこう
170: 山崎渉 [(^^)sage] 03/01/15 13:36 ID:??? AAS
(^^)
171: 03/01/22 05:21 ID:vujRJlnb(1) AAS
i love love generation
172: ぱむ 03/01/28 17:32 ID:IBfGocF/(1) AAS
cocoonのsitemap.xmapで2つ以上のxmlを1つのxslに適用したい場合は
どうすればいいんですか?
<map:generate src="aaa.xml"/>
<map:generate src="bbb.xml"/>
<map:transform src="ccc.xsl"/>
とすると「適用出来るxmlは1つだけ」というエラーが出てしまいます。
だれか宜しくお願いします。
173: 03/01/29 13:27 ID:L9yee78Z(1) AAS
xmlは死んだ
174: 03/02/11 22:52 ID:K0N8t3Ee(1) AAS
xmlは死んだ
175: 03/02/12 17:42 ID:rtj1FkeB(1) AAS
MS、XDocsの正式名称「InfoPath」発表

外部リンク[html]:www.zdnet.co.jp

MicrosoftはInfoPathで作成したフォームを使い
医療電子データ交換用形式で送るデモも実施。
同社はXFormsではなくXSLTの採用を決定
176: 03/02/12 17:56 ID:gzTJY/OJ(1) AAS
外部リンク:www.agemasukudasai.com
177
(4): 03/02/20 19:11 ID:ywFHezDA(1) AAS
名前空間接頭辞 foo と bar を使った xml 文書があります.
----------
<foo:root xmlns:foo="外部リンク:foo-namespace" xmlns:bar="外部リンク:bar-namespace">
 <bar:e1>this is <foo:e2>a</foo:e2> pen. </bar:e1>
</foo:root>
----------
これを以下の xslt に食わせて,
foo に属する要素を全て bar の要素に変換します.
----------
<xsl:stylesheet xmlns:xsl="外部リンク:www.w3.org"
 xmlns:foo="外部リンク:foo-namespace" xmlns:bar="外部リンク:bar-namespace" version="1.0">
<xsl:output indent="yes" omit-xml-declaration="yes" />
<xsl:template match="foo:root"><bar:root><xsl:apply-templates select="*" /></bar:root></xsl:template>
<xsl:template match="foo:e2"><bar:e2><xsl:value-of select="." /></bar:e2></xsl:template>
<xsl:template match="@*|node()"><xsl:copy><xsl:apply-templates select="@*|node()" /></xsl:copy></xsl:template>
</xsl:stylesheet>
----------
すると,以下のような xml 文書 (多少整形してあります) が得られるのですが,
----------
<bar:root xmlns:bar="外部リンク:bar-namespace" xmlns:foo="外部リンク:foo-namespace">
 <bar:e1>this is <bar:e2>a</bar:e2> pen.</bar:e1>
</bar:root>
----------
結果として全く使われていない foo に対する宣言が文書に含まれてしまいます.
exclude-result-prefixes="foo" を指定しても,bar:e1 要素に宣言が現れるだけで意味がありませんでした.
これを取り除く (最適化?) することはできないのでしょうか.
いや,実害はないんですけど気持ち悪くて...
178: 177 03/02/20 19:13 ID:??? AAS
書き込むときに「改行が多い!!」って怒られちゃったので
改行削ったらソースが読みづらくなってしまいました……スマンコ
179
(1): 03/02/21 01:48 ID:??? AAS
>>177
で、変換は何で?
180
(1): 177 03/02/21 10:10 ID:??? AAS
>>179
えーと,「何で変換する必要があるの?」という意味でしょうか.

>>177で挙げた例は,現象が再現する最小限のソースでして
(もっと短くできるかもしれませんが),実際は置き換え以外にも色々やってるんです...
181
(1): 03/02/22 22:09 ID:??? AAS
>>180
transformer は何?という意味
182: 177 03/02/23 21:47 ID:ORn8WdNQ(1) AAS
>>181
すいません,書き忘れました.
xalan-java 2.4.D1 です.
183: 山崎渉 [(^^)] 03/03/13 17:11 ID:??? AAS
(^^)
184: 03/04/02 23:28 ID:??? AAS
ほすさげ
185: [‘‘] 03/04/07 01:23 ID:??? AAS
(MS)XSL+JavaScriptで入力フォーム(UI)を作るという方法論は間違いだったと激しく後悔中。
素直に全部JavaScriptにするか、サーバサイドで作るべきだダタヨ。
186: 03/04/07 01:46 ID:uo8jDP5o(1) AAS
ん。XForm ではなくて、XSLで?
187: 山崎渉 [(^^)] 03/04/17 12:08 ID:??? AAS
(^^)
188
(1): 03/04/19 11:48 ID:4Vo7Hobj(1) AAS
あの・・・XSLTってタグ自身を出力できない?
下の様にすると全タグについて定義しなくてはならなくなってしまう・・

<xsl:template match="ABCD">
  <ABCD>
  <xsl:apply-template/>
  </ABCD>
</xsl:template>

やりたいことは
xmlの一部のタグだけ変換したいのですが
それ以外はそのままのタグで出力したいのです
copy-of とか使うと編集できないし。。。

すごくくだらない質問ですみませんが教えていただけないでしょうか?
189: 03/04/20 04:35 ID:??? AAS
>>188

<xsl:template match="ABCD">
  <xsl:element name="{local-name()}">
  <xsl:apply-template/>
  </xsl:element>
</xsl:template>

ABCD をワイルドカードにすると全部引っかかる。
190: 山崎渉 [(^^)sage] 03/04/20 06:00 ID:??? AAS
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
191: 03/05/19 12:22 ID:UmHfFrg2(1) AAS
いい書籍ない?
オライリーのはわかりにくい。
192: 山崎渉 [(^^)] 03/05/22 02:00 ID:??? AAS
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
193: 山崎渉 [(^^)] 03/05/28 17:20 ID:??? AAS
AA省
194: 山崎 渉 [(^^)] 03/07/15 11:14 ID:??? AAS
AA省
195: 山崎 渉 [(^^)sage] 03/08/02 02:37 ID:??? AAS
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
196: ぼるじょあ ◆ySd1dMH5Gk [(^^)] 03/08/02 05:19 ID:??? AAS
AA省
197: 山崎 渉 [(^^)] 03/08/15 22:59 ID:??? AAS
AA省
198: 03/09/07 21:17 ID:PQrT+UlA(1) AAS
<x>a b c <y>d</y> e <y>f</y> <y>g</y> h</x>



<p>a b c <q>d</q> e <q>f</q> <q>g</q> h</p>

に変換する XSL が分からん。for-each じゃ出来ないよね?
199
(1): 03/09/07 23:33 ID:X8dU+/Y3(1) AAS
xにマッチしてpにおきかえるテンプレートと
yにマッチしてqにおきかえるテンプレートをかけばいいだけじゃんよ
200
(1): 03/09/09 01:09 ID:??? AAS
>>199
あー、徹夜明けでボケてた。
その通りです失礼
201
(1): 03/09/26 10:15 ID:Hq0iAR6d(1) AAS
<date>9月2日</date>
<title>ちょっとここを通られた</title>
<p>なぞの白い物体に我が家をあらされてしまった。</p>
<p>訴訟を起こして謝罪と賠償を要求したい。</p>



<div class="section">
<h2><date>9月2日</h2>
<div class="subsection">
<h3>ちょっとここを通られた</h3>
<p>なぞの白い物体に我が家をあらされてしまった。</p>
<p>訴訟を起こして謝罪と賠償を要求したい。</p>
</div>
</div>

と変換するにはXSLTをどう書けばいいのでしょうか。
202
(1): 03/09/26 11:50 ID:??? AAS
>>201
まず整形式にしろ。話はそれからだ。
203
(1): 03/09/26 17:56 ID:??? AAS
>>202
すみません
<h2><date>9月2日</h2> は <h2>9月2日</h2> の誤りです。
204: 03/09/26 22:18 ID:??? AAS
>>203
整形式にしなきゃいけないのは変換前のほうなんだが。

本当にやりたいことは別にあるんじゃないかとも思うが、
とりあえず、親要素を???とすれば、こんな感じ。
<xsl:template match="???">
<div class="section">
<xsl:apply-templates select="date" />
<div class="subsection">
<xsl:apply-templates select="title" />
<xsl:apply-templates select="p" />
</div>
</div>
</xsl:template>
<xsl:template match="date"><h2><xsl:xsl:apply-templates /></h2></xsl:template>
<xsl:template match="title"><h3><xsl:xsl:apply-templates /></h3></xsl:template>
<xsl:template match="p"><p><xsl:xsl:apply-templates /></p></xsl:template>
1-
あと 354 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.052s