探検


XSL/XSLT

1名無しさん@お腹いっぱい。
垢版 |
01/09/05 10:49ID:dYMWGvtU
語ろう。ていうか教えて。
02/05/30 18:29ID:???
>>75
こちらでは問題ないがOSは何だ? あとGeneratorやTransformerは
何を使ってるんだ?

>>76
/Tomcat/webapps/cocoon/WEB-INF/classesに置くのは駄目なのか?
7877
垢版 |
02/05/30 18:33ID:???
>>75
http://www.emergence.jp/mail-archive/ci/index.cgi?mss:54:200205:dmoeikbhogokbpdjofji
ではどうだ?
79nobodyさん
垢版 |
02/05/31 02:56ID:HNPPjz0j
http://www.ascii.co.jp/books/detail/4-7561/4-7561-4065-3.html
この本はどうですか?
値段が高いので迷っています。
80non
垢版 |
02/05/31 10:08ID:XfZ+NB0u
勉強不足ですいません。
OSは、Redhat7.2です。

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

Generator:JspGenerator
Transformer:TraxTransformer

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

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

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

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

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

本当にありがとうございました。

NGNG
あぼーん
85>
垢版 |
02/06/06 13:34ID:CeCgqXVC
21は33の言うとおり。
試してもいない21のコードに
9も試してもいないのに感謝する必要はない。

で,結局
</tr><tr>
は,
<xsl:text disable-output-escaping="yes"></tr><tr></xsl:text>
とすればOK。
8685
垢版 |
02/06/06 13:38ID:CeCgqXVC
ちぇっ,展開されちった。
めんどいから全角で書くよ。
85のは
<xsl:text disable-output-escaping="yes">&lt;/tr&gt;&lt;tr&gt;</xsl:text>
ということね。
02/06/09 17:09ID:???
普通のレンタルサーバとかでサーバサイドのXSLT変換ってできる?
88nobodyさん
垢版 |
02/06/11 00:22ID:qDeG/JWs
>>87
Perl使ってるんならこことか見てみたらどうかな。
http://www-6.ibm.com/jp/developerworks/xml/j_perl-xml-toolkit.html
02/06/14 16:06ID:???
>86
<element name="tr" />
ではあかんか?
02/06/15 00:30ID:???
>>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>
91nobodyさん
垢版 |
02/06/26 11:32ID:GX1WMLoK
<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>

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

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

177:参加するカモさん :02/03/12 11:42
ひろゆきさんっては自分の都合の良いことしか報告しないし、都合が悪くなると
報告しなくなっちゃうんだよね、、
それにしてもひろゆきさんてば見事に陰湿な文章書くなあ。。
94nobodyさん
垢版 |
02/06/26 15:51ID:GX1WMLoK
>>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"/>

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

<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 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>
9694
垢版 |
02/06/26 19:29ID:???
アドバイスありがとうございます。

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

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

xsl:keyとkey関数を知らなかったので勉強になりました。
ちょっとこのアドバイスを元に考えてみます。
ほんとにありがとうございます!


97結局さぁ
垢版 |
02/06/27 00:28ID:kFFjIjuv
XSLTってXSLの鬼っ子でしょ?
とっとと改名しる!
02/07/03 10:46ID:???
なんだか難しそうだな
99nobodyさん
垢版 |
02/07/03 19:07ID:P21eikik
Cocoon2でXSPを使ってHTMLを出力するとなぜか文字化けしちゃう。
XSPの出力エンコーディング設定ってどこですればいいんでしょうか?
100Cocoon2
垢版 |
02/07/03 19:07ID:P21eikik
Cocoon2でXSPを使ってHTMLを出力するとなぜか文字化けしちゃう。
XSPの出力エンコーディング設定ってどこですればいいんでしょうか?
101nobodyさん
垢版 |
02/07/04 23:36ID:QxzpOV1b
ある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です。
102nobodyさん
垢版 |
02/07/05 01:35ID:???
>>100
ここ見れ↓
http://www.emergence.jp/mail-archive/ci/index.cgi?mss:54:200205:dmoeikbhogokbpdjofji
103Cocoon2
垢版 |
02/07/05 10:46ID:o63MT+vE
>>102
まじで感謝!
104Spm
垢版 |
02/07/06 00:35ID:zVcgsDeC
>>101

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

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

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

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

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

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

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

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

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

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

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

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

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

<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xht="http://www.w3.org/1999/xhtml"
>
と、名前空間接頭辞を定義して、
NodeTestでNameTestを使う際、その接頭辞をくっつけます。

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

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

# default-xpath-namespace属性っていうものらしいですね。
# http://www.w3.org/TR/xslt20/#unprefixed-qnames より
110108
垢版 |
02/07/07 16:47ID:wYb8dbIP
>>109
もう目からウロコです.
ばっちりです,助かりました.
ありがとうございました.
111nobodyさん
垢版 |
02/08/11 23:48ID:77b+zq0z
XSLTは変数の値変更できなくて不便でしょうがないので、
もう使用しないことにした。
112nobodyさん
垢版 |
02/08/16 08:50ID:q4PLH8KO
初めてXMLを扱うものですが、たのしいXMLの
http://www.cityfujisawa.ne.jp/~yanai/xml/sample2/basic1/home.html
ここを改造してソースを作っているのですが、うまくいきません。

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

-- 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>
113112のつづき
垢版 |
02/08/16 08:50ID:q4PLH8KO
-- 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="http://www.w3.org/1999/XSL/Transform">
<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」のソースを極めて胆略化した形で作ったのですが、うまく動かないのです。

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


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


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

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

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

で、
xmlns:xsl="http://www.w3.org/TR/WD-xsl
としたら表示できました。
118K's
垢版 |
02/08/30 14:43ID:mcp2WYS4
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>
119nobodyさん
垢版 |
02/08/30 16:57ID:???
>>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="http://www.w3.org/1999/XSL/Transform">
でなくて
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
ってなってない?
だとするとソートは、
  <xsl:for-each select="title" order-by="number(@price)">
と書けば上手くいくはず。
120Spm
垢版 |
02/08/30 21:56ID:???
>>119
RelativeLocationPath ::= Step
| RelativeLocationPath '/' Step | AbbreviatedRelativeLocationPath

かつ、

Step ::= AxisSpecifier NodeTest Predicate* | AbbreviatedStep

かつ、

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

[参照] http://www.w3.org/TR/xpath

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

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

気になる・・・あれからレスもついてないし。
122K's
垢版 |
02/09/03 09:47ID:UYWG+Uf9
レス遅くなってすいません。社内のPCの台数が決まっていてなかなか
使用できないもので。。。
で、教えていただいた通りにやってみたのですがやはり表示されません。
それとこのサンプルは今となってはわかりませんがどっかのHPから
コピペしてきたものです。
<xsl:apply-templates match="title" />のあとに<xsl:for-each select="title">
書いたのはapply-templates match="title" いかにfor-each select="title"を
適用すると解釈しているのですが。。。間違ってます?
123nobodyさん
垢版 |
02/09/03 12:03ID:???
>>122
んー。テンプレート系エレメントについてもう少し勉強した方がいいかも。
sortの使い方云々よりもxsl文書が正しく書けていないと思う。
もっとXSLTの各エレメントの意味をよく理解しましょう。
124nobodyさん
垢版 |
02/09/04 23:35ID:???
W3Cムカツク。
あんなアフォどもに好き勝手にさせてて委員会?
125nobodyさん
垢版 |
02/09/06 01:19ID:ultmv2D3
>>118
<?xml:stylesheet じゃなく <?xml-stylesheet だよ。こっちはハイフン。
126nobodyさん
垢版 |
02/09/06 23:19ID:???
>>124
禿同!
あんなバカどもに任せておけないよ。
127bloom
垢版 |
02/09/06 23:31ID:PkazN1aJ

http://www.leverage.jp/bloom/start/
128nobodyさん
垢版 |
02/09/06 23:48ID:???
>127
なんかrefreshとか書いたMETAタグしかない小さなソースだけど、
ブラクラか何か?
129nobodyさん
垢版 |
02/09/07 03:30ID:???
>>126
気合いだけは一人前ですね(^^)
130nobodyさん
垢版 |
02/09/09 12:28ID:GqnKQPj5
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="http://www.w3.org/1999/XSL/Transform">
<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
みたいに定義できるのでしょうか?

131nobodyさん
垢版 |
02/09/09 13:20ID:???
W3C・・・・無能であることは確かだ。
132nobodyさん
垢版 |
02/09/09 15:14ID:???
>>130
http://pc.2ch.net/test/read.cgi/php/984851406/129-130
133nobodyさん
垢版 |
02/09/09 19:45ID:???
>>130
selectSingleNode()で検索してみれ
134nobodyさん
垢版 |
02/09/15 22:02ID:???
ノードの在る無しという条件で、
処理を分岐するというのがどうすればいいのかよくわかりません。

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

?????にどう書けばいいのかな。


135nobodyさん
垢版 |
02/09/15 23:45ID:???
>>134

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

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

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

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

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

test属性値については、boolean関数が適用されます。
http://www.w3.org/TR/xpath#function-boolean
test属性値にノード集合を指定した場合、空ならfalse、それ以外はture.
138134=136
垢版 |
02/09/17 02:50ID:???
でキタ━━━(゚∀゚≡(゚∀゚≡゚∀゚)≡゚∀゚)━━━━!!!!!!!!!!

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

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

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

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

XML使いの板
http://pc3.2ch.net/test/read.cgi/hp/984950028/
レベル低め、XSLT中心、WEBでの利用。

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

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

 …てのはだめなんだよな。
おれも情報きぼん
152nobodyさん
垢版 |
02/10/07 05:30ID:???
拾ってきた
http://pc3.2ch.net/test/read.cgi/tech/1014643296/147
153nobodyさん
垢版 |
02/10/11 04:30ID:???
XSLTパーサのXERCESをインストールしようとしているのですが,うまくいきません.
解凍した後,コマンドラインから

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

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

Exception in thresd "main" java.lang.NoClassDeFoundError

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

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

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

戻す。
XML[B]の情報 + XSLTの情報 → XML[A]
156nobodyさん
垢版 |
02/10/29 19:23ID:???
>>155
問題になるのは変換時に捨ててしまった情報をどうするかだと思われ。
157nobodyさん
垢版 |
02/10/29 23:52ID:???
完全な再現は出来ないと思う。
同じXSLTを使って、おなじXML[B]を生成するのなら、出切るかもしれない。
いや、正直わからん。俺頭悪いし。
158八べえ
垢版 |
02/11/12 15:09ID:gxn/By35
Cocoon2を使用して、WEB表示を行うとソースに
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
が追記されてしまいます。
これにより、Shift-JISで書いているxml,xsltが文字化けを起こしています。
sitemap.xmap,cocoon.xconfをみてもそれらしき設定が見当たりません。
どのようにしたら、追記されなくなるのでしょうか?


159bloom
垢版 |
02/11/12 15:36ID:VFQMwTMk

http://homepage.mac.com/bloombloom/
160HTMLをSJISで表示
垢版 |
02/11/13 10:55ID:oYHYr3JM
>>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
161XMLをSJISで出力
垢版 |
02/11/13 11:03ID:oYHYr3JM
hello.html を指定すると UTF-8版が表示され、
hello-sjis.html を指定すると、 SJIS版が表示されるようになる。

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

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

<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 のように別ウィンドウを開かないでリンク先を表示させるにはどうすればいいのでしょうか?
167166
垢版 |
02/12/09 01:51ID:???
自己レスです。

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

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

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

http://www.zdnet.co.jp/news/0302/12/nebt_21.html

MicrosoftはInfoPathで作成したフォームを使い
医療電子データ交換用形式で送るデモも実施。
同社はXFormsではなくXSLTの採用を決定

176nobodyさん
垢版 |
03/02/12 17:56ID:gzTJY/OJ
http://www.agemasukudasai.com/bloom/
177nobodyさん
垢版 |
03/02/20 19:11ID:ywFHezDA
名前空間接頭辞 foo と bar を使った xml 文書があります.
----------
<foo:root xmlns:foo="http://foo-namespace" xmlns:bar="http://bar-namespace">
 <bar:e1>this is <foo:e2>a</foo:e2> pen. </bar:e1>
</foo:root>
----------
これを以下の xslt に食わせて,
foo に属する要素を全て bar の要素に変換します.
----------
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:foo="http://foo-namespace" xmlns:bar="http://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="http://bar-namespace" xmlns:foo="http://foo-namespace">
 <bar:e1>this is <bar:e2>a</bar:e2> pen.</bar:e1>
</bar:root>
----------
結果として全く使われていない foo に対する宣言が文書に含まれてしまいます.
exclude-result-prefixes="foo" を指定しても,bar:e1 要素に宣言が現れるだけで意味がありませんでした.
これを取り除く (最適化?) することはできないのでしょうか.
いや,実害はないんですけど気持ち悪くて...
レスを投稿する


ニューススポーツなんでも実況