XML教えて教室

このエントリーをはてなブックマークに追加
570教えたる
<th rowspan="{count(...)}"> では?
571571:02/01/29 09:39
変数の割り算をしようとし、(int1÷int2)
<xsl:value-of select="$int1 div $int2" />
と書くと、結果が0.6666666666666666とでるのですが、
これを小数点以下3桁までを表示させ、以下は切り捨てなり四捨五入なりで省きたいのです。
0.1234567 > 0.123
1.2 > 1.200
99 > 99.000
の様にする方法をご教授願えると幸いです。
572教えたる:02/01/29 10:05
<xsl:value-of select="format-number($int1 div $int2, '##.####')" />
573571:02/01/29 10:11
572氏に深く感謝の意を表明させて頂くと共に喜びまくりな所存であります。
574569:02/01/29 10:22
>>570
なるほど!ありがとうございました。
もしかして基本的事項ですね。
教えて君ですみません。

立て続けに申し訳ないのですが、もうひとつ。
ここでは「日本」-「都道府県」-「市町村」という階層構造を仮定して…
自分が札幌市にいる場合、札幌市が北海道で何番目かを知るには
position()を使うと思うのですが、札幌市にいながら、
自分のいる都道府県である北海道が日本の何番目かを知る方法はないのでしょうか。
575デフォルトの名無しさん:02/01/29 10:39
>>574

<a>
<b>
<c name="A市"/>
<c name="B市"/>
<c name="さぽーろ"/>
<c name="C市"/>
</b>
</a>

でいま札幌に居るんだったら、
<xsl:value-of select="count(preceding-sibling::c) + 1"/>
あたりでダメかい?試してないけど。preceding-siblingは、「兄」を
全て選択します。
576デフォルトの名無しさん:02/01/29 10:46
すまそ、ちと読み間違った
577570:02/01/29 10:52
[XML]
<?xml version="1.0" encoding="EUC-JP"?>
<a>
<b name="A県">
<c name="A市"/>
<c name="B市"/>
</b>
<b name="B県">
<c name="C市"/>
<c name="sapporo"/>
</b>
</a>

[XSLT]
<?xml version="1.0" encoding="EUC-JP"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="EUC-JP"/>

<xsl:template match="a">
<result>
<xsl:apply-templates select="b"/>
</result>
</xsl:template>

<xsl:template match="b">
<xsl:apply-templates select="c[@name='sapporo']"/>
</xsl:template>

<xsl:template match="c">
<xsl:value-of select="count(../preceding-sibling::b) + 1"/>
</xsl:template>

</xsl:stylesheet>

[結果]
<?xml version="1.0" encoding="EUC-JP"?>
<result>2</result>
578569=574:02/01/29 11:22
>>575
>>577
上手くいきました!大感激です。ありがとうございました。
position()でどうにかなることを期待していたのですが、
これは、兄弟中の自分の順位を知るのみであって、
親の兄弟の中の親の順位を知ることは駄目なんですね。
勉強になりました。
579教えてクン:02/01/29 21:41
グローバル属性(名前空間プレフィックス付属性)を使った
システムって見かけんのだが、何で?
要素はそのままで属性だけ拡張したいってケースもあると思うんだが
そんな目的に使っちゃダメなのかい。
580そしんしゃ:02/01/31 23:54
XSL自身の変数の値をDOM使って書き換えて、動的に表示方法を変えることってできる?
581そしんしゃ:02/01/31 23:55
変換するんだから無理か。。
582デフォルトの名無しさん:02/02/01 01:12
>580
XSLTにパラメータを与えることができる。
XSLT内部では普通の変数と同じに扱われる。
583そしんしゃ:02/02/01 02:14
transformNodeでパラメータを渡すことはできる?
CGIみたいにはいかないみたいね。。<test.xsl?param=value
584デフォルトの名無しさん:02/02/01 23:18
つーか、ブラウザから直接 http://.../hoge.xsl を参照しないのでは?
585そしんしゃ:02/02/02 02:26
xmlからの呼び出しとかでも試したけど無理みたいね
やっぱxsltを複数用意するか動的に生成するかしないと表示法は変えられないわけだ。。
xmlの魅力が下がった
586デフォルトの名無しさん:02/02/02 02:31
おい そしんしゃ よ。
どんなXSLTプロセサ使ってるかもかかないでそれはないだろう。

まさかXSLTはIE専用の技術だとか思っている真性?
587そしんしゃ:02/02/02 02:33
ネットで使うの
申請でゴメソ
588デフォルトの名無しさん:02/02/02 02:36
つまりIE側でXMLをXSLTで変形するってことね?
凝った事がしたいならサーバサイドでの処理を考えな。
http://xml.apache.org/cocoon/ 見ろ。

つーか真性なオマエにはこっちか?
http://www.google.co.jp/search?hl=ja&q=IIS+XSLT&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
口悪すぎ
590588:02/02/03 00:15
スマソ。状況を書かないクソ質問につい。
transformNodeを知らないんでしょ(ぷ
591=そしんしゃ
593すみませんが:02/02/03 10:49
以下のように人物を年齢順にソートしようとしたのですが、
どうも属性値が文字扱いされているようで一文字目の大小だけで
200歳が60歳の前に来てしまいます。
<xsl:for-each select="登場人物/人物" order-by="+@年齢">
属性値を数値扱いしてソートする方法はないのでしょうか?

<xsl:for-each select="登場人物/人物">
<xsl:sort select="@年齢" data-type="number" order="ascending" />
としてもどうも上手くいきません。つまらない質問で恐縮ですがどなたか
ご指摘頂けると有難いです。
594デフォルトの名無しさん:02/02/03 14:18
変数いじれないXSLTはつかえねー。
俺の会社でも見きりをつけつつある。
595デフォルトの名無しさん:02/02/03 15:53
>594
手続き型言語じゃないからねえ。Lispできるひとでも連れてきて教えてもらったら?
まぁ、業務で使えんと判断するのはわからないでもないですけど。
596570:02/02/03 16:08
>>593
僕の環境では <xsl:sort data-type="number" .../> でいけてるよん。
ちゃんと実装されてないんでしょうかね。

でね、Workaroundも考えました。以下でどうでしょう。@年齢の最大桁数がわかっている
場合しか使えませんけど、年齢ならせいぜい3桁だからOKでしょう。

[sample-xml]
<?xml version="1.0"?>
<foo>
<bar age='1'/>
<bar age='8'/>
<bar age='60'/>
<bar age='200'/>
</foo>

[xslt]
<?xml version="1.0"?>

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

<xsl:template match="foo">
<foo>
<xsl:for-each select="bar">
<xsl:sort select='format-number(@age, "0000000000")'/>
<xsl:copy-of select="."/>
</xsl:for-each>
</foo>
</xsl:template>

</xsl:stylesheet>

[結果]
<?xml version="1.0"?>
<foo><bar age="1"/><bar age="8"/><bar age="60"/><bar age="200"/></foo>


597570:02/02/03 16:44
>>593
http://qa.xml.gr.jp/data/xsl/files/0045.xml
こんな凝ったサンプルもありました。
598すみませんが:02/02/03 21:44
レス遅れてすみません。まだまだ素人なもので
分からない構文などありましたが教えていただいた例を
以下のように書き直したらソートできました。
また参考までにお伺いしたいのですが
この場合では昇順でしたが、属性値の降順に並び替えることは
できるのでしょうか??
でも肝心の自分のソースは未だ文字化けが続いて困っています。
しばらくいろいろ試してみます。
本当にどうも有り難うございました。

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="xsl.xsl"?>
<foo>
<bar age='200'/>
<bar age='8'/>
<bar age='1'/>
<bar age='60'/>
</foo>

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="foo">
<xsl:for-each select="bar">
<xsl:sort select='format-number(@age, "0000000000")'/>
<xsl:value-of select="@age"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
599570:02/02/03 21:53
あ、降順か。それなら
<xsl:sort select='format-number(@age, "0000000000")' order="descending"/>
にすればイケませんか? ウチではOKでした。(これも効かなかったりして…。)

>でも肝心の自分のソースは未だ文字化けが続いて困っています。
<?xml version="1.0" encoding="ほげほげ"?>
とか
<xsl:output method="html" encoding="ほげほげ"/>
あたりの指定をしていないとか?

ちなみに、ご利用のXSLTプロセッサは何ですか? MSXML(IE)?

>>594
XSLTの中にスクリプト埋められる処理系つかったらどうでしょう?僕はCocoonで
XSLTの先頭でJavaの変数宣言して、テンプレート中でその変数いじくりまわして
楽してました。手続き的に書けて、XSLTになれるまでは結構快適でしたよ。
601570:02/02/03 22:12
万一 order="descending" が効かなければ、
<xsl:sort select='format-number(9999999999 - number(@age), "0000000000")'/>
でもいいですね(W

#ほとんど算数のパズル…
602すみませんが:02/02/03 22:12
570様へ、使っているのはie6.0ですが下記のxslの該当部分の
<xsl:for-each select="登場人物/人物" order-by="+@年齢">を
<xsl:for-each select="登場人物/人物">
<xsl:sort select='format-number(@年齢, "0000000000")' order="descending"/>
に変えても文字化けは直りませんでした。
何か根本的なミスでもしているのでしょうか。
たびたびの質問で申し訳ありませんが
以下がxslファイルでsample.xslです

<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<head>
<title>
</title>
</head>
<body>
<xsl:apply-templates select="テレビ/作品" />
</body>
</html>
</xsl:template>

<xsl:template match="作品">
<xsl:for-each select="登場人物/人物" order-by="+@年齢">
<table width="530" border="0" cellspacing="1" cellpadding="1">
<tr>
<td colspan="2">
<xsl:value-of select="@名前" /> 年齢:<xsl:value-of select="@年齢" />
</td>
</tr>
<tr>
<td align="left">
<xsl:value-of />
</td>
<td align="left" valign="bottom">
<img>
<xsl:attribute name="src">
<xsl:value-of select="@画像" />
</xsl:attribute>
</img>
</td>
</tr>
</table>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
603すみませんが:02/02/03 22:14
以下がXMLファイルでsample.xmlです
<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="sample.xsl"?>
<テレビ>
<作品 作品名="BRIGADOONまりんとメラン" 監督="米たにヨシトモ" 製作会社="サンライズ" 製作年="2000" 画像="marin/marin_t1.jpg">
<登場人物>
<人物 年齢="15" 名前="浅葱まりん" 性別="女" 画像="marin/marin.gif" >test1</人物>
<人物 年齢="200" 名前="メラン_ブルー" 性別="男" 画像="marin/meran.gif">test2</人物>
<人物 年齢="14" 名前="如月萌" 性別="女" 画像="marin/moe.gif" >test3</人物>
<人物 年齢="13" 名前="亜呂真" 性別="男" 画像="marin/aroma.gif" >test4</人物>
<人物 年齢="68" 名前="浅葱モト" 性別="女" 画像="marin/moto.gif" >test5</人物>
<人物 年齢="0" 名前="御納戸志郎" 性別="男" 画像="marin/shiro.gif" >test6</人物>
</登場人物>
</作品>
</テレビ>
604570:02/02/03 22:20
え、何が文字化けするんですか?
出力のHTML?
605すみませんが:02/02/03 22:30
xmlファイルをダブルクリックすると出力のhtmlが
下のように文字化けして 表示→エンコードでも西ヨーロッパ言語しか
表示されなくなります。
他の方のブラウザではちゃんと出力されるのでしょうか??
XML Ú0ü0¸0’0hˆ:yg0M0~0[0“0
XSL ¹0¿0¤0ë0 ·0ü0È0’0O(uW0_0 XML eQ›Ro0hˆ
:yg0M0~0[0“00 ¨0é0ü0’0ŠckW0f0O0`0U0D00 [ôf°e]
Ü0¿0ó0’0¯0ê0Ã0¯0Y0‹0K00~0_0o0Œ_g0„0Š0ôvW0f0O0`0U0D00


--------------------------------------------------------------------------------

­0ü0ï0ü0É0 xsl:sort o0 TMRzz“• http://www.w3.org/TR/WD-xsl g0O(ug0M0~0[0“00

606お馬鹿:02/02/03 22:32

HTML変換後にMETAタグによるコード指定でUTF-8が指定され、
結局文字化けするという現象がでることがあるらしいです。

MSXML4では修正されているそうです。
http://www.microsoft.com/japan/developer/xml/downloads/msxml4.asp
607すみませんが:02/02/03 22:36
そうなんですか??...必死であちこち探し回って土日つぶして
悩んでたのに...早速試してみます。
本当にどうも有り難うございました
m(_ _)m
608606:02/02/04 01:19
607さんは寝ましたか?
色々と調べていたら、どうやら605のレス(これはIEでの表示ですよね?)
の表示内容(このような表示になる場合は、という意味)はXMLのencoding
とかのエラーではなく、「データ」にエラーがあるようです。

普通、IEはエラーメッセージを日本語で返しますよね。これはエラーメッセージ中に
ブラウザが処理できない文字コードが存在しているという理由らしいです。

ソースは XML Press Vol.5 P.169-170 です。

では。
609607:02/02/04 08:40
どうもすみません。msxml4.0入れたのに直らないので
諦め果てて寝てしまいました。データ―にエラーですか...
一応元のファイル(ここの掲示板に貼ったものではちゃんと動作したんですが)
たった一行を書き換えただけでエラーが出るなんて...
とりあえず自分でも色々調べてみます。
お忙しいところどうも有り難うございました。m(_ _)m
610609:02/02/04 12:26
あとすみません。どうもインストールしたMSXML4.0が
上手く働いていないようなのでreplaceモードでインストールし直したいのですが
replaceモード用のインストールファイルはマイクロソフトのサイトでも
バージョン3のものしか見当たりません。バージョン4をreplaceモードで
インストールするのにも使えるのでしょうか?
どなたか簡単にお答えいただけると嬉しいです。
611デフォルトの名無しさん:02/02/04 14:14
612610:02/02/04 18:18
>>611どうも有り難うございます。バージョン4から無くなったのですね
それにしてもマイクロソフトの解説で
「このリリースでは、置換モードは完全に MSXML 4.0 から削除され、
MSXML 2.0 エミュレーションを Internet Explorer のために利用することが
できなくなりました。それは Internet Explorer で XML ファイルを
直接表示させようとしたときに MSXML 4.0 のコンポーネントが
利用されないことを意味しています。」
はぁ 直接ブラウザで確認することを前提にxslを覚え始めたのですが...
前途多難ですね。とりあえず頑張ってみます。
613155:02/02/04 18:41
>>612
サーバーでHTML変換してからクアイアントに渡すのが今の流行。
それとも携帯にXSLTプロセッサ積むか?
614携帯開発部隊:02/02/04 18:58
>>613
や・め・て〜〜〜
ワラタ
616デフォルトの名無しさん:02/02/04 21:58
ま、サーバサイドが主流になるのは良いことではないかと。
617デフォルトの名無しさん:02/02/05 01:20
結局、IEからはMSXML 2.0相当の処理しかできないから、いろいろ使えないXSLTの
要素なり関数なり機能なりがあるし、そういうの使うと化け化けのエラー画面になる。
ってことでいいの?

618612:02/02/06 17:47
たびたび馬鹿な質問ですみません。これまで途中の階層のノード「作品」の中に
解説用のTEXTと子ノード「登場人物」を置いてXMLを書いていました。
ブラウザでのXSLの表示はうまくいっていたのですが
改めてDTDを定義するにあたり<!ELEMENT 作品 (#PCDATA,登場人物)+>を
定義しようとすると「混合内容モデルには、この文字を含むことができません」
とエラーになります。これは途中の最下層以外のノードにTEXTを置いては
いけないということなのでしょうか?それまで作っていたものをすべて
<!ELEMENT 作品 (解説,登場人物)+>
<!ELEMENT 解説 (#PCDATA)>
<!ELEMENT 登場人物 ()>
に書き直すのは大変なので、できれば途中の階層にTEXTを置ける
定義があればと思うのですが無理なのでしょうか?
619618:02/02/06 17:58
あ...すみません、無理みたいですね。要素中心にやるとどうしても
最下層の1要素に1テキストの制限があって冗長になるのでなんとか
短くできないかと思ったのですが...属性なら途中の階層の属性値も簡単に
取り出せるので、これからは属性中心にやる事にします。お騒がせしました。
620デフォルトの名無しさん:02/02/08 01:49
WinNT4.0+Java1.2.1+Tomcat4.01で、Cocoon2がJavaでエラー出て動きません。
621 :02/02/08 06:30
XMLクソ面白い。自分のWEBは全部XMLに書き直しました。
変態の登場です
>620
で?
624デフォルトの名無しさん:02/02/08 18:45
Cocoonって死滅しちゃうの?
>>624
え、ソースは?
Cocoon2 ってこれからじゃないのか....
勉強しはじめようと思った矢先なのに...
626デフォルトの名無しさん:02/02/08 18:59
Cocoon2って何の意味があるんだよ。
XML・XSLT・XSPが、JSPとサーブレットでやるのより
何が優れてるのか。Cocoonもjavaソース生成するんだから、
重くなるだけ。無駄
XML+XSLT は JSP(=Java) と比べて機能が”少ない”のが重要なんだよ。
記述能力が高すぎたり副作用があったりすると
余計なバグを埋め込みやすいしテストも面倒。
ロジックと見た目を XML というレイヤによって分離することで、
ロジックのテストを XML の検証(DTD使った文法の検証だけじゃないよ)によって
行うことができる。これ重要。同様にビューのテストも楽になるし。
628デフォルトの名無しさん:02/02/09 11:08
もっとあげようよ
629デフォルトの名無しさん:02/02/09 11:09
別のスレを立てたけど、ここを使わせてもらおう..

でだ、ちと HTML用に書かれたライブラリみたいなもの
(DOMっぽいことはやってる) を XML用に直そうとか
思ってるんだか、以下のところどうなってるん?

・CSSで XML名前空間とか扱えるの?
・DOMでの扱いはどうなるん?

これ使って SVG viewerとかつくれないかな、とか考えてるんで。

一応 CSSって 2バイト文字でも検索したけど、話題でてなかったみたいだから..
w3cはそういうのちゃんとそういうの考えてるの?
とか小一時間問い詰めたい気分。
630デフォルトの名無しさん:02/02/09 13:17
XMLをC言語で実現したいのですがいいページありますか?
またXMLはクラスに対応した言語で使う事を前提にしているというような事を聞いた事がありますが
どういうことでしょうか?
全部lispでやれ
632デフォルトの名無しさん:02/02/09 17:42
>>630 expat http://expat.sourceforge.net/ かなぁ。
って、実は私も、今日発見したてで、よく分からん。Mingw で使いたいんだけどなぁ。
>>177 さんなら、知ってるんではないかと思いつつ。
633デフォルトの名無しさん:02/02/09 18:22
M  S  X  M  L  4
上でも出たけどlibxml
635デフォルトの名無しさん:02/02/09 22:21
>>630
expatだったら、http://modxslt.sourceforge.net/
あたりは参考になりそうよ。
636デフォルトの名無しさん:02/02/09 22:24
libxml2 はなかなかいいっすよ。
637デフォルトの名無しさん:02/02/09 22:27
>>636
iconv使ってるのがちょっとな…
エディタなんだけどさ、Athens使ってみたんだけど、
プレビューすると、100%の確率でランタイムエラー
おきるんだけどなんでかな?
他にもいいエディタあったら教えて。
639デフォルトの名無しさん:02/02/09 22:35
xyzzy + xml-mode ズザー

>>639
xyzzyのxml-modezって、どこから入手出来ますか?
MLの過去ログにあったリンク先は消えてたんですが・・・
642デフォルトの名無しさん:02/02/10 17:47
>>638
うちでも同じくプレビューで落ちる。
原因わかる人、情報キボーン
643デフォルトの名無しさん:02/02/10 21:02
JavaでOracleのパーサ使ってDOM使ってるんですが
DTD側にタグの出現順序指定があるとき、タグの挿入位置を
特定するには皆さんどういう方法を使ってますか?
自分はOracleの拡張機能でDTDの中からElementDeclを探し出して、
自分より後ろにあるべき要素を探してinsertBeforeするっていう
力任せな方法でやっちゃったんですが、これだと他のパーサで使え
なさそうだし、標準のDOMのAPIだけでできる方法ってありますか?
もしくは、自分はこうやった、って言う人(言語問わず)教えてください。
644デフォルトの名無しさん:02/02/10 21:40
まじめに聞いてどうするねん 643
>DTD側にタグの出現順序指定があるとき
つねにあるのでわ…

646デフォルトの名無しさん:02/02/10 22:04
>>643
DTDは人間が読んで理解しておくもので、プログラム(バリデータ除く)が読むもの
ではないと思っているんだけど間違ってる?

>標準のDOMのAPIだけでできる方法ってありますか?
どうしても、というならDTDをRELAXかXML Schemaに機械的に変換しておいて
DOMで読む。ってアドバイスになってないけどさ。

647643:02/02/10 23:30
返答ありがとうございます
>>644
あ、ダメだった?スマソ
けど返答もらえてしまったので許して(w
>>645
う、そ・・・そうだよね、その通りです。
>>646
私もそうあるべきだと、思ったんだけども
例えば
<!ELEMENT hoge (tag1?,tag2?,tag3?,tag4?,tag5?)>
なんて時に、tag2を追加する位置を特定するのに、tag3の前か
tag4の前かtag5の前か、はたまたhoge内の一番後ろかっていう
判断をつけるのに、まさかtag3/4/5を固定で探しに行くのも
マヌケだし(こういうケースが沢山あって、しかも実際にはtag10
くらいまであるような感じ)DTDを読んじゃうようにしてしまいました。
こんなに位置の特定に苦労するようなDTDもおかしいのかな?

レスどうもありがとうでした。
648645=646:02/02/11 03:23
>>647
>こんなに位置の特定に苦労するようなDTDもおかしいのかな?
いままでやったことあるのは、

1. tag1,tag2... の各要素の出現順を辞書順にしておく
<hoge>
<aa/>
<ab/>
<b/>
</hoge>

2. RELAX NG でスキーマ定義して、hoge要素中の各要素の出現順を「順不同」にする
3. そもそも、validであるかなど気にしない(ワラ

のどれかだなぁ。がんばってください(w

649デフォルトの名無しさん:02/02/11 06:14
>自分はOracleの拡張機能でDTDの中からElementDeclを探し出して、
>自分より後ろにあるべき要素を探してinsertBeforeするっていう
しかし、この処理を十二分に抽象化して書かないと、tag1,tag2..って要素名を
ハードコードするのと大差なくなる(上に複雑な分だけわかりにくい)ような気が
するのは俺だけ?
650643:02/02/11 22:00
>>648
なるほど・・・やっぱりDTDの作り方がポイントですね

>>649
確かにその通りだと思う、けど今回は
タグを追加する個所が何十箇所もある状態だったんで、ハードコード
してしまうよりはまだしもかなぁと思って、タグ追加用のメソッドを
作って643の処理をさせることにました。
複雑化した分は、丁寧にコメント付けて許してもらう感じで(w

けど、結構前に書いて未だに引っかかるから、改めて聞かせてもらいました。
どうもありがとうごさいました。
651デフォルトの名無しさん:02/02/12 22:20
みなさんに質問。
XMLエディタは何を使ってるんですか?
テキストエディタと比べたときの利点とか、
そのエディタを選んだ理由なども教えてもらえると嬉しいです。
652アゲ:02/02/13 00:47
知りたいので揚げておく
VCのエディタ
654デフォルトの名無しさん:02/02/13 01:07
3秒前にこれを見つけたのでいまから試す。
http://park.ruru.ne.jp/ando/work/who/epojava/doc/xml.html
655デフォルトの名無しさん:02/02/13 22:26
notepad only
656デフォルトの名無しさん:02/02/19 23:03
誰かわかる人がいたら教えてください。
Windows2K Tomcat4.0.2、FOP0.20.3の環境下において、
Servletで、PDFを生成しようとしています。

1.
Illustrator10では、FOPサンプルのPDFが開かない。
ちなみに9.0とAcrobat Reader5.0だったら開く。

2.
FOPでの日本語禁則処理のやり方。

3.
IllustratorのSVGファイルをFOPで次のように取り込む。
<fo:external-graphic src="file:/C:/test.svg"/>
一度PDFを生成して、次にsvgファイルを変更して再度PDFファイルを
生成したときに、変更したsvgファイルが反映されない(前のバッファが働いている模様)。
とりあえず、svgにそのつど別名をつけて回避はできているが、よりよい方法はないか?

長くなりましたが、よろしくお願いします。
657びょ:02/02/20 20:45
BSML(Bioinformatics Sequence Mark-up Language)
についておしえてください。
バイオ・ゲノムがらみのXML動向やなんかも。
658仕様書無しさん:02/02/20 21:29
>>657
へーイ。そういう特殊なのは自分で探し給え。
G-XMLでさえ殆ど文献ないのに。
つーかむしろ生物板いけっすね。でもXMLの規約なんてデータだけ見ても
大体見当付くと思うよ。
660デフォルトの名無しさん:02/02/23 01:21
FOってスラッシュドットで載ってよ。
661名無しさん@Emacs:02/02/25 02:02
XMLの妥当確認をするlintチックなアプリケーションって
あるのでしょうか…
662デフォルトの名無しさん:02/02/25 02:16
663デフォルトの名無しさん:02/02/27 01:44
類似すれ乱立によりあげます
>>661
http://validator.w3.org/
名前は HTML Validation Service だけど、
SGML / XML ならなんでも検証できる。
>>661
libxml2 付属の xmllint
666デフォルトの名無しさん:02/02/27 22:55
>>664
validかどうかの検証もできるの? 対応すきーまは?

667387:02/02/28 02:48
>>666
DTD オンリーかな?
ちなみにパーザ自体はこれを使っている↓
http://www.jclark.com/sp/
668ロック:02/03/06 00:14
XMLファイルの読み書きをするにあたって、xmlファイル自体の排他処理って
どうなってるんでしょう?

たとえばDomだと、
xml.load("hoge.xml");
// メモリ上で編集
xml.save("hoge.xml");
の間で別の誰かにhoge.xmlを編集されちゃったら困ります。

Domのloadには、Writeopen+lockの機構って備わってないんでしょうか?
それはライブラリではなく、
プログラム書く側が面倒みるべきことかと
670ロック:02/03/06 00:29
>>669
やっぱり、べたべたにロック機構を実装しないかんってことですね。
どうせみんな組み込むのだから、ライブラリ側に組み込まれてないかなー
とおもったのですが・・・残念。
>>670
ファイルロックはXML自体と関係無いでしょ。
672ロック:02/03/06 00:38
>>671
まあそうなんですが、load,saveがあるからひょっとしたら、と思ったんですよ。
Webアプリとか作るときには必ず問題になるはずなんで。
>>672
アプリ用ファイルサーバ(ファイルI/O担当)クラスをシングルトン
で自作する。それが一番簡単。
674ロック:02/03/06 00:55
>>673
ofstreamかなんかから派生させてlibにでもしときますかね。
汎用のライブラリはないのかなあ。

#実はシングルトンがわからなかったり・・・
>>674
ストリームを派生する?ちゃうちゃう、もうちょっと上のレイヤー。
DBサーバみたいなイメージでアプリケーション全体のファイルI/Oを
管理するサーバクラスなりサーバプロセスなりを作るのよ。
676ロック:02/03/06 01:08
>>675
つまり、FileManager見たいなクラスをつくって、そこで
全てのファイルの入出力状況をテーブルなり何なりで持っていて、
全てのファイルIOはそのクラスを経由して行うってことでしょうか?

でそれをサービスなりデーモンなりで常駐しておくと。

なんか壮大な話になってきた・・・
677デフォルトの名無しさん:02/03/06 02:05
jdk1.4 java.uitl.loggingなんかがそれ。
拡張性を考慮しないなら難しくはない。
678ロック:02/03/07 18:19
つうことで、ASP、VC++プログラム、VBプログラムなどから同じXMLファイルを
触ることになるので、COMなるものを使ってXMLネイティブDBサーバもどきを
実装することになりそうです・・・

#排他したいだけだったのに・・・
679デフォルトの名無しさん:02/03/08 22:28
678>>
COMを使わなくてもDBにXMLを格納しておき、読み込むという手もある。
ASPを使うなら、現実的じゃないのか?

しかし、なんだか.NETっぽい内容だな。
実際678の言っている状況っていったいどんな時に発生するわけ?
なんか設計段階で無茶してる気がするが...

680デフォルトの名無しさん:02/03/09 12:24
3つのファイルから下記のような表示をさせたいのですが,
思ったように表示されません.
こういうことはxsltだけではできないのでしょうか?
ご指導のほど,よろしくお願いします.

・ほんとはこうやって表示して欲しい
nodeA 0A  1A  2A  3A
nodeC 0C  1C  2C  3C
nodeD 0D  1D  2D  3D

・でも実際はこうやって表示される
nodeA nodeA nodeA nodeA nodeA
nodeC nodeC nodeC nodeC nodeC
nodeD nodeD nodeD nodeD nodeD

・data.xml
<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet type="text/xsl" href="datadisp.xsl"?>
<result>
<root id="0">
<nodeA>0A</nodeA>
<nodeB>0B</nodeB>
<nodeC>0C</nodeC>
<nodeD>0D</nodeD>
</root>
<root id="1">
<nodeA>1A</nodeA>
<nodeB>1B</nodeB>
<nodeC>1C</nodeC>
<nodeD>1D</nodeD>
</root>
<root id="2">
<nodeA>2A</nodeA>
<nodeB>2B</nodeB>
<nodeC>2C</nodeC>
<nodeD>2D</nodeD>
</root>
<root id="3">
<nodeA>3A</nodeA>
<nodeB>3B</nodeB>
<nodeC>3C</nodeC>
<nodeD>3D</nodeD>
</root>
</result>

続きます
681デフォルトの名無しさん:02/03/09 12:25
・disp.xml
<?xml version="1.0" encoding="Shift_JIS" ?>
<root>
<element id="nodeA"></element>
<element id="nodeC"></element>
<element id="nodeD"></element>
</root>

・datadisp.xsl
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
<xsl:template match="/">

<xsl:variable name="data" select="/" />
<xsl:variable name="disp" select="document('disp.xml')" />

<table border="1">
<xsl:for-each select="$disp/root/element">
<tr>
<td><xsl:value-of select="@id" /></td>
<xsl:variable name="xxxid" select="@id" />
<xsl:for-each select="$data/result/root">
<td><xsl:value-of select="$xxxid" /></td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
682デフォルトの名無しさん:02/03/14 19:40
well-formedの検証で

<url>http://www.google.co.jp/search?q=cache:7p10RFh1by0:www.felix.or.jp/~yugo/js/location03.html+javascript++%83G%83%93%83R%81%5B%83h&hl=ja</url>

で、だめだから表示できないような、文字化けした表示が出ました。
どうやら「=」がだめっぽいのですが、
文字データ中に半角の = は、入れてはいけないのですか?
代用文字があったら教えてください。
ひっかかってるのは&じゃないのか?ちなみに&amp;で置き換える。
684デフォルトの名無しさん:02/03/14 19:54
felix.or.jpじゃなくてfelix.jpダネ!
685682:02/03/14 19:59
>>683

そうでした。アリガト
686デフォルトの名無しさん:02/03/15 12:08
xsl:for-each内で
数字をインクリメントするやり方を教えてください。
687デフォルトの名無しさん:02/03/15 12:34
IE6使ってるんですけど、
xmlがwell-formedじゃないと、
エラー表示が文字化けします。直す方法はないのでしょうか?
ちなみにエンドードは、Shift-JISしか選べないようになっている。
エンドード。Shift-JIS。
689デフォルトの名無しさん:02/03/15 13:33
>>686
激しくガイシュツ
http://pc.2ch.net/test/read.cgi/php/999654569/
9あたりから

>>688
揚げ足はいいから、原因は何?
690デフォルトの名無しさん:02/03/15 13:43
>>686
変数のインクリメントはできないよん。できないというか、発想が間違ってる。

call-templateで再帰して数えるか
ttp://moso.borogrammers.net/moso/diary/?200112c&to=200112212#200112212

軸(axis)を工夫
ttp://moso.borogrammers.net/moso/diary/?200201c&to=200201301S1#200201301S1
します。

後者のほうが理解が容易かもしれんけど、上のURLには(後者は)例が載ってないみたいな
ので、わからなければまた聞きなはれ。

691デフォルトの名無しさん:02/03/16 00:51
XML擦れはなんで盛り上がらないんだろうな
>>691
まだ、便利さに気づいていないとか。そんな俺も勉強中。
勉強するならイマノウチ。 遅いかな
693:02/03/17 14:04
JScriptから引数とってXSLTでxsl:ifやxsl:chooseで条件分岐したいのですが、
できますか?
(もしかして厨?宣言!)
出来たような。
695デフォルトの名無しさん:02/03/17 15:33
>>693
いみがよくわかんない。どんな環境でどんなファイル構成?
>>693
無理→XML使えねえ→終了
>>693
MSのサイトを探せば出てくるよ
大変だったような気がする
698:02/03/17 21:29
>>697
あそこだけは探したくない。ページ飛び遅いし...

市販の本見てたら、
なんかJScriptでgetElementByTagName("xsl:variable")したものを
変数に入れて、変数.text=入れたい値 として
XML側ではそのxsl:variable(いわゆるXSLの変数)の$hogehoge
で処理してた。ちょっとやってみます。
じゃあJScriptなんぞ使うな!!
700デフォルトの名無しさん:02/03/17 22:20
>698
そんな場当たり的なやつじゃなくて確かAddParameter?みたいなメソッドでできるはず。
701デフォルトの名無しさん:02/03/18 02:32
ちなみにxalanなら、XSLTプロセッサに処理を渡すときに、
-PARAM name value (Set a stylesheet parameter)
で渡せる。
702デフォルトの名無しさん:02/03/18 02:51
>>698
ほんとに探してるのか?
っていうか、Microsoft XML Core Services (MSXML) 4.0 をもっとしっかり読んだ方がよい。

var xslt = new ActiveXObject("Msxml2.XSLTemplate.4.0");
var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.4.0");
var xslProc;
xslDoc.async = false;
xslDoc.load("sample.xsl");
xslt.stylesheet = xslDoc;
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
xmlDoc.async = false;
xmlDoc.load("books.xml");
xslProc = xslt.createProcessor();
xslProc.input = xmlDoc;
xslProc.addParameter("param1", "Hello");
xslProc.transform();
alert(xslProc.output);
703:02/03/18 13:12
>>702
アリガト。深夜バイト行ってその後寝てた。

その"Hello"は、
<xsl:param name="param1">hoge</xsl:param>
に入っているで理解は良いの?
704:02/03/18 13:26
Microsoft XML Core Services (MSXML) 4.0 なんだけど、
サイト見に行ったら
これってプログラムだけでDocファイルなさそうだけど
いっしょに落ちてくるのかねぇ?

っていうか、今IE6.0用のWEB公開用で作っているんだけど
4.0って標準装備してたっけ?

またJDKみたいにユーザーにダウンロードさせてからでないと
見れないのでは、ちょっと困るな。
705702:02/03/18 16:25
File Name: Sample.xsl
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:param name="param1"/>
<xsl:template match="/">
The parameter value was: <xsl:value-of select="$param1"/>
</xsl:template>
</xsl:stylesheet>

Microsoft XML Core Services (MSXML) 4.0は
MSDN Home > MSDN Downloads > Web Development > XML Web Services へいってみると良い。

4.0は標準装備ではないけど、MSXML Parser 3.0はIE5.5で標準装備。
XSLTも使えたと思うが。
706デフォルトの名無しさん:02/03/19 15:42
わからん。お手上げだ。

XSLで変換したHTMLのinputの終タグだけなぜか抜ける。

- <body bgcolor="#FFFFCC">
<xsl:apply-templates select="リンク情報/グループ" />
- <form name="Myform">
<input type="radio" name="condition" value="C言語">C言語</input>
<input type="radio" name="condition" value="C++言語">C++言語</input>
<input type="radio" name="condition" value="MFC関連">MFC関連</input>
<input type="radio" name="condition" value="JAVA言語">JAVA言語</input>
<input type="button" value="変換" onclick="getParam()" />
</form>
</body>
</html>
</xsl:template>

変換した後のJavaScriptが動かない。

変換後
<form name="Myform">
<input type="radio" name="condition" value="C言語">C言語<input type=
"radio" name="condition" value="C++言語">C++言語<input type="radio"
name="condition" value="MFC関連">MFC関連<input type="radio" name="condition"
value="JAVA言語">JAVA言語<input type="button" value="変換" onclick="
getParam()"></form>
</body>
707デフォルトの名無しさん:02/03/19 15:48
出力をHTMLにしてるからだろ。XMLかXHTMLで出せば?
input に終了タグがあるのかと小一時間問いつめたい
709デフォルトの名無しさん:02/03/19 16:35
>>708
いいこと言った。
710デフォルトの名無しさん:02/03/26 23:00
保守
711デフォルトの名無しさん:02/03/28 20:01
3日ほど前から勉強してるんですけど、
DTDについて質問です。

例えば、

<販売店>
 <名前>ショップ2ch</名前>
</販売店>
<商品>
 <名前>モナー人形</名前>
</商品>

みたいな時に、"販売店"配下の"名前"と"商品"配下の"名前"を
それぞれ全く別な物として、ELEMENTタグで各個に定義できますか?
712>>711:02/03/28 21:25
できニャい
以上
713デフォルトの名無しさん:02/03/29 01:07
>>712
そうですか。さんきゅう。
714デフォルトの名無しさん:02/03/29 03:20
簡単だがここに載ってる。
http://www.asahi-net.or.jp/~ps8a-okzk/xml/xml_2/attlist.html

>同一の要素型に対して同じ名前の属性に関する属性リスト宣言が複数存在する場合には、
>最初のものだけが有効で、残りは無視されます。

>これは、異なる要素型に対してならば、 同じ名前を持った複数の属性を異なって(例えば異なる属性の型を持たせて)宣言できるということでもあります。
>同じ名前の要素に異なる構造の内容を与えることができないのと対照的です
--------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------
715デフォルトの名無しさん:02/03/29 03:28
XSLTが書き方が悪いのかうまく表示されない。

<?xml version="1.0" encoding="Shift-JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" version="4.01" encoding="Shift-JIS" indent="yes"/>
<xsl:template match="/">
<html lang="ja">
<head>
<title>リスト</title>
</head>
<body bgcolor="#FFCC00">
<xsl:for-each select=".">
<xsl:choose>
<xsl:when test="@区分名='2CH'">
<xsl:apply-templates select="ジャンル"/>
</xsl:when>
<xsl:when test="@区分名='言語'">
<xsl:apply-templates select="//言語"/>
</xsl:when>
</xsl:choose>
</xsl:for-each>

</body>
</html>
</xsl:template>
<xsl:template match="ジャンル">
<p>
<xsl:value-of select="@ジャンル名"/>
</p>
</xsl:template>
<xsl:template match="言語">
<p>
<xsl:value-of select="@言語名"/>
</p>
</xsl:template>
</xsl:stylesheet>
716デフォルトの名無しさん:02/03/29 03:31
XMLは、

〜中略〜
<リンク情報>
<分野区分 区分名="言語">
<言語区分 区分名="基本言語">
<言語 言語名="C言語">
<リンク先>
<題名>language C FAQ</題名>
<url>http://www.catnet.ne.jp/kouno/c_faq/c_faq.html</url>
</リンク先>
〜中略〜
<分野区分 区分名="2CH">
<ジャンル ジャンル名="ニュース">
<リンク先>
<題名>ニュー速</題名>
<url>http://choco.2ch.net/news/</url>
</リンク先>
〜中略〜
Validです。
717デフォルトの名無しさん:02/03/29 03:38
ちなみに最初はこれで、bgcolor反映されず表示できたが、
xsl:choose部分→<sl:apply-templates select="言語区分"/>
xsl:choose部分を別<template match="言語区分">タグ内に移したら
背景色は表示されるが、文字が出ず、
DOMでhtmlに変換したら,
<body bg〜></body>内に表示されるべきpタグがごっそり抜けてた。

何でた?
718715:02/03/29 04:19
自己レス。
分野区分を絡めるのを忘れてた。スマソ
いろいろやってみたが、
<xsl:template match="/">

A: <xsl:template match="/分野区分">
にすると、画面に背景色が表示されない。(さっき偶然できたものと思われ)
B: <xsl:template match="分野区分">
だと,ちゃんと動く。
Aは、ルートも入れたつもりだったが、これではい
けない理由は何だ?
719デフォルトの名無しさん:02/03/30 19:42
今はXML SchemaとRELAX NGではどちらが優勢でしょ?

後、RELAX NGを少し勉強したんですが、データ型について質問です。

<data type="integer" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" />

という記述を雑誌のXML WORLDで見たんですけど、
これはdatatypeLibraryで指定したURLに接続してintegerの定義情報を取得するって意味ですか?
(javaのimport文みたいな物?)
720知ったか君3号:02/03/30 20:03
普通の人→処理系が勝手にXML Schemaで処理。
オタ→RelaxNGで手書き。
少数派→DTDで何の不足も無いよ!!
では?
721 :02/04/01 11:08
relaxで書かれた文書があるのですが、この文書から、HTMLのフォームを楽に作り出す
方法はありませんかね?
722デフォルトの名無しさん:02/04/04 01:58
XSLTでJavaScriptを出力しようとして躓きました。

<a ・・・ onclick="hoge("para")">

をhtmlで出力しようとしていますが、
<a>
〜(中略)〜
<xsl:attribute name="onclick">
hoge(
(あ)
<xsl:value-of select="piyo"/>
(あ)
);
</xsl:attribute>

として、(あ)には「"」を入れたいのですが、
<xsl:comment>としても<xsl:text disable-output-escaping="yes">としても
<![CDATA[ ]]>で囲んでもDOM変換して、ソースを見てみると
&quot;になってしまいます。

何かいい方法はありませんか?
皆さんは、JavaScriptを含んだhtml文章をどうやってXSLTで変換していますか?
723721:02/04/04 10:52
結局DOMでパースして作った。
724デフォルトの名無しさん:02/04/04 13:08
XMLを勉強しようと思ってるのですが、
環境的にはLinuxかWindowsの方がいいのですか?

Macユーザーです。
ちなみにLinuxを入れようと思っております。
>>724

XMLだったら別にどっちでもいいような。
でもLinux使える状況だったらとりあえずLinuxにしとけ。
一般には不便だが、開発者としては便利だよ。と思た。
とりあえず無難にRedhatにしとけ。
>>712
こういうDTDは許されていないってことですか?
<!ELEMENT 販売店 (名前)>
<!ELEMENT 商品 (名前)>
<!ELEMENT 名前 (#PCDATA)>
やっぱこのスレはXSLTの話が多くなるね。
それでいいと思うけれど。
>>722
><;xsl:comment>としても<xsl:text disable-output-escaping="yes">としても
><![CDATA[ ]]>で囲んでもDOM変換して、ソースを見てみると
>&quot;になってしまいます。
それでいいはず。実装気になるんだったら試しにIEで確認してみ。
っていうか、onclick="hoge("para")"は文法的にヤヴァいよ。
漏れも実体参照、文字参照系で悩んだな……。
久しぶりにXML勉強する気になったよ。ありがとう。

>>727
まあ、広い範囲で言えば、一番普及してるのがXSLTだからね。
個人のウェブサイトでも使ってるし(漏れも使っているよ。年に一度のCopyrightの書き換えは便利)。
729722:02/04/05 14:21
>>728
確かに文法的にやばかったです。'でやって動きました。

ところで、実は別の問題にぶち当たりました。
今度やりたいのは、
「call-templateで呼ばれたときのカレントノードから見て、
その子ノードの属性にnameがあれば、1加えて、再帰する。
再帰したカレントノードの子ノードにnameがあれば、1加えて再帰する・・・
再帰したカレントノードの子ノードにnameがないときに、再帰を止める」
といったことです。以下のようにXSLTを書きましたが、
条件がうまく判定されてないのか、無限ループになってしまいます。
条件判別が悪かったのでしょうか?
それとも再帰のたびに下のカレントノードが下に移ってないのでしょうか?

〜(中略)〜
<xsl:attribute name="onClick">block_or_not(

<xsl:call-template name="seach_descend">
<xsl:with-param name="descending" select="1"/>
</xsl:call-template>
〜(中略)〜
<xsl:template name="seach_descend">
<xsl:param name="descending"/>
<xsl:choose>
<xsl:when test="*/@name">
<xsl:call-template name="seach_descend">
<xsl:with-param name="descending">
<xsl:value-of select="$descending +1"/>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
'<xsl:value-of select="$descending"/>',
</xsl:otherwise>
</xsl:choose>
</xsl:template>
730729:02/04/05 17:24
今、上の問題をいろいろ考えているのですが、

1つ思いついたのが、条件ノードもパラメータに渡して
変化を加えていくことです。
つまり
<xsl:with-param name="condition">
<xsl:value-of select="concat('*/',$condition)"/>
</xsl:with-param>
することで*/@nameを*/*/@name・・・と代えていき条件を見ようとしています。
しかし、最初に
<xsl:with-param name="condition">*/@name</xsl:with-param>
とすると、ノードとしてとらえてくれないようです。
($conditionを*にして試しに<xsl:value-of select="$condition/@name"/>
 などやると「パラメータ$conditionへの参照はノードリストへ評価する必要があります」
 と出てしまいます)
逆に<xsl:with-param name="condition" select="*/@name"/>とすると、
再帰する前の時点で*/@nameを(例えば自分の場合b-langなどに)変換してしまい。
デバックしてみると、
$condition→b-lang→*/b-lang→*/*/b-lang
となってしまって、思うようになりません。
($condition→*/@name→*/*/@name→*/*/*/@nameとしたい)

事前変換無しにノードとして認識させるにはどうすればいいのでしょうか?
また、もっと良い方法があるという方教えてください。
>>726
それはできる。
ただし、両方の'名前'要素の意味は基本的には同じ物になる。

# 例えば <!ATTLIST 名前 xmlns CDATA #REQUIRED > として
<名前 xmlns="http://foo.org/商品"> と <名前 xmlns="http://foo.org/販売店">
のような手段を用いれば「意味」を分けることもできるけど、
「'商品'要素直下の'名前'要素は 'http://foo.org/商品'」
「'販売店'要素直下の'名前'要素は 'http://foo.org/販売店'」
というような振り分けは DTD では表現できない。

…伝わるだろうか。
>>731
解説どうもありがとうございました。
伝わったと思います。多分。

ひとたびおなじ名前の要素にぶつかったら、
(XML文書のツリー構造の上下で)そこから下は
同じものにならざるおえない。ということですね?

同じ「名前」という要素で、その上位の構造によって
全く別々の構造を表現したい、というのもわからんでもないです。
が、なんとなく「ん?」と思うような気もします。なんでかというと、
> ただし、両方の'名前'要素の意味は基本的には同じ物になる。
というのは、当然のことだと思うからです。

「名前」は「名前」であって、人名/商品名/販売店名など、
どういう文脈であっても同じなんではないかと思います。
もし仮に「販売店」の名前のときのみ、なにか追加の構造
が必要なら、それは「販売店」特有の構造であって「名前」そのものが
違う構造になっているわけではない、と思います。
例えば、XMLからは離れてしまいますが、プログラミング言語などで、
 product_name: STRING;
 shop_name: STRING;
とかいう変数宣言があったとき、おなじSTRINGではありながら
shop_nameのときは別途追加の構造を作りたいというのは
そのままではやるのではなく、STRINGから継承したなにか
別のタイプを定義したりしますよね? あるいは、shop_nameを
利用する側で付加情報を別途保持するようにするとか。

なんとなく、商品−商品名、販売店−販売店名の例があまり
よくなかったのでは、という気もなきにしもあらずですが…。
同じ要素名なのに、文脈によって違う構造をもたなくてはならない
必然性のある例というのは他にどんなのがあるのでしょうか?
733デフォルトの名無しさん:02/04/08 09:55
あのー話が極端にかわるのですが、
PHPとXMLの連携は便利なのでしょうか?
734 :02/04/08 19:34
昔の話をぶり返してもいいですか? つか、ぶりかえします。

>>321 -332
このXSLTってXML形式じゃないっすよね。
(要はMSXMLな方言を使った方式)
勧告に沿った答えを知っている方、どうか回答お願いします。
Cocoon使うとこれじゃだめなのよ。ひーん。
735734:02/04/09 09:49
変数使ったらあっさりだったので自己レス。。。かっこ悪いかもだけど。
test.xml
---
<?xml version="1.0" encoding="Shift-JIS"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<?cocoon-process type="xslt"?>
<root>
<data>a</data>
<data>b</data>
<data>c</data>
<data>d</data>
<data>e</data>
</root>
---

test.xsl
---
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/profiles/XHTML-strict" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="xml" encoding="Shift-JIS" />
<xsl:template match="/">
<xsl:processing-instruction name="cocoon-format">type="text/html"</xsl:processing-instruction>
<html><head><title></title></head><body><xsl:apply-templates/></body></html>
</xsl:template>
<xsl:template match="root">
<table border="1">
<xsl:for-each select="data">
<xsl:variable name="CNT" select="position()"/>
<xsl:if test="position() mod 3 = 1">
<tr>
<td><xsl:value-of select="../data[position()=$CNT+0]"/><BR/></td>
<td><xsl:value-of select="../data[position()=$CNT+1]"/><BR/></td>
<td><xsl:value-of select="../data[position()=$CNT+2]"/><BR/></td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
736729:02/04/09 10:22
レスも返ってこず、自分でもいくらもがいてもできず、まだテンパッテます。

「XSLTで、再帰させてたときカレントノードを子ノードに移し
 カレントノードに移った子ノード属性にnameがあるか(<xsl:if test="@name">)」

としたい、または

「パラメータ使って、上記test式を*/@name,*/*/@name・・・と換えていきたい」
(実際パラメータ値は換えられるが、文字列であってノードセットとして認識しない)

この2つの方法が思いつきましたが、うまくいかないようです。
(xsxml:node-setは2番目の方法を可能にするが、IE6には対応してないようだ)

どなたかうまいやり方知っていますか?
それか上の2つのやり方で何とかならないですか?
737デフォルトの名無しさん:02/04/12 09:33
私はよくmsxmlを使ってxsltでxhtmlを出力しているんですが、
xhtmlではなくhtmlを出力する(平たく言えば昔のネスケでも読めるhtmlを出力する)方法は
ないものでしょうか?
738721:02/04/12 16:15
結局、
(1)relaxからフォームの自動生成
(2)フォームの入力結果から、xmlドキュメント

の二つを作った(domでパースして)(1)は別に
(1-a)キャプションとか
(1-b)必須項目かどうか
(1-c)テキストの際の入力領域のサイズとか
そういう情報は別の配列で用意した。

(2)は、入力結果をHashtable(キーが項目名で、値が入力された値)で用意して、またrelaxファ
イルをパースしてjava.lang.reflectでrelaxerが生成したクラスを生成して、setterメソッドで
入力値をセットした。最後にツリーのルートになるオブジェクトをxml化。

でも仕事でやっちゃったのでオープンに出来ないのが残念。多分探せばあるのだろうけど
わかんなかった。
>>737
XHTML は昔のネスケにも読めると思うが。
740デフォルトの名無しさん:02/04/14 02:08
>>739
non。
<br />なら認識するけれど、<br/>だと認識しない。
ま、仕方ないけれど、htmlの出力としては<br>を期待したいね。

>>737
確かmsxmlにはその機能があったと聞いたことがある。調べて是非報告してくれ
他のパーサなら、こうすればいいんじゃないか?
・子供要素を持たないタグ(ex:<br/>等)は、間に空のテキストノードを挿入して
 全て<br></br>という形にする
・実際に閉じタグのいらないタグ(ex:<br><hr>等)は、普通にテキスト処理で
 閉じタグを消してしまう。(中には</textarea>の様に、空でも閉じタグがいるものもある)
741デフォルトの名無しさん:02/04/14 12:39
>>737 >>740
ほえ???msxmlの機能???
ここの http://www.infoteria.com/jp/REC-xslt-19991116-jpn.htm
16章、xsl:output を読みなされ。
742739:02/04/15 09:29
>>740
勿論その程度の配慮はしてってことだよ。
そんなことを言い出したら HTML 4.01 にまともに対応している
ブラウザなんて皆無だろ。バグがあるってのと対応してないってのは違う。
743デフォルトの名無しさん:02/04/15 18:02
キミらズレまくり。741が理解できない?
744デフォルトの名無しさん:02/04/18 10:44
xsl:numberで21から番号の振り方教えてくれ。
745デフォルトの名無しさん:02/04/18 13:51
>>744
http://www.infoteria.com/jp/REC-xslt-19991116-jpn.htm の7.7嫁。
んで、きっともっと複雑なことがしたくなるんだろうけど、そしたら
http://pc.2ch.net/test/read.cgi/tech/982914729/570-
あたりにハゲしくガイシュツなのでそっちを参照のこと。
746デフォルトの名無しさん:02/04/24 13:15
<style type="text/css">
<!--
body{background-color : #ffffff;}
-->
</style>

xslファイルの<head></head>に↑を入れるとxmlの<body>以下が表示されなくなります。
コメントを外すと大丈夫みたいです。
なぜでしょう。
747デフォルトの名無しさん:02/04/24 14:03
スキーマってなんですか?
748デフォルトの名無しさん:02/04/24 14:24
>>746
.xsl に CSSとかJavaScriptとかかくときは、<!-- --> でなくて
<xsl:comment> で囲まないとダメでしょ。
749デフォルトの名無しさん:02/04/25 10:46
<meta name="author" content="<xsl:value-of select="制作者" />" />
メタタグ中の例えば上記だとauthor(制作者)情報もデータだと思うので
xmlに記述した<制作者>モナー</制作者>のデータを抽出しようと思ったのですが
うまくいかないです。これは普通にxslの中に
<meta name="author" content="モナー" />
と書くしかないですか?
bakabakka
MKrelaxってどうよ。
意味ある?
752デフォルトの名無しさん:02/04/25 15:11
誰か〜
753デフォルトの名無しさん:02/04/26 09:17
age
754デフォルトの名無しさん:02/04/26 13:33
>>749
<meta>
<xsl:attribute name="content">
<xsl:value-of select="製作者"/>
<xsl:attribute/>
</meta>
でダメか?
755 :02/04/26 17:41
Cocoon1.8.2 & Xerces-J1.4.4 使ってるんだけど
UTF-8 な XML をブラウザからアクセスしようとすると
16384(0x4000)byte目に 日本語タグ がある場合
エラーになっちゃうんだよねぇ。

なんとかならんかいな

〜<日本語タグ> 〜
   ↑このあたりがちょうど16384(0x4000)byte目なとき
>>749
&quot;
757デフォルトの名無しさん:02/04/28 17:36
XMLをXSLTを介して、DOMで変換したHTMLから
JavaScriptのJSファイルがうまく読み込めません。

JSファイルにする前はちゃんと動いていたものが
JSファイルに分割した瞬間どうも日本語が文字化けしたらしい。
DOM変換の後ちゃんとUTF-16からShiftーJISに変換しているんだけど
おかしい。

このような場合、変換HTMLとJSファイルがエンコードが一致しなくなっている
ということですか?
758デフォルトの名無しさん:02/04/29 01:13
XMLのサンプルなんかによく日本語タグが使われてるけど、
日本語タグって普通に使っちゃっていいの?できれば避けた方がいいの?
例えば<段落>〜</段落>とか。
759デフォルトの名無しさん:02/04/29 01:18
どう考えても普通は避けるべき
<danraku>でいいじゃん
>>758
Unicode なら OK
761sage:02/04/29 02:05
>>759-760
やっぱり避けた方がよさそうですね。ありがと。
XMLで象さんを倒せませんでした。

どかーん!
 (⌒⌒⌒)
  ||
 
 / ̄ ̄ ̄ ̄ ̄\
 | ・ U      |
 | |ι        |つ
 U||  ̄ ̄ ||
    ̄      ̄
 もうおこったぞう!
>762
これでどうだ?
<銃>44マグマム</銃>
<弾丸 水銀="+16">ダムダム弾</弾丸>
764761よ!聞いてくれ:02/04/29 13:12
んなこたーない。
普通に使ってるよ。
765755:02/04/29 14:10
でも普通に使って エラーになっちゃうんだよねぇ。<日本語タグ
この場合、どこに言えばいいんだろうか。
766デフォルトの名無しさん:02/04/29 15:22
>>764-765
うーん、そうですか。とりあえず使えるには使えるけど、
できれば避けた方が無難ってとこですね。

あと、もう一つ初歩的な疑問なんですが、xmlの中に
htmlで使われてるタグ(例えば<p>とか<b>とか)をそのまま
使っちゃうのってあり?
それとも<para>とか<bold>とかにすべき?
>>765
ストリームのバッファサイズが 16384 バイトで
文字の途中で区切れてるのかね。

>>766
ご自由に。DTD や Scheme は好き勝手作れるんだし。
>>766
つーか名前空間使おうよ。
769デフォルトの名無しさん:02/04/30 08:03
>>766 ってゆーかそのpとかbはホントにXML中のノードの意味を表すのかと小一時間(略
770755:02/04/30 09:47
>>767
そのようにみえるね。
Cocoon他のソース見たけど
情けないながらよくわからんかった。
771755:02/04/30 12:41
772デフォルトの名無しさん:02/04/30 12:43
なんでWeb制作板でやらないの?
773755:02/04/30 13:46
>>772
向こうはMSXMLな話題が多いからw
ってか、こうなったことのある人っていないのかな?

環境でどうこういうものじゃないとおもったんだけど。
774768:02/05/01 06:49
XMLを使ったアプリケーションや技術いっぱいあるけど
最近知ったのは、画像ファイルです。
そこで、
XMLでムービーや音楽って無理?
776デフォルトの名無しさん:02/05/01 12:09
<要素>あいうえお</要素>
<要素>
  <子供>かきくけこ</子供>
  <子供>さしすせそ</子供>
</要素>

「要素」要素に子要素があった場合はこの処理、それ以外はこの処理ってやりたいんですけど
どうやってやったらいいですか?
>>774
つーか、究極的にはバイナリを PCDATA で書けば何でもできるだろ。
意味や効率は置いといて。

>>776
XPath 使うとか。SAX ならフラグ立てとくとか。
778デフォルトの名無しさん:02/05/07 23:02
webのメニューの構造を表したいんですが、
こんな感じでいいんですか?

・HOME
・NEWS
 ・POST
 ・READ
  ・TOP5
・BBS



<MENU>
<CONTENT>
<URL>index.php</URL>
<TITLE>HOME</TITLE>
</CONTENT>
<CONTENT>
<URL>news.php</URL>
<TITLE>NEWS</TITLE>
<SUBCONTENT>
<CONTENT>
<URL>news_post</URL>
<TITLE>POST</TITLE>
</CONTENT>
<CONTENT>
<URL>news_read</URL>
<TITLE>READ</TITLE>
<SUBCONTENT>
<CONTENT>
<URL>news_top5</URL>
<TITLE>TOP5/TITLE>
</CONTENT>
</SUBCONTENT>
</CONTENT>
</SUBCONTENT>
</CONTENT>
<CONTENT>
<URL>bbs.php</URL>
<TITLE>BBS</TITLE>
</CONTENT>
</MENU>

コンテンツの中にさらにコンテンツがある事を示したいんです。
覚えたて2日なのでおかしいところあればズバッと指摘してください。
(XML宣言とかは省略しました)
>>776

<xsl:choose>
<xsl:when test="子供">
<!-- .... -->
</xsl:when>
<xsl:otherwise>
<!-- ... -->
</xsl:otherwise>
</xsl:choose>
780デフォルトの名無しさん:02/05/10 13:15
SAXなんですが、
DocumentHandlerを実装したクラスのClientクラス
がDocumentの情報を受け取りたいときって
どうすればいいんでしょう?
781780:02/05/10 13:19
誤爆スマソ
782デフォルトの名無しさん:02/05/11 23:55
XMLでデータベース作るのってSQLでRDBMSするのと比べてどんな利点があるの?
>782
項目の追加が楽。

RDBMSだと項目の追加は技術的には難しくはないが、
たいていのばあい運用上の困難を伴う。


XMLだとどこまででかいのが扱えるのかなー。それがよくわかんない。
メモリに入るぶんだけかしらん?

RDBMSに置き換わるものではないと思う。
RDBMSで実現が難しかった一部のデータ構造が
XMLだと簡単になることがある、という程度かな?
サイズでかすぎXMLファイル。スキーマを読んで適当に調整して圧縮させる
関数作ってるけど、標準になんねーなかなー。なんねーだろーなー。
>>784
XMLをバイナリで扱う必要は、将来絶対に出てくると思うのだが、
標準化の話はあまり聞かないな。xindiceあたりはどうやって実装してるんだろう。

とりあえず784の実装方法教えれ
786デフォルトの名無しさん:02/05/15 16:07
メモリに入るくらいのXMLファイルだけ扱えればいいなら、Xalanは結構検索速いよ。
DBじゃねーけど。
メモリに入るぐらい、ってどの程度?
文書ファイルをXMLを使つて管理しようとしたけど、
タグさえついていればなんでもいいことに気が付いた。
クローズドなシステムだったらXMLいらない?
DOMつかわずに文字列処理してる私は駄目ですか?
>788
最初に作るのはDOM使わなくても作れる。
Perlだと XML::Writerモジュールとか(整形してくれないけど(;_;))
追加・削除・変更はDOMを使ったほうが楽。
>789
う?XML::Writerならインデントしてくれるけど、そういう意味じゃない?
>790
どうやってインデント指定すんの? おせーて。
792789:02/05/18 15:18
>791
DATA_INDENT
があった。整形してくれるのか。

スマソ。

鬱だ氏のう。
<aaa>
<bbb>不要なテキスト</bbb>
必要なテキスト
</aaa>
上のようなXMLからXSLTで「必要なテキスト」だけ取り出すことって可能?
普通に
<xsl:value-of select="aaa" />
ってやると「不要なテキスト」も取れちゃうんですけど。
>>793
<xsl:template match="bbb"/>
としておいて、
<xsl:apply-templates select="aaa"/>
は駄目かな?
795793:02/06/05 10:30
<xsl:apply-templates select="aaa"/>
は<xsl:template 〜>の中でないとエラーになるよね。
それに
<xsl:apply-templates select="aaa"/>
を受けるのはどんなテンプレート?
796794:02/06/05 16:55
スマソ。>>794 は忘れて下さい。

>>793
<xsl:value-of select="aaa/text()"/>
は駄目かな?
797793:02/06/05 18:40
>>796
おおお、うまくいったヨ。
ありがとう。
XML で改ページ、改行を指定する方法を
どなたか教えていただけませんでしょうか?
fopつかってXMLからPDF作るつもりなのですが
やり方を見つけれず
>>798
<改ページ/>
<改行/>

とか

<?何かUA 改ページ?>
<?何かUA 改行?>

とか
800798:02/06/12 00:55
>>799
ありがとうございます、それでこれは
<改ページ/>
を XML ファイルに書いておいて XSL ファイルになにか書くという事なのでしょうか?
とすると、XSL の記述はどのようになるのでしょうか?
タグ(命令?というの)が見つけれなかったもので。
すみませんがお教えねがえませんでしょうか?
801798:02/06/12 13:17
やっと分かりました。3日かかって。(自分のおバカさにあきれ)
FO を通すので、 FO の記述を XSL ファイルに定義しました
<!-- 改行のテンプレート -->
<xsl:template match="br">
<fo:block>
</fo:block>
</xsl:template>
<!-- 改ページのテンプレート -->
<xsl:template match="lf">
<fo:block break-after="page">
</fo:block>
</xsl:template>
としまして、XML ファイル中に <lf/> とかけばめでたく改頁いたしました
おさわがせいたしました
どなたかXerces-C++で日本語(Shift_JIS)を扱ったことありませんか?

LPCTSTR lpszPath; // 日本語の混じったパス
DOMParser* parser = new DOMParser;
parser->parse(lpszPath);

とするとファイルがないと言われるし、

DOM_Document doc = parser->getDocument();
DOM_Element root = doc.getDocumentElement();
DOMString name = root.getNodeName();
char* pname = name.transcode();
// pname使用
delete [] pname;

とするとpname(日本語のタグ)が化けてしまいます。
(VC++6使用)
803802:02/06/13 15:45
>>802
自己レスです。
transcodeなどに頼らず自分でcharとXMLChを
WideCharToMultiByte、MultiByteToWideCharを使って変換すればいけました。
804デフォルトの名無しさん:02/06/27 12:24
仕事あげ
805デフォルトの名無しさん:02/06/28 14:33
データをXMLで保存するプログラムを作ろうと思い立ったのですが、
スキーマはいまんとこどれが主流なんでしょう?
DTDはもう終わりみたいな発言を読んで、じゃぁどうしようと
迷っている所です。

ちなみにDelphi6をつかう予定です。現役の頃はDelphi3でした。
806デフォルトの名無しさん:02/06/28 15:41
<xsl:if test="...">に
else文ってあるんですか?
>>806
確かなかったはず。複数の分岐はxsl:chooseの方を使う。
プログラムからちょっち離れるかもだけど、DTDのサンプル集みたいなのって
どこかにないかな?
ビジネスデータの交換用じゃなくて、ちょっとしたドキュメントや
CDのデータ(これどっかで見たような気がするな)用のやつ。
なんでこの板でやっているの?
>>805
well-formed でいいじゃん。
805です。
>>810
勉強を兼ねてやってみようという感じなので、せっかくだから
validにチャレンジと思ったのであります。
DTD 以外は XML Scheme か RELAX スキーマ くらいでない。
で、普通は W3C 標準の XML Scheme と。
RELAX も OASIS や ISO/IEC に認められたから
今後は使われていくだろう(希望)。

XML Scheme のちゃんとした処理系ってあるのかな。
XML 周りの仕様は膨大なのでライブラリが追いついてない感がある。
813デフォルトの名無しさん:02/06/29 16:58
XMLってはやんの?
.NETで標準のデータ形式だっけ?わからんけども、
MSもおおはりきりのようだけど。
814 :02/06/29 17:23
>XMLってはやんの?
藁、あんたおもろい!
815デフォルトの名無しさん:02/06/29 18:48
>>814
なんかおもろいこと言った?
まあまあかな。
>XMLってはやんの?
のどこがおもろいわけ?
818デフォルトの名無しさん:02/06/29 20:07
>>812
Xerces 2.x系はサポートしてるハズ。
まだ完成版ではなかったかも??
819デフォルトの名無しさん:02/06/29 20:26
813は法一
820 :02/06/29 20:33
最近は何でもかんでもXMLって感じ。
何か間違ってる。
>>820
みんな汎用フォーマットで酷い目に遭ってきたのにね。
822デフォルトの名無しさん:02/06/29 22:06

ソボクな疑問。

どんなところでXMLつかってんの?実例をあげてください。メリットも含めて。
XMLで幸せになれるのは誰ですか?

>>822
例えばWindowsのUPnP、アレは内部でSOAPを使ってる。
多分幸せになれる人は誰もいない。
MacOSでのPreference(アプリごとの設定情報)はXML
Tomcat(Servletコンテナ)の基本設定ファイルはXML
.NETのメタデータはXML
IIS6.0での基本設定ファイルはXML
Ant(Java方面でのmakeのようなもの)のmakefile(相当)のフォーマットはXML
FLASH MXでも通信用にXMLを使ってるらしい(詳しくは知らん)

どういうメリットがあるかはそれぞれの製作者に聞いてください。
俺は知らん。
825824:02/06/29 22:17
訂正: MacOS→MacOS X

他にもあるだろうから実例知ってたら挙げてくれ。
WebLogic(AP鯖)の設定ファイルはXML
SQL Server 2000はXMLモードを持つ(リザルトセットをXMLで吐くことができる)
J2EEでのEJBのメタデータはXML
JXTA(P2Pフレームワーク)でのAdvertisementの実体はXML
何でも XML が後数年続けばパーサの信頼性もあがるから
それはそれでいいと思ったりもするが。
心配なのは、W3C が最近言い出した Semantic Web なんつーとんでもまがいの。
> 何でも XML が後数年続けばパーサの信頼性もあがるから

もう大丈夫だと思うがなあ・・・

unix系のソフトって独自フォーマットのconfiguration fileを
独自パーザって読んでるのが多いけどさ、そのせいでコードが汚く長く
なっちゃってんのよね。つまらんバグの原因になるぐらいならxmlに
したほうがいいんじゃないかな。
>>828
XMLにすると結局そのパーサ組みこむってコストがかかると思うけど。
それに設定ファイル用途だと、どのみちアプリケーション固有だし
あんまり意味ない気がするよ。
>>829
それぞれの手書きパーザーを書くコストとそのパーザーをデバッグする
コストに比べると、小さいと思うよ。
特に "文字列パーザー" の部分が大きいと思う。

一度でいいから cron とかのコード見てみ。目が腐るから。

824と826に書かれてるけど、
比較的新しいものは設定ファイルとして使ってるね。
Apacheなんかはもうほとんど擬似XMLだよなあ。
XML原理主義者逝ってよし!
手書きパーサ万歳!
XMLはまわりくどいんで却下。
S式並に使い勝手よくならんかのう。
つーかS式はだめなわけ?
>>834
もう無理だろう。W3C に刺客を送り込んでおけばよかったね。
どうせ同じジャンルのアプリなのにデータ互換性が微妙になくなる罠。
組み込みデバイスのメモリがさらに圧迫される罠。
>>836
意味わかんねえ
XMLのパーサーによって互換性が薄れたりするの?
同じ XML は XML でもスキーマが企業ごとに異なるので
別々にルーチン組んだり変換したりが必要になるってことじゃない?

例えば、B2B 系のスキーマだと、ebXML、BizTalk、cXML、xCBL など乱立してる。
標準化へは動いているが…
例によってメーカー独自仕様とかありそうだな。
独自仕様でも仕様が決まっていればよし
>>840
tiffの恐ろしさを知らんから・・・
842デフォルトの名無しさん:02/07/02 10:37
>>834
S式勉強してみたい。これもマークアップ言語なの?
843デフォルトの名無しさん:02/07/02 15:58
お前らテキスト好きですね
844デフォルトの名無しさん:02/07/02 16:42
ちょいと質問。
XML系CGI作ったやついるか?
845デフォルトの名無しさん:02/07/02 20:11
>>844
どういうCGI?
たとえばデータをXMLで保存するとか?
>>844
掲示板とかはいくつか見たことあるけど。
XML+XSTL で表示する掲示板?
848844:02/07/02 22:40
今のHTMLで表記させるPerlスクリプトのCGIではなくて、XMLで表記するPerlスクリプトのCGI
日本にはほぼ技術者は居ないと聞いたので。
あれば教えてほしい。
そもそも必要性を感じないが。
850デフォルトの名無しさん:02/07/02 22:44
まずXMLでCGIを組むとブラクラが減りますね。
ただ遅くなる気はするが…
>>850
はぁ?
852844:02/07/02 22:48
オリジナルタグも生成可能。今のCGIじゃ絶対に無理だ。
>>852
>オリジナルタグも生成可能。
HTMLでも可能。評価されないだけでエラーにはならない。
854デフォルトの名無しさん:02/07/02 22:54
>>851
ブラクラ系は回避することは出来ない.
けどブラクラ調査のCGIって言うのはすでに存在しているわけです。
ブラクラデータベースって言うのも作成する気になれば出来るので
これの場合はDBからの情報取得などがかなり必要だからほぼCGIでは不可能。
だからXMLに移行すれば出来る。
855デフォルトの名無しさん:02/07/02 22:57
>854
作成できる人間は日本にほぼいないと思われ。
>>854
調査可能−>減る

意味がわからんが。
引っかかる奴は減るだろうけどな。
一度PC初心者板においで。
あんたが理論だけの頭でっかち発言してることがわかる。
857デフォルトの名無しさん:02/07/02 23:11
>856
XML系CGIでしかできませんよ?現在のCGIで出来るとは思えませんが?
現在のCGIをXML系に移行するという意味では?
>>860
XML「系」ってXHTMLとかWebページを表現するためのある実装群のこと?
XMLでサーバ実行された時表記されたCGIだと思われ
つまりHTMLではなくXMLでスクリプトを書くという意味
>>862
元々HTMLでCGIを組んでる奴なんていないと思うが・・・。
HTMLで書くではなくブラウザで表記されるという意味ですな
865デフォルトの名無しさん:02/07/02 23:50
>ブラウザで表記されるという


じゃあ>>861じゃないの?


誰か翻訳家plz
866デフォルトの名無しさん :02/07/02 23:56
>XMLでスクリプトを書くという意味
何じゃそれ。XMLは言語じゃないよ。XSLの間違いじゃネーの。
>>866
言語だろ?プログラミング言語じゃないというだけで。
>>863
いないと思うでは無くて、「いない」の。
>>868
彼の説明が理解できなかった俺は正常ってことで良いんですか?
870866:02/07/02 23:58
>>867
そのとおり。XSLはプログラミング言語(条件分岐をもつ言語はプログラミング言語と言う)。
871デフォルトの名無しさん:02/07/03 00:00
CGIでXML+クライアントサイドXSLT変換だと
フリーサーバでも広告が自動挿入されないというメリットが!
>>870
> 条件分岐をもつ言語は・・・

じゃあSQLもプログラミング言語?
>>871
XMLベースのスクリプト言語なお話?

実行できるブラウザって結構あるの?
874仕様書無しさん:02/07/03 00:07
SQLプログラミングって言うし...
>>870
初めて聞きましたが?
てっきり、Turing マシンと関係があるものだと…。
はつみみです。
>>876
禁断の呪文です。ヒィィ!(゚д゚;)
878デフォルトの名無しさん:02/07/03 11:01
巷で言うXMLプログラミングってのは、XMLを扱うためのプログラミングだよね?
XML系CGIっつーと、DOMプログラム罵詈罵詈のCGIのこと…かなぁと
思ったんだけどもうその話は終わったんかな
>>878
いや、まださっぱり訳がわかりません。

あなたの意見はXMLパーサを指してるって考えていいの?

でも、彼が言ったブラクラが減るとか言うのとイマイチ結びつかない・・・。
880デフォルトの名無しさん:02/07/03 13:20
いんや、私もXML系CGIってなんだろう?と考えている最中なので…

「XMLを扱うための」って書くとXMLパーサーですね
すみません

たとえばデータベースプログラミングっつーと、データベースそのものを
作るんじゃなくて、データベースソフトとデータをやりとりするソフトを
指す(ことがある)から、じゃぁXMLプログラミングってのもそうなのかなぁとか
881デフォルトの名無しさん:02/07/03 15:38
>>880
私もちょっと熱い議論のされていたXML系CGIってのが良くわからない。

XMLを吐き出すCGIってことなのかな?
それなら大して難しいことじゃないとおもうけど・・・
でもそれだけだとコレまでのCGIとかわらないからこんなに熱い議論に
なるとは思えないし・・・

誰かXML系CGIってのの概念を「わかりやすく」説明してください。
ちょいと質問。
XML系CGI作ったやついるか?


今のHTMLで表記させるPerlスクリプトのCGIではなくて、XMLで表記するPerlスクリプトのCGI
日本にはほぼ技術者は居ないと聞いたので。
あれば教えてほしい。


(ここから人格変わる。自作自演のつもりだろうか?)


まずXMLでCGIを組むとブラクラが減りますね。
ただ遅くなる気はするが…


オリジナルタグも生成可能。今のCGIじゃ絶対に無理だ。


ブラクラ系は回避することは出来ない.
けどブラクラ調査のCGIって言うのはすでに存在しているわけです。
ブラクラデータベースって言うのも作成する気になれば出来るので
これの場合はDBからの情報取得などがかなり必要だからほぼCGIでは不可能。
だからXMLに移行すれば出来る。


作成できる人間は日本にほぼいないと思われ。


XML系CGIでしかできませんよ?現在のCGIで出来るとは思えませんが?


現在のCGIをXML系に移行するという意味では?


XMLでサーバ実行された時表記されたCGIだと思われ
つまりHTMLではなくXMLでスクリプトを書くという意味


HTMLで書くではなくブラウザで表記されるという意味ですな
883デフォルトの名無しさん:02/07/03 15:59
こういうやつのことかな?
http://www-6.ibm.com/jp/developerworks/webservices/010914/j_ws-cgia.html

SOAPとCGIでぐぐってみた。
↑記事内容読んでないからはずしてたらすまんこ〜
>>883
うむ。なかなか興味深い。

でも、これってブラウザまたはプロキシとなる物がSOAPを解釈できるって言う前提では?

もうちょっとちゃんと読んでみよっと。
>>883は、CGIでやっていたようなことを、XMLで云々という意味で
考えてみたなり。
つまり、CGI=Common Gateway Interfaceという技術ではなくって、
CGI=Webアプリ、みたいな言葉のつかいっぷりというニュアンスで。

これなら、ブラクラ云々という発想がでてきても…ちがうか。なんだろ。
885と入れ違いになっちゃった。しょぼんり
>>883の斜め読み完了♪

昔流行った三層C/Sって感じだね。

ブラウザ(UI) - クライアントCGI(データ整形) -SOAP- サーバCGI(集計など)

サーバ間のRPCの手段としてSOAPを使ったみたい。
で、結局XML系CGIって?
890デフォルトの名無しさん:02/07/03 21:08
>>889
ゆぃちゃっと
891デフォルトの名無しさん:02/07/04 17:27
質問なんですが・・・。
IEみたいな、XML+XSLTでHTMLに変換して表示してくれるような
XSLTプロセッサ(表現が間違っていたらごめんなさい。)って他にどんなのが
あるんでしょうか?XTだとかXalanだとかってHTMLに変換するだけ?みたいだし。
出来ることならJavaプログラムから直接XMLファイルを呼び出して
XSLTで変換して表示したいのですが。IE呼び出すしか方法がないんでしょうか?
892あぼーん:あぼーん
あぼーん
893デフォルトの名無しさん:02/07/04 17:33
>>891
BXSやCocoonかな?
894891:02/07/06 00:18
>>893
レス有難うございます。初心者なもので、Javaのフレームウインドウみたいな
ものにIEみたいに表示できるやつがあるのかなぁ、なんて疑問に思ったのですが
ダメっぽいですね、ありがとうございました。
895デフォルトの名無しさん:02/07/06 00:25
>894
xercesのサンプルの dom.traversal.TreeWalkerView じゃダメなのか?
896デフォルトの名無しさん:02/07/06 00:26
dom.traversal.IteratorView のほうが簡単か。
897895・896:02/07/06 00:27
あ、XSLTは関係無かった。忘れてくれ。
898デフォルトの名無しさん:02/07/06 01:49
MSXSL(他のでもいい)で、XSLTで変換するときに処理してる元XML文書の名前を参照するってことはできないんですかね。
名前ってファイル名のこと?
XMLデータの取り込みはおそらく何らかのストリーム経由だろうから、
わかんないんじゃないかなー
ファイル名があるとも限らないし。
メタ情報として XML 文書に書くしかないかと。
901デフォルトの名無しさん:02/07/07 05:33
DOMに詳しい人ちょっと教えてください。

<student>
<id>2222</>
</>

みたいな構造に
<student>
<name>
<fist>omae</>
<last>mona</>
</name>
<id>2222</>
</>

*****************
と、
<name>
<fist>omae</>
<last>mona</>
</name>

みたいなノードツリーをappendすることってDOM関数で可能ですか?
append_childではnameしか駄目だったような。
902デフォルトの名無しさん:02/07/07 09:07
今XMLのファイルをXSLで表示するときXMLのほうに「どのXSLを使う」
って指定してるんだけど
XMLのファイルをモデル、XSLのファイルをビューに例えると
モデルがビューに依存しちゃってるんだけど、どうすればいいの?
やりたいことはひとつのXMLのファイルを2つのビューで表示したいんですが。
前処理プログラムはつかわない方向でひとつ。
903デフォルトの名無しさん:02/07/07 09:40
何によってビューを切り替えるのかによると思います。
XMLドキュメントのデータに拠るのであれば、XSLTの側で呼び出す
テンプレートを切り替えるとか。
そうじゃなければ、適用するXSLを判断する前処理が必要になるんじゃ
ないですか。
904デフォルトの名無しさん:02/07/07 11:50
mediatypeだっけ?で切り替えるってのはあるよね。
あとは、XMLファイルとXSLファイルを別々に指定するタイプの
XSLプロセッサを使うとか。だめ?
905デフォルトの名無しさん:02/07/07 20:02
>>902
それなら、createElementかcreateNodeで先にツリーを作って、
作ったNodeをappendChildしたら駄目なの?
>>902
その用途ならCocoon2使え。多分幸せになれるぞ。
907902です:02/07/07 21:55
今、普通のプロバイダが提供するHPスペースに
こんなモデルに相当するXMLをおいてるんですが。
<?xml version = "1.0" encoding = "Shift_JIS"?>
<?xml-stylesheet type = "text/xsl" href = "aaa.xsl"?>
<あ>
</あ>
本当はこのモデルに対して
エクスプローラみたいに右窓、左窓
の二つのビューがほしいんですわ。
908デフォルトの名無しさん:02/07/07 21:57
>902

cocoon2だよ

http://xml.apache.org/
>>908

Javaれるプロバイダってあるの?
910908:02/07/07 23:32
>909
apacheのアドオンとしてつかうんだよん。

ちなみに俺は自宅で出会い系鯖をxml + i/j/au キャリア毎のXSLT書いて
対応しとる。


あーまともな仕事ほしーーーー!!
911908:02/07/07 23:33
>909
ごめんまちがった!!tomcatと連係だった!(結果としてAPACHEか

スレ汚しスマソ
>>908 サンキュ。

で、教えてクンでスマソ。>>902は普通のプロバイダって書いてるので
Cocoon2はJavaだけど大丈夫なのかなって思ったんだ。その辺はどうなんだろ。
913908:02/07/07 23:52
>912
javaさえ入っていれば、tomcat cocoon ともに rootでなくとも
たてれるような気がするbinaryでね

java やらが動くproviderはあったと思うよ。
10000yen/year ぐらいだったような気がする

(-_-) .oO (Javaつきのprovider開こうかなぁ)

>>913 なるほどね。ありがとう。

是非Java付プロバイダ開いてほしいな。年間1万円なら全然OKだ。
>>914
月1万ではなく?
916908:02/07/08 01:11
>915
そうかも。すまんデスマチ解放直後でボーッとして・・・

今の子みんなJavaやりたがるよな。いっちょバイダ立てますか!!
のんびりまっててチョ


スレ違いすまそ。XMLのご質問もどうぞ
917902です:02/07/08 09:41
みなさんどうもありがと。
うちのプロバイダじゃ無理ってことっすね。
サーバにファイルあげる前に前処理してHTMLに変換します。
MAKEファイルでも作るか。。

モデル側でビューを指定するなんて
なんかXML、XSLの仕様おかしいぞ。
>>916 月1万円でもOKです。待っとります。
>>917 developerWorks見ればいろいろとネタが見つかると思うよ。
919デフォルトの名無しさん:02/07/08 11:33
LRN Toolkit 1.0ってどこでダウンロードできますか?
ADSL + 自宅鯖 + Dynamic DNS + Tomcat + VPN
クォータ制限なし, CVS, Samba, FTP, Mail 何でもアリ。最凶、これ。

実際 Java 使えるプロバイダってユーザがクラス入れ替えミスって
おかしくなったときに自分で再起動できないからきついかな (Web
アプリだけの再起動も動作怪しい時あるし)。かといってユーザごとに
プロセス上げてたらたまったモンじゃないし。
921デフォルトの名無しさん:02/07/09 00:01
>902
質問の内容が間違っていたらごめんね。
呼び出したいXMLファイルを呼び出すXMLファイルをもう1つ作って
そのXMLファイルにXSL指定をすれば、簡単なXMLファイルを二つ作る
ことで二つのXSLに対応するXMLファイルができませんか?

↓XSL指定のチガウこんな感じのXMLファイルを2つ作ってみたら。
<?xml version="1.0" encoding="shift_JIS" ?>
<?xml-stylesheet type="text/xsl" href="aaa.xsl" ?>
<forms>
<form ref="sample.xml"/>
</forms>
922デフォルトの名無しさん:02/07/09 02:58
XML書くときにXML Spyを使ってたんだけど
使用期限が切れたんでほかのにしてみようと思います
Athensがいいと聞いたのですがどこから落としていいかわかりません,教えてくださいな
また,そのほかにもいいエディタあったら教えてくださいな
XML SchemaからXML文書を生成できるのがいいです
RELAX NGからXML文書を生成するのって無いよね?
正直XMLが全然理解できないドキュソプログラマーです。
奮起して稚内北星学園大学のサマースクール行こうかと思っているのですがどんなものなんでしょうか・・・・・・。

ttp://www.wakhok.ac.jp/summerschool/
>>923
ろろろ6まんっ?
あーでも宿泊費込みなのか…
でも飛行機代は別だよね。

しかしこう暑いと北海道に行きたくなるね。
925デフォルトの名無しさん:02/07/13 17:06
XML Schema関係のツールってあるんかな。
>>922さんの使ってたXML Spyは対応してたん?
926デフォルトの名無しさん:02/07/13 21:15
ActiveStateからでてるやつ>XMLエディター
927デフォルトの名無しさん:02/07/14 12:05
>>925
対応してたよん
さんくすこ>>926-927
929デフォルトの名無しさん:02/07/21 17:16
age
930なんかオカシイ:02/07/22 11:29
IE5.5で、XML->HTMLの変換をXSLを使って色々実験してます。

"value-of"でテキストノードの値が取れ出せなくて
ハマっていたのですが、名前空間の文字列を
"http://www.w3.org/TR/WD-xsl"
にしてみたところ期待通りの動作をしました。。

名前空間文字列って、値そのものはどうでもよくて、ユニークにする
ことが大事なんじゃなかったでしたっけか?ちなみに↑のURIですが、
一文字でも変えると動きません。
MSの実装がオカシイなのか、おいらの理解が根本的に違うのか、
情報お願いします
931なんかオカシイ:02/07/22 11:30
IE5.5で、XML->HTMLの変換をXSLを使って色々実験してます。

"value-of"でテキストノードの値が取れ出せなくて
ハマっていたのですが、名前空間の文字列を
"http://www.w3.org/TR/WD-xsl"
にしてみたところ期待通りの動作をしました。。

名前空間文字列って、値そのものはどうでもよくて、ユニークにする
ことが大事なんじゃなかったでしたっけか?ちなみに↑のURIですが、
一文字でも変えると動きません。
MSの実装がオカシイなのか、おいらの理解が根本的に違うのか、
情報お願いします
名前空間識別子は識別子ですから、値が違えば異なるものを表します。
つまり、あなたの理解が根本的に違うというのが正解です。
933930:02/07/22 14:56
おひょ!ようやく分かりましたTT。例の文字列を識別子として使って初めて、
プロセッサにXSLTのルールに従って変換しろと伝わるわけですね。
識別子が違えば、"自分で定義したXSL"ってことになっちゃうのかTT.

ところで最後にもう一つだけおちえてくだされ。
↓のような単純な文書なんですが
--------------------------------
<doc>
<book>
<title>懲りない教えて君達 Vol.3</title>
<dscr>2chで<bold>質問</bold>を繰り返す馬鹿の実態を探る</dscr>
</book>
</doc>

例えば↑の場合、"dscr"要素の中にある"bold"要素だけに、
<b><xsl:value-of select="."/></b>
のようにタグを適用したいんですが、そういうことは出来ますか?
<xsl:apply-templates select="bold"/>
でやると、呼び出した部分にいきなり要素の内容がでてくるんです。。
テキストノードの中の一部分だけにタグを適用したいのですが・・
934名無しさん@Emacs:02/07/23 01:32
>>933 こんな感じ??

<xsl:template match="dscr">
<p><xsl:apply-templates /></p>
</xsl:template>

<xsl:template match="bold">
<b><xsl:value-of select="."/></b>
</xsl:template>

それはともかく、あんま「bold」みたいな物理的な
要素は作らない方が良いと思ふ。
935&lro;止停lo;:02/07/23 08:51
age
936デフォルトの名無しさん:02/07/25 01:02
質問です。抜き出しての質問になるのですが
下記の場合、<br/>ではねられてしまいます。
<TEXT>の中でHTMLのタグを使いたいのですが
この場合DTDの表記をどのようにすればよろしいの
でしょうか? まだ始めて間もないので、できる事か
できない事なのか、よくわかりません。お願いします。

<!ELEMENT EVENT (TEXT) >
<!ELEMENT TEXT (#PCDATA) >

<DAY NUM="24"><TITLE>夏休み</TITLE>
<TEXT>
HelloWorld
<br/><br/>
HelloWorld
</TEXT>
タグ文字をエスケープするんでは
938デフォルトの名無しさん:02/07/25 02:17
>937
それをすると以下の出力になりました。
テキストになっています。

HelloWorld <br/> HelloWorld

<xsl:value-of select="TEXT"/>を使って
いるんですけど、なんかうまく解析でもしてくれるのとか
ありますかね? xsl:copy-ofとかも試してみたんですが
同じでした。

939名無しさん@Emacs:02/07/26 02:32
>>938
ごめん。
>下記の場合、<br/>ではねられてしまいます。
><TEXT>の中でHTMLのタグを使いたいのですが
って、今一何がしたいか解らん。
940デフォルトの名無しさん:02/07/26 13:52
>>939

<TEXT>
HelloWorld
<br/><br/>
HelloWorld
</TEXT>

というのを、<xsl:value-of select="TEXT"/>を使った時に
(coyp-ofでしたっけ?)

HelloWorld

HelloWorld

な表示にしたいと思ったのですが(<br/>を改行として扱いたい)………
そういう事をしようとするのはあまり良くないなんて話もあるのでしょうが。

今まで書いてきた日記をXMLなデータな形にしたいと思っているので
できる限り<tablle>とか<br>等をそのまんまコピペで<TEXT></TEXT>の
中に持ってきたいのですが………
941デフォルトの名無しさん:02/07/26 21:34
<!ELEMENT br EMPTY > ってな感じで定義する事で
文句言われないようになりました。取りあえず問題なく
動くようになっております。初心者質問でお騒がせしました。
942逝って良しの1:02/07/27 00:37
日経が必死に煽ってるけど普及しないねえ。
儲からないからねえ。
943 :02/07/27 00:49
普及と利益は別でしょ。そのレベルでのバブルは既に終了したはず。
ここ数ヶ月XMLでサイト構築する仕事こなしてきたけど、
正直HTMLで作っちゃったほうが早いと思った。
デザインも融通が利くしね。なんだかね。
>>944
そりゃ一発かくにはHTMLのほうが楽なこともあるだろう。
でもデザインを取り替えたいとか、同じデータから複数のビューを生成したいとか思ったら、HTMLではつらくね?PHPマンセー?
n層構成だとか、モデルに対しビューがコロコロ切り替わるだとかいう
状況じゃないとXMLのありがたみは無いだろうなー
947名無しさん@Emacs:02/07/28 13:28
CGIをPerlでやるかRubyでやるかの議論に似てるな。
XHTML対応ブラウザの浸透とXHTML対応のWebエディタの浸透。

技術知らないバカも関わってくるからIPv6以上に難しいかもね。
949デフォルトの名無しさん:02/07/28 13:31
>XHTML対応ブラウザ

いまある普通のブラウザじゃん
ウエブデザイナー共がぞろっと消えてくれそうで嬉しい。
>>949
世の中少なからずIE3が動いてるんだよ・・・。
何を今更。
952デフォルトの名無しさん:02/07/28 13:36
IE3に対するそれより新しいブラウザの割合をもって浸透といえないなら
永遠に浸透することはないような気がする。

というかクライアントサイドXSLT対応ブラウザと勘違いしてましたって書いてもいいんだよ。
ていうか IE3 は XHTML ほとんど解釈できるだろ。後方互換に気を使えば。
954デフォルトの名無しさん:02/07/31 11:27
妥当なスレが見つからなかったのでスレ違いを承知の上で・・・
現在HTMLパーサを作る為に簡易SGMLパーサを製作中です。
ところが、いくら探しても<!ENTITY内での内容モデルの扱い、
実体参照による置き換え後のテキストの扱い等、
肝心な所の説明がありません。
そこで皆さんにお伺いしたいのですが、
SGMLの詳細な仕様書ってありませんか?
実践SGML(日本規格協会)は買ったのですが、
とても使える代物ではありませんでした。
955 :02/07/31 16:55
age
956デフォルトの名無しさん:02/08/02 10:42
VBスレで質問して回答がなかったのでこちらで質問します。

VB6のディストリヴューションウィザードで
MSXML4.DLLを含めたら、セットアップ時に登録できないって
エラーが出てしまったんですが、ほかに何のファイルを登録
すればいいんでしょう。ご存知の方、よろしくおねがいします。
スレ違い
>>954
>現在HTMLパーサを作る為に簡易SGMLパーサを製作中です。

すごい勢いで遠回りしている感も。
>>956
紹介状がないと教えません。
960954:02/08/03 14:19
>>958
でも、SGMLの省略機能はHTMLにも適用されるので、
DTDを解析しないことにはどうにもなりません。
特に閉じTRや、閉じOPTION、閉じP等は厄介。
それに、完全なSGMLパーサならXMLにも対応できますし。
961デフォルトの名無しさん:02/08/03 16:07
自分で作らないであるものを使うとかそういう選択肢はないのですか
よく知らないけど
962デフォルトの名無しさん:02/08/05 01:58
XSLTでHTMLファイルを生成しているのですが
そこに現在の日時を<meta http-equiv="Last-Modified"〜として埋め込むのは
XSLTで出来るでしょうか?
使ってるのはSablotronなんですけど。
963デフォルトの名無しさん:02/08/05 02:13
>956
登録しようとしてエラーがでるんだったら、
登録しなきゃいいかも?とか考えろ。
そもそもdllはすべて登録しないといけないとかわけのわからない
こと考えてないか?
msxml3のときはmsxml3a.dllとmsxml3r.dll(だったかな?)の
他に二つほどインストーラに含めないといけなかったから、
そこらへんの依存関係を調べってやってみろ。
言ってる意味がわからなければWindowsアプリの開発はあきらめろ

とか、高圧的に言ってみるテスト
964954:02/08/05 10:06
>>961
でも、SGMLパーサはほとんど有料か、
無料であってもややこしいライセンス絡みで・・・
ライセンスフリーなSGMLパーサは無いと思っていたのですが。

それに本当の事を言えば、SGMLパーサを使ってどうこう云うんじゃなくて、
SGMLパーサを作ること自体も目的なんです。
965デフォルトの名無しさん:02/08/05 10:10
>>963
おっしゃってる意味は分かります
依存関係ファイルを洗い出して、もう一度
トライしてみます。必要ファイルが分かったら
報告しようと思います。
(IE4以上限定にして、MSXML1.0にしてしまおうか・・
なんて逃げ道も考えてるんですが・・)
おバカな1にそろそろ次スレキボンヌ
967デフォルトの名無しさん:02/08/06 13:14
XML のエレメント名に、いわゆる全角英字は使えないのでしょうか?

<ほげほげID/> を IE6 で見ると、無効な文字と怒られてしまいます。
IDを削除して「ほげほげ」だけにすれば OK です。IE5 ではどちらでも
見られます。

もし規格として JIS X 0208 英字がダメなのならば、詳しく解説してある
ページをご紹介下さい。
>>966
>おバカな1にそろそろ次スレキボンヌ
「XML Webサービス」ってビジネス的にはどう?
http://pc3.2ch.net/test/read.cgi/tech/1019326946/
このスレに合流というのは少し悲しすぎますよね。
やはり立派な後続スレがほしい。
>>966>>968

XML/SGML質問箱きぼんぬ
970デフォルトの名無しさん:02/08/07 16:34
すみません。ちと質問があります。

<?xml version="1.0" encoding="Shift_JIS" standalone="yes"?>

<!DOCTYPE test[
<!ATTLIST 予約 予約ID ID #REQUIRED>
<!ATTLIST 予約キャンセル 予約ID IDREF #REQUIRED>
]>

<test>
<予約 予約ID="A001"> A </予約>
<予約 予約ID="A002"> B </予約>
<予約 予約ID="A003"> C </予約>

<cancel>
キャンセルした人は
<予約キャンセル 予約ID="A001" />,
<予約キャンセル 予約ID="A003" />
です
</cancel>
</test>

こんなん書いてみたんですけれど、
<予約キャンセル 予約ID="A001" />,
<予約キャンセル 予約ID="A003" />
この文が参照してくれないです・・・。
どうしたらよろしいのでしょうか?

厨房な質問で申し訳ありません。
>>970
全部XMLに見える・・・。
972激初心者:02/08/11 02:31

質問です.
同じ要素名を入れ子にしちゃいけないのでしょうか?

例えば
<ルート>
  <要素1 no="01">あああ
    <要素1 no="02">いいい
      <要素1 no="01">ううう</要素1>
    </要素1>
  </要素1>
</ルート>

って感じで.
これでルート以下のすべての<要素1>のうち,no="01"であるものの中身を表示しようと思ったんですが,できません.
たぶんすっごい馬鹿みたいな質問で申し訳ないのですが,テキストとかには同じ要素名を入れ子にしたものがなく,分らなくなってしまったのでよろしくお願いします.

973デフォルトの名無しさん:02/08/11 02:33
やってみて不都合が出なければそれでもいいんじゃない
974激初心者:02/08/11 02:39
上記のような不都合?私の間違いだと思うんですが...(汗...が発生しています.
975デフォルトの名無しさん:02/08/11 02:55
なにをやったのかわからないので答えようが無いです
976972:02/08/11 03:02
すみません...

XSLで,
中略
<xsl:template match="ルート">
<xsl:for-each select="//要素1">
<xsl:value-of select="//要素1[01]"/>
</xsl:for-each>
</xsl:template>

としました.で,「あああ」と「ううう」を表示させたかったのですが,できませんでした.
977デフォルトの名無しさん:02/08/11 03:18
こうかな。他の書き方もいっぱいあるのだろうけど

<?xml version="1.0" encoding="shift_jis" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" />

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

<xsl:template match="item/text()">
<xsl:if test="../@no='01'">
<xsl:value-of select="."/>
</xsl:if>
<xsl:apply-templates />
</xsl:template>

</xsl:stylesheet>
978デフォルトの名無しさん:02/08/11 03:23
あ、itemを要素1に置き換えて読んで。
979デフォルトの名無しさん:02/08/12 13:33
test
記念パピコV(-_-)V
981972:02/08/13 00:55
>>977さん

お返事ありがとうございます!
やってみましたが,やはりno=1以外のものも表示されてしまいました...
ちなみに実際はもっと階層が深いのですが,それは
<xsl:template match="item/text()">
の部分を書き換えればいいのですよね.
教えてもらったのを元にもちょっとがんばってみます!
ありがとうございます!
980 超えると dat 落ちの可能性があるので、
そろそろ次スレをどうするか考えないと。

A. 新しく建てる

B. 再利用
XMLプログラミング
http://pc3.2ch.net/test/read.cgi/tech/1014643296/

C. 合流
「XML Webサービス」ってビジネス的にはどう?
http://pc3.2ch.net/test/read.cgi/tech/1019326946/
Bに一票
984デフォルトの名無しさん:02/08/15 02:51
Bにしようよー
Bで決まり。
Cは削除依頼。
>>981
テンプレートにマッチしない部分はデフォルトのテンプレートが適用されるよ。
そんで、デフォルトのテンプレートルールだとtext部分はそのまま表示されてしまう。
表示してほしくないtext部分は空のルールつくっとかなきゃだめ。

よく読んだら、何を試して駄目だったのかわからんな。