XMLプログラミング

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
単におれが質問したいから立てたぞ!
21:02/02/25 22:22
IXMLDOMDocument::save
で保存するとUTF8で出力されるのだが
ShiftJISで出力するにはどうすればいいの?
新しい時代を感じさせる良スレ。

====================終了====================
41:02/02/25 23:12
まだ終了じゃない!
「ポッキーの甘み」

====================終了====================
http://pc.2ch.net/test/read.cgi/tech/982914729/l50 で聞け
====================終了====================
つーかさ、どうみてもこれじゃねーの?調べたのかよオマエ。
http://alina.acomp.usf.edu/work/xml/dcxjp/apidocs/com.datachannel.xml.om.IXMLDOMDocument.html#setEncodingInfo(com.datachannel.xml.util.IXMLEncodingInfo)
8デフォルトの名無しさん:02/02/25 23:31
XML って知識分類に使える?
自作アウトラインプロセッサのデータ部分に使おうかと思ってるんだけど。
>>8
止めはしないけど、無駄にコード量が増えるだけと違うか? アプリローカル
なデータフォーマットならバイナリの方がパフォーマンスも全然高いし。
>>9
そうですか。
テキストファイルとしても保存できるから良いかなと思ったんだけどな。
あと別件で XML 勉強しなくてはいけないから良い機会かなと。
>>10
ナレッジマネージメントのソフトか? XML はツリーかリスト構造を記述するにゃ
そこそこ都合が良いけど、グラフ構造扱うと氏ぬよ。まぁ勉強でやってみるなら
別にかまわんけど。XML の使いどころは、いろいろなアプリケーションで使える
汎用フォーマット (つまり会社間の政治が絡んだフォーマット) 程度しか感じて
いないんだけど。HTML みたいに文章中に埋め込まれるマークアップだけなら良い。
でもデータフォーマットに XML だと、データ量に対してタグの量の割合がでか
すぎ。
確かに XML って無意味にデータサイズが大きくなる感じ。
いまどき、心情的にはともかく、*実際上* 数百メガ使っても痛くも痒くもないとおもう
けどなぁ。
皆さんそんなデータサイズにシビアな世界のアプリケーションばかり書いているんですか?

141:02/02/26 01:13
>>7
これJavaじゃん?
VCでやってんだよMSXMLを
ヘッダーみてもsetEncodingInfoなんてメソッドないよ。
>>14
そりゃぁ、単発クソスレ立てるお前になんて
まともに答えないだろ(w
161:02/02/26 01:15
あげるの忘れた。
なおこのスレは言語問わず
偉そうな1だな…
>>1
マジレスいたします。
なぜ皆様がこんなに詰めたい対応を取っておられるかといいますと、
すでに下記のようなスレッドが存在しているからです。
つまり、このスレッド自体が実質上がいしゅつ単発質問クソスレなのです。

XML教えて教室
http://pc.2ch.net/test/read.cgi/tech/982914729/
19デフォルトの名無しさん:02/04/16 08:40
XMLマンセー
つーか圧縮して置いておきたいんだけど?
豆でさえzip形式のromが読めるのに。
豆との関連性はまったく無いけど。
>>20
お気持ちはわかりますがこっちのスレでやってください。

XML教えて教室
http://pc.2ch.net/test/read.cgi/tech/982914729/
22デフォルトの名無しさん:02/05/12 15:05
XMLなかなかはやらないねえ。
やっぱ駄目なものは駄目と。
ああ、ダメだからお前は二度とXMLに近づくな。
XML厨のヨカーソ
いやあ、近寄らなくてすむものなら近づきたくないね。
覚えなければいけないことが多すぎ。
26デフォルトの名無しさん:02/05/12 15:25
XMLなんてダサすぎ。S式で十分。
なんでクソスレが上がってるの?
2825:02/05/12 15:28
だいたい、たかが設定ファイル程度を書くのになんであんなに沢山
<や>を書かなければならないのか。ファイル効率悪すぎ。
それに見た目ダサい。
>>28
手書きするわけじゃないしいいじゃん。
XML の本スレはこちらです。

XML教えて教室
http://pc.2ch.net/test/read.cgi/tech/982914729/
ビクッ. ∧ ∧ ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   Σ(゚Д゚;≡;゚д゚) < うお!なんかすごいところに迷い込んじまったぞゴルァ!
       ./ つ つ   \______________________
   〜(_⌒ヽ ドキドキ
      )ノ `Jззз
32デフォルトの名無しさん:02/07/02 01:07
いまだに
「XMLは遅いから使えない」とか
「XMLは難しいから使えない」とか
いうバカが多くて困る。
シラネーならシラネーっつっとけつーの!
知ったかでsageられるとホントつかれる
「XMLは難しいから使えない」からバカなんだろ。
34デフォルトの名無しさん:02/07/13 00:28
オレは今のところ関わる機械がないのだが、面白そうじゃん。
スキーマをこってりこてこて作るのなんて結構おもしろそーだ。
35デフォルトの名無しさん:02/08/14 12:14
test
36デフォルトの名無しさん:02/08/15 04:08
なんかここ、痛々しくていいね。
37デフォルトの名無しさん:02/08/15 04:31
>>32 でも遅いでしょ(ショボーン
38デフォルトの名無しさん:02/08/15 04:57
>>37
JAVAも遅いね。TCPも遅くてやだね
39デフォルトの名無しさん:02/08/15 05:06
んん?なんかブレークするーあったの?.NETの速度問題とか?

まぁHTTPも「こんな通信プロトコルあってもいいのですか?」みたいな感じで
ここまで来たんだから、適材適所で繁栄して頂く事を希望しますんが。

>From: [11] デフォルトの名無しさん <sage>
>Date: 02/02/25 23:47
>
>>>10
>ナレッジマネージメントのソフトか? XML はツリーかリスト構造を記述するにゃ
>そこそこ都合が良いけど、グラフ構造扱うと氏ぬよ。まぁ勉強でやってみるなら
>別にかまわんけど。XML の使いどころは、いろいろなアプリケーションで使える
>汎用フォーマット (つまり会社間の政治が絡んだフォーマット) 程度しか感じて
>いないんだけど。HTML みたいに文章中に埋め込まれるマークアップだけなら良い。
>でもデータフォーマットに XML だと、データ量に対してタグの量の割合がでか
>すぎ。
俺的には>>11で結論がでてるんだが….
41デフォルトの名無しさん:02/08/15 05:25
グラフ構造、ネットワーク構造扱うと
どのように死ねますか?

ツリーの葉の部分に、他の枝/葉への参照を書くって部分ですか?

CommonLispのS式読み込み機構で、
現在I/O中の部分リストにラベルをつけ、同じ参照が出てきたらそのラベルを書いといて、
グラフ構造の保存/再生を保証するってな仕組みがあったけどー。
>>41
やってみれ, 二度としたくなくなるから.

いや〜, その点 lisp はいいね.
なんかfunarg問題と似てるね。
この辺はLisperなら問題点を直ぐに指摘できる気がする。
44デフォルトの名無しさん:02/08/15 05:37
>>41みたいな機構が標準仕様になくとも
自分でLisp流に実装してやればカイイーケツて事でわ?

って事で、>>11の見解は
巷に掃いて捨てる程居るLisp実装ヲタに乗り越えられますた
だったら始めからlisp使えよ
461000:02/08/15 05:43
結論:
XML非常に面倒
>>46
それ採用.

まぁstandardって意味ではXMLでいいのかもしれん.

>>44
いや, 乗り越えてくれるならそれが一番良いんだよ….
>>1
XMLだけでプログラミングできるの?
49デフォルトの名無しさん:02/08/15 05:56
>>45
だったらSGMLとDSSSL(Schemeベースのスタイル記述)使えよ
#以上、退行現象
50n:02/08/15 05:59
>>48
XMLに関するプログラミングをXMLプログラミングって言っても不自然じゃないと思う.
日本語を満足に理解できない方ですか?
51デフォルトの名無しさん:02/08/15 06:23
XMLなんてデータフォーマットが記述できるだけじゃん
こんなの便利か?
だから面倒だって言ってるじゃん。
データの互換性以外はメリットも無いし。
データの互換性も疑わしいが。
54デフォルトの名無しさん:02/08/15 07:34
つまり、遅れてきた開発者は、
開発経緯や判断・選択の内容を知らないから、
ちっとやそっとの努力では理解できなくなっちまう
って事ですね。

技術キャッチアップをサボっていると、どうゆう結末になるか、
という良い標本ですな
55デフォルトの名無しさん:02/08/15 07:35
技術史勉強汁
56///:02/08/15 07:54
バイナリでデータをファイルに押し込むのもまあその場限りの
プログラムならいかもしれんが、まともなアプリならそれなりに
可搬性のある表現で落す方法を用意する。(でないと、将来的にも不便)
XMLは、広く認められた表現だし、APIも整ってるので、
これを積極的に使っていかないのは損だぞ。
まあグラフ構造向きではないわな。最初から見抜けよそれくらい…。
57/../../:02/08/16 01:53
そもそも、グラフ構造記述に向いた文字列記述ってあるのか?
つか、構造体でもポインタで記述するしかねぇんだから、
スマート・ポインタの一亜種として、部分構造ラベル使うって事でおっけじゃん?
無知が何かほざいてますな。
59デフォルトの名無しさん:02/08/17 09:11
煽り屋さん登場!煽り屋さんは、w3c.orgのTRくらいさっと目を通して煽っているのかな(ワラ
>>57
XMLには参照の代用となる記述法が用意されています。
61デフォルトの名無しさん:02/08/17 09:56
XPathの事言ってる?
>>61
あれのどこが?
グラフ記述は行列のし
64デフォルトの名無しさん:02/08/17 10:06
XMLは ま じ で たいしたこと無い。丸一日あれば調査は充分。
他者とのインタフェイスには有用。APIがあるから便利というのはろくにコードが書けない馬鹿のたわごと。
>>64
みんなそれくらい理解していると思われ。何を偉そうにしゃべってるか知らんが。
俺も意外とあっけなく理解できてビビったけどな。
頭悪そうな香具師が絡んでるスレってココ?
67質問:02/09/07 18:02
最近XMLを勉強し始めた者です.
XMLでもともと構造化されている文書を記述したのですが,思った通りに
表現できません.調べたんですが,よくわかりません...
ちなみにプログラムの知識はまったくないです.
やりたいことは,下のXMLのtag3について,IDが1であるものだけをとり出し
て文章を表示させたいです.(つまり,「あえおおお」と表示したい)
文章はtag3の中に直接書き込んでしまったんですが,これがいけないので
しょうか...?
わかる方,よろしくお願いします.

XML----------------------------------------------------------------
<root>
<tag1>
<tag2>
<tag3 ID="1">あ
<tag3 ID="2">い
<tag3 ID="3">う
<tag3 ID="1">え</tag3>
</tag3>
</tag3>
おおお
</tag3>
</tag2>
</tag1>
</root>
---------------------------------------------------------------------
68質問(上の続き):02/09/07 18:03
XSL------------------------------------------------------------------
<xsl:template match="/">
<HTML>
<HEAD><TITLE>テスト</TITLE></HEAD>
<BODY><xsl:apply-templates select="root"/></BODY>
</HTML>
</xsl:template>
<xsl:template match="root/tag1/tag2">
<xsl:for-each select="//tag3">
<xsl:value-of select="@ID"/>
<xsl:value-of select="tag3"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
--------------------------------------------------------------------
あげ忘れたったのでage
普通エレメントはテキストのみを持つものと、子エレメントのみを持つもの、
テキストも子エレメントも持たないものの3種類の内のどれか。
71デフォルトの名無しさん:02/09/07 22:49
id重複だって馬鹿か?
id重複って許されるんだっけ?
73デフォルトの名無しさん:02/09/08 05:50
<xsl:template match="/root/tag1/tag2">
<xsl:apply-templates select="tag3"/>
</xsl:template>

<xsl:template match="text()">
<xsl:if test="../@ID='1'">
<xsl:value-of select="."/>
</xsl:if>
</xsl:template>
7467-68:02/09/09 02:54
>>70
では,テキストと子エレメントの両方を持つエレメントは普通はないってことですか!?

>>71
え,IDって重複しちゃいけないんですか?そんなことないですよね???
7567-68:02/09/09 02:54
>>73
やってみます!
7667-68:02/09/09 03:57
>>73
なんかエラーメッセージが出たんだけど,そのエラーメッセージが文字化けしてて
読めない...文字コードもなぜか変えられない...欝
77デフォルトの名無しさん:02/09/09 05:28
MSXSL.EXEを使え
78デフォルトの名無しさん:02/09/09 06:58
まんせーってどういういみですか?
79デフォルトの名無しさん:02/09/09 11:02
XMLってDTDとかスキーマの検証ってどうするの?
普通にDTD作ってIE開いても整形のXMLインスタンスだったら
表示されてしまってエラーにならないんだけど
DTD自体の構文が間違ってたらエラーになるけど
DTDとインスタンスが違っててもエラーにならない。

XSVとか使ってるの?
一番シンプルな検証方法をキボンヌ
80デフォルトの名無しさん:02/09/09 11:06
XMLでDTDとかスキーマの検証ってどうやってるの?
普通にDTDを作ってIEを起動させても検証してないみたい。
DTDとインスタンスがちゃんと一致してなくても表示される。
DTD自体の構文が違うとエラーにはなるけど

XSVとか使ってるの?
一番シンプルなスキーマ検証方法キボンヌ
81デフォルトの名無しさん:02/09/09 11:08
ゴメン二重になった
微妙に違うけど
鬱ダシ脳
82デフォルトの名無しさん:02/09/09 13:04
XMLファミリーを列挙してください。
おながいします。

XML、XSL、XSLT、DOM、SAX
ファミリーつーか、XMLとそのクソに群がるハエ、って感じだよね。

        ____      ________
      /      \   /
      |   \XML/ |〜<俺を馬鹿にしやがって・・・
      川川==◆=◆〜 \_______
      川川 _ (・・)   /    ___
    _;   \ | 曲|    .    |  |   |\_
  /      \ _/        . |  |   | |  |\
 /    /     | |         |  |   | |  |::::|
(    (   / \_       .|  |   | |  |::::|
 \   \   /\    ̄ ̄\   |  |   | |  |::::|
  /:\   \      ̄\っ)))) 〜|  |   | |  |::::|
 /:::  \    つ_   | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 |:::    \___ )    ̄ ̄| ________ |
 |::::                   .| |            . |.|




85デフォルトの名無しさん:02/09/10 22:53
>>82
XSLとXSLTは同じではないの?
スタイルシートとそのトランスレータ?
87デフォルトの名無しさん:02/09/10 22:59
XSLはXSLTとXSL FOから構成されるということになってるけど
先にXSLTだけ世に出たから
ホントでしか?
8967-68:02/09/11 01:17
こないだ質問した者です.
>>73
のをやってたらできました!!!
超感動です!
なんと言っていいかわかりませんが,本当にありがとうございます!!!
2chをやってて一番うれしかったかも(笑).
レスくれた人達,ありがとうございました!
XSLとExcelはなにか関係があるんでしょうか?
Excelの拡張子はxlsだし、混乱してます。
91デフォルトの名無しさん:02/09/11 02:20
↓こいつの言ってることには同意できない。
http://www.users.gr.jp/ml/archive/xml/571.asp

>XMLの利点に関して
>(省略)
>しかし、パフォーマンスは置いといて、データの汎用性という点について
>考えてみるとどうでしょうか?
>例えばAccessで作成したファイルをOracleに移行するとなると、移行プログラムを
>作成したり、いったんCSV形式に変換してからOracleで取り込むなどの手間が
>必要ですよね。同期を考えると定期的に移行バッチ処理も流さないといけませんよね。
> これを元データをXMLで持たせておいて、AccessとOracleの両方で読み込む
>方式にすれば、データの持たせ方もはるかにスッキリしますし、同期処理も考えなくて
>いいですよね。

DB同士のマージに比べたら、XMLに移行する手間って相当なもんだと思うけど。
パフォーマンスの話どっかいっちゃってるし。
それに汎用性とか言ってるけど、何にでも適用できる汎用的なデータなんて
作れる気がしないんだが。
結局はパーサが同じで済むってぐらいの利点しか今のところ見出せない。
XMLの使い所ってなんなんだろうね?
>>91
ひでーなそれ。
今のところ「データ部分は XML 使ってます!」っていうセールストークにしか
なっていない。まぁ繰り返しやツリー構造を成すデータ構造の保管には便利っちゃ
便利なんだが、大抵は name=value の ini 形式と CVS でどうにかなっちゃう
のも事実。
9467-68:02/09/12 17:17

この前質問した者です.
>>73で教えてもらった方法でうまくいったのですが,その後に続いてID=2,ID=3も
表示させようと思って,
<xsl:template match="/root/tag1/tag2">
<xsl:apply-templates select="tag3"/>
</xsl:template>
<xsl:template match="text()">
<xsl:if test="../@ID='1'">
<xsl:value-of select="."/>
</xsl:if>
</xsl:template>

<xsl:template match="text()">
<xsl:if test="../@ID='2'">
<xsl:value-of select="."/>
</xsl:if>
</xsl:template>

としたら,ID=2のテキストしか表示されませんでした.
本とかを見て,
<xsl:choose>
<xsl:when test="../@ID='2'">・・・</xsl:when>
<xsl:otherwise>・・・</xsl:otherwise>
</xsl:choose>
ってやつでもやってみたんですが,だめでした.なぜ順番に表示されないのでしょうか...
将来的には(もうちょっとわかってきたら)IDの数を読み込んで,その人数分だけID
別にテキストを表示させたいと思っていますが,とりあえずID別ににテキストを表示
させたいです.

たびたび申し訳ないのですが,わかる方よろしくお願いします.
95デフォルトの名無しさん:02/09/13 01:16
>>90
ネタですか?
XSLとExcelは無関係です。拡張子が似ているだけ。
捻りのないネタとレスですね?
つかXで始まる拡張氏は全て、Excel用に予約してるんじゃないかと
97デフォルトの名無しさん:02/09/17 23:34
お勧めの本教えてください。
文系でプログラミング経験無しです。
>>97
何したいんだか知らないけどさ、多分板違いだと思うんだよね。
こっちで聞いてみれば?
http://pc.2ch.net/php/
http://pc3.2ch.net/hp/
99デフォルトの名無しさん:02/09/18 00:14
>>98
ありがとうございます!!
100デフォルトの名無しさん:02/09/18 01:00
>>94
http://www.asahi-net.or.jp/~ps8a-okzk/xml/xslt10_1/conflict_resolution.html
> これでもなお最も高い優先順位を持ったテンプレートルールが複数存在する場合、 エラ
> ーとなる可能性があります。 XSLT仕様書を読むと、エラーとするか、一番最後に書かれ
> たテンプレートルールを採用するかを、 XSLTプロセッサが選択することになっています。

という理由。

なんか教えてあげたやつがどういう風に動いてるか理解してないんじゃないか
という気もするんだけど、とりあえずこうやればできるよ。

<xsl:template match="/root/tag1/tag2">
<xsl:apply-templates select="tag3//text()">
<xsl:with-param name="i">1</xsl:with-param>
</xsl:apply-templates>

<xsl:apply-templates select="tag3//text()">
<xsl:with-param name="i">2</xsl:with-param>
</xsl:apply-templates>
</xsl:template>

<xsl:template match="text()">
<xsl:param name="i" />
<xsl:if test="../@ID=$i">
<xsl:value-of select="."/>
</xsl:if>
</xsl:template>

あるいはその奇妙な書き方のXMLをやめて入門書の例を
真似てみたほうがいいかも?
101デフォルトの名無しさん:02/09/18 04:47
<age>
http://findx.nikkeibp.co.jp/ws/sp00xhtml1.html
このサイトに書かれていた例文を入力しても、普通に「3 x」と表示されるだけです。
なんかもっと違う表示のされ方を期待したのですが、これでいいのでしょうか。

ソース
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">

<head>
<title>例</title>
</head>

<body>

<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply> <log />
<logbase>
<cn> 3 </cn>
</logbase>
<ci> x </ci>
</apply>
</math>

</body>

</html>
age
104デフォルトの名無しさん:02/09/18 05:43
MathMLに対して標準の描画手段を持たないUAならそうなんじゃないの?
10594:02/09/18 05:46
>>100
レスありがとうございます!!!
さっそくやってみます!
>>102
mozilla 使っているならこのサイトを見れ。
http://pear.math.pitt.edu/mathzilla/
107デフォルトの名無しさん:02/09/18 06:17
CもしくはC++で、XMLファイルをSAXで読み込んでくるプログラムを紹介している
サイトなどがあったら教えて頂けませんか?
それぐらい自分で検索しろ
110デフォルトの名無しさん:02/09/18 17:34
11194:02/09/21 01:55
>>100
できました!!!
たびたびすみません...ありがとうございます.

67のXML,そんなに変ですか...?
確かに本に書いてあるやつとは全然違うなぁとは思うんですけど,同じタグや属性を複数の階層に
渡って使うというのがいけないのでしょうか.<本にはそういう例がない
扱う文書がそのような構造になってるのでそのままやってみました.
112デフォルトの名無しさん:02/09/22 06:40
ものすごく変だよ
113CM:02/09/22 07:30

                 ノリ返セヨ〜
  ∧_∧ ―     / ̄\ ―
  (´∀` *) ―     (´∀` ;) ―
 ⊂    つ ―    と  と) ―
   ヽ■ ヽ ―     Y  人 ―
  (__ノ `J ―     (__ノ`J ―

114102:02/09/22 08:49
四日間、苦手な英語で>>106のサイトを翻訳していましたが未だにわかりません。
結局どうなんですか?ieでもnnでもoperaでも試しましたが、一向に>>102のソースは「3 x」と表示されるだけです。これでいいのでしょうか。
115デフォルトの名無しさん:02/09/24 04:53
XHTMLからbr要素が消えるって話で思ったんだけど
brで改行されたXHTMLをlineに置き換えるXSLTってどう書いたら委員だろ?
↓こういうの。
<p>
1行目<br>
2行目<strong>強調</strong>。<br>
3行目<img src="bg.gif"><br>
</p>

<p>
<line>1行目</line>
<line>2行目<strong>強調</strong>。</line>
<line>3行目<img src="bg.gif"></line>
</p>
そもそもbr要素は必要か?…という煽り合いが始まるわけだが…。

# 個人的には要らんと思う。今まで使ったコトもないし。
117デフォルトの名無しさん:02/09/24 05:31
別にbrの是非について話をふったんじゃないんだけど
118デフォルトの名無しさん:02/09/24 05:32
というか例文がXHTMLになっていなかったけど脳内で修正してね
>>115
XSLは知らんのでschemeで。
アルゴリズム的な話に絞ればこれと似たコードになるんじゃないかなあ。

(define (br->line s)
 (let loop ((x (cdr s))(stack '())(r '()))
  (cond
   ((null? x)
    (cons (car s)(reverse (append stack r))))
   ((and (pair? (car x)) (eq?(caar x)'br))
    (loop (cdr x) '() (cons (cons 'line (reverse stack))r)))
   (else (loop (cdr x) (cons
     (if (pair? (car x)) (br->line (car x)) (car x)) stack) r)))))

;test1
(br->line '(p a b c (br) d e f (br)))
=>(p (line a b c) (line d e f))

;test2
(spexpr->html(br->line(html->sexpr
"<p> a b c <br/> d e f <br/></p>")))
=>"<p><line> a b c </line><line> d e f </line></p>"

だれかXSLに変換してくれ。
120つかってみるとか:02/09/24 08:59
>>114
WEBの翻訳(無料)
http://www.excite.co.jp/world/url/
121属性の有無を調べるには:02/09/24 15:44
MSXMLを使ってDOMプログラムを始めた厨房です。
要素の属性名がわかっていて、その名前の属性をIXMLDOMElementPtr
が保持しているかどうかを調べるのにはどうしたらいいですか。
getAttribute()をつかってアクセスしようとすると属性が存在しない場合
例外が発生してしまいます。
XMLってどこから始めるのがいいの?
アプリの設定を保存するにしてもイマイチだし、
DTDだとかXSLだとか無関係に感じるんだけど。

ホントの初歩だと、どこからはいるのが良いんでしょ?
>>122
XMLなんかやめて、LISPやるのがいいと思います。
>>123
elispとschemeをちょっとだけやってます。
でも、今はXMLについて知りたいので。
perlとかで、ちょこっと何か書くとかの用途には向いてないよね。
lispをやると処理系を作りたくなり、
xmlをやるとパーサを作りたくなる。

車輪の再発名万歳
DOM使えばXMLの保存も楽に出来るけど、
SAXって何か保存する手段ないんですか?
128デフォルトの名無しさん:02/09/25 13:18
厨が質問してるだけで誰も答えない寂しいスレだな、おい。
>>121
じゃあ例外を捕捉してあげてください
>>122
アプリ間の連結に使いましょう。
例えば貧弱なパイプ機構を強化するために、unixコマンドに
--xmlオプションが付いたバージョンを自作するなんて
どうでしょうか?XMLなら再利用が簡単です。
>>123
勧誘はよそでやれ
>>125
いつかはPerlに内臓されるかもしれません。この際、覚えてみましょう。
>>126
そんな君に万歳
>>127
SAXは保存を考慮しないで高速な解析を目指したもののような気がします。
>>129
ムキになって答えてみました。嘘は見抜いてください。
130 :02/09/25 15:43
>>125
PerlのXMLモジュールは使いやすいよ。
xmlをやるとパーザよりも俺スキーマを作りたくなる。
スキーマもパーサーに含まれてるんじゃないの?
そうでないと妥当性検証できないじゃん
>>131は知ったか厨ということで。
>>129
>>115の質問にも答えてくれ。
135デフォルトの名無しさん:02/09/26 17:04
>>129
>>102の質問にも答えてくれ
136131:02/09/26 18:46
いや俺がいいたいのは、ヴァリデータじゃ無くてスキーマの規格?の方。
社内文書のスキーマとか。
それはスキーマを作るじゃなくて、
文書定義を書くってだけか?
>スキーマもパーサーに含まれてる
なんて言う方が馬鹿
>>138
え、なんで?
俗に言うXMLパーサーとバリデータってそもそも違うもんなんじゃないの?
バリデータもついてなきゃ単なるおもちゃのオナニーライブラリ止まりだと思われ
検証なしで高速化という方針もありかと。
検証なしの SAX パーサなら Java でも高速・省メモリにできる。
バリデータがついてると必ず検証しないといけないわけじゃないやん

>検証なしの SAX パーサなら Java でも高速・省メモリにできる。
検証なしの SAX パーサなら 単なるおもちゃのオナニーライブラリ止まりだと思われ。

ってことで。
プププ
145デフォルトの名無しさん:02/10/06 15:55
perlでインストールしないで使えるパーサない?
cgiが使えるレンタルサーバで使いたいんだけど。
146>143:02/10/06 20:41
validが保障されている場合、いちいち毎回vaklitateするの無駄でしょ。
XML::Parser::Lite が pure perl だったかな。
148デフォルトの名無しさん:02/10/09 12:00
名前空間を指定したXMLファイルをDOMで読み込むと、
「この要素の属性'{xmlns}'は、DTDまたはスキーマで定義されていません。」
というエラーがでます。
このエラーを、DTDを変更しないで、且つ、名前空間は指定したままで解決する方法をどなたかご存知でしたら
教えていただけませんか?
DOMオンリーでお願いします。
149デフォルトの名無しさん:02/10/09 14:49
XML::Parser::LiteでDOMとかXSLTとかできるのかしらん
150デフォルトの名無しさん:02/10/09 14:56
これって本当か?

↓ ↓ ↓
http://www.dream-express-web.com/space-trust.htm
宣伝でつか?
宣伝でつね
153デフォルトの名無しさん:02/10/09 17:55
XMLの本て、なんであんなに無意味に分厚いのが多いの?
そりゃ意味がわかんなきゃ無意味に見えるでしょうね。
155例外処理について質問です:02/10/09 18:34
ただいまIndyを使ってヤフーのTOPページのHTMLソースを
ダウンロードするアプリを作っているのですが、インタ
ーネットに接続してないときにこのアプリを実行すると..

「プロジェクト Project1.exe が EIdSocketError クラスの
 例外を生成しました。」

という例外が出ます。 この表示をtry〜except〜on〜do文を使って

「回線が繋がってません。」

というエラーダイアログに変更したいのですが、実際に
どう書けばいいのか解りません。
______________________________
var
Sorse:string; //HTMLソースを受け取る変数
begin
try
with IdHttp1 do
begin
Sorse := Get('http://www.yahoo.co.jp');
end;
except
on EIdSocketError do //EIdSocketErrorが未定義だと怒られます。
MessageDlg('回線が繋がってません。', mtWarning, [mbOK], 0);
end;
_________________________________
EIdSocketErrorが間違いなのは解っているのですが、ここを
どう変えれば良いのかが解りません。 もし解る方がおられ
ましたら宜しくお願いします。
156155:02/10/09 18:38
ぐは・・
板間違えました、申し訳ない。m(__;)m
157デフォルトの名無しさん:02/10/09 22:10
Xercesをインストールできません.クラスパスの設定がうまく行ってないみたいなんですが,
使ってる人いますか?
>>158
使ってます。
160デフォルトの名無しさん:02/10/11 09:05
>>158
どの OS でどのコンパイラのためにインスールとしてるのか書かないと、だれも返事できないよ。
ダ メ ダ
コ リ ャ
162デフォルトの名無しさん:02/10/11 10:46
>>160
返事して欲しくないんです
163デフォルトの名無しさん:02/10/11 19:17
IEってさ、XMLファイルを表示すると簡易ビューワーになって
すごい便利なんだけど、これと同等の機能を持ったemacs用
ソフトはあるかな?
>>163
× すごい便利
○ すごく便利
>>164
日本語の変化についていけない時代遅れは氏ね!
>>165
> 日本語の変化についていけない時代遅れは氏ね!

アフォか、「すごい」も「すごく」も昔からあるわ。ただ、「すごい」はあまりあらたまった場では使わんだけだ。お前こそ、氏ねよ。
167デフォルトの名無しさん:02/10/11 23:35
改まった場?
168デフォルトの名無しさん:02/10/12 00:54
>>163
× すごく便利
○ でら便利
169デフォルトの名無しさん :02/10/12 01:04
× でら便利
○ デラべっぴん
170デフォルトの名無しさん:02/10/12 01:55
>>166 はよほどすさんで腐りきった世界で生きているDQNですな
171デフォルトの名無しさん:02/10/12 04:01
>>166
「すごい」は名詞にかかって、「すごく」は動詞や副詞にかかるのだよ。
>>169
× デラべっぴん
◎ マラぴんぴん
 
173デフォルトの名無しさん:02/10/12 04:06
○ すごいパソコン
× すごくパソコン

○ すごく偉い人
× すごい偉い人

○ すごい本
× すごく本

○ すごく読みにくいソース
× すごい読みにくいソース
174158(XERCES):02/10/12 05:07
すみません.web製作管理板から来ました.
XERCESを解凍した後,コマンドラインから

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

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

Exception in thresd "main" java.lang.NoClassDeFoundError

となってしまいました.試したバージョンは1.4.4と2.2.0で,OSはMEです.
お分かりになる方,よろしくお願いします.

ソフトウェア板行け
177デフォルトの名無しさん:02/10/12 05:27
それはいいページだね。
178デフォルトの名無しさん:02/10/12 14:45
XSLで、すべてのleafについてancestor-or-self軸のノードセットを選択し、それぞれのテキスト要素を表示するにはどうすればいいんですか?


<a><text>a</text>
<b><text>b</text>
<c><text>c</text></c>
</b>
<d><text>d</text>
<a><text>A</text></a>
</d>
</a>
結果
abc,adA
ヤレヤレ
>>178
ここ、XSL理解してる奴いないから。
質問しても無駄。
181178じゃないです。:02/10/12 20:10
>>180
ホントダ!!
ここ何気に雑談スレじゃん。
質問が来ても、まるで答えてねぇ。 ←私もだけど
182デフォルトの名無しさん:02/10/12 20:16
178はまた君か、って感じなので。
>>178
LISPでやれば一瞬で解決しそうだな。
184デフォルトの名無しさん:02/10/12 21:08
178です.
書き忘れたんですが,下記を試しましたが,全要素を表示してしまいました.

<xsl:template match="*">
<xsl:if test="position()=last()">
<xsl:value-of select="ancestor-or-self::*"/>
</xsl:if>
>>186=182に質問
>>182の意味がわかんないんだけど。
>>178と知り合いですか?
>>178 はやりたいことを全て2chの輩に作らせる奴
>>189 >>で語るスレ?
190デフォルトの名無しさん:02/10/12 23:32
>>184
<xsl:if test="position()=last()">
たぶんここが違う。
たぶんこっで聞いた方が早い
XSL/XSLT
http://pc.2ch.net/test/read.cgi/php/999654569/l50
192デフォルトの名無しさん:02/10/14 01:20
>>190
すみません、解決できました。
そこも全然ちがいました(w。
>>192解決方法は書いてくれないのか。
>>190
そうか?左辺が参照を返す関数ならそれは可能だと思うが。
195デフォルトの名無しさん:02/10/14 14:27
age
196デフォルトの名無しさん:02/10/17 09:29
フリーなXMLファイル作成ツールってありませんか?
あったら教えて下さい。
>>196
Windowsならメモ帳。
板違い
199199:02/10/17 23:16
>>196
M$の XML NotePad
200デフォルトの名無しさん:02/10/21 21:12
XSLTを使ってXML文章を別のXML文章にするのってどうすればいいの?
<xsl:output>やそのomit-xml-declaration属性の設定、<xsl:processing-instruction>を
使うかどうかなんか教えてくれ
板違い
202デフォルトの名無しさん:02/10/21 22:36
板違いなのか?
じゃぁどこで聞けばいいんだ??
HaXml使ってるヤシいる?
http://www.cs.york.ac.uk/fp/HaXml/
204デフォルトの名無しさん:02/10/22 01:26
>>200質問が具体的でなくて答えようが無い
205デフォルトの名無しさん:02/10/22 02:00
>>204
例えば
<a>
<b>
<d>hoge</d>
<c>
<d>hoge</d>
</c>
</a>

というのを

<a>
<d>
<name>hoge</name>
<b>mogemoge</b>
<c>hagehage</c>
</d>
<a>

こんな感じXMLをXMLへ変換するのをXSLTを使ってやりたい
というかXSLTを使ってXML文章をはき出す方法がわからない
はぁ???
普通にtemplate-match使って吐けばいいんじゃなぃの?
>>205>>206
もしかして、xsl:textを知らないとか?
んでもって、閉じタグの扱いに困ってるとか(w
改まった場?
http://isweb8.infoseek.co.jp/computer/tako88/document/unit_uiHTMLParser.html

これと同じ機能を持っていてフリーのhtmlパーサ無いかな
そんな適当なのでいいんなら自分で書け
>>211
さんざん海外のサイト探し回ったりしてるんだけど
カーソル位置のエレメントの情報を探し出す って機能が見つからないんだよ

頭悪いから自分で書く事も出来ないしな
カーソル位置?
エディタと連携させて、カーソル位置にあるタグの情報を出させるってこと
>>214
XmlWriteとか。
編集しながら、即反映するXML&XSLTエディタ。
>>216
>即反映する

何に。
emacsのことかな?
>>218
厨御用達のエディタにしたくないから、勘弁してください。

厨の言うことはサパーリ
221デフォルトの名無しさん:02/11/02 02:13
Javaで、org.w3c.dom.Documentで取得したXMLノードを文字列に展開することってできますか?
>>221
出来そう。
どのように展開したいですか?
parentノードを所得した時に、

<parent>
 <child>ほにゃらら</child>
</parent>

こう展開したいと解釈してよろしいですか?
void output(Document aDocument, OutputStream anOut, String anEncoding){
 Transformer transformer = TransformerFactory.newInstance().newTransformer();
 transformer.setOutputProperty(OutputKeys.ENCODING, anEncoding);
 transformer.transform(new DOMSource(aDocument), new StreamResult(anOut));
}
224221:02/11/02 09:55
>>222
そのとおりです。

>>223
ありがとうございます。今手元に環境がないので連休明けにでもこれで試してみます。
OutputStreamは適当にnewしたものを使えばいいんですよね?
Encodingは具体的にはどういうものを指定すればいいんでしょうか?
>>224
メモリ上に得たいなら、ByteArrayOutputStream を new して渡す。
ファイルなら FileOutputStream。
エンコーディングは、"Shift_JIS"、"UTF-8"、"EUC-JP" などなど。
226デフォルトの名無しさん:02/11/04 18:28
以下の2つはどちらもXMLの検証に使われる、スキーマの定義文の
かきだしです。なんと呼ばれるXMLのスキーマ言語ですか?対応す
る呼び名を選んでください。
(ア)
<?xml version="1.0" encoding="Shift=_Jis"?>
<Schema xmlns=・・・・・・
(イ)
<?xml version="1.0" encoding="Shift=_Jis"?>
<module moduleVersion="1.0"・・・・・

回答群ーーーーーーーーーーーーーーーーーーーー
@RELAXASAXBDTDCXSDXDR        
EURIFnamespaceGSchemaHmodule 
ーーーーーーーーーーーーーーーーーーーーーーー

<回答欄>
(ア):
(イ):
RUBY!!!!!
>>226
こんな課題出してくれる大学に行きたかったなぁ。
(ア)か(イ)、どちらかの回答を知っていれば
片方も推測がついてしまうのが残念だな。
>>229
と、言うことは深読みしすぎる俺の(2の回答はを間違っていると言うことか。
勉強になった。
231デフォルトの名無しさん:02/11/04 19:53
(ア)G
(イ)H
 良いですか?
アはあってる
でもSchemaだけだと何のSchemaかワカラン気もするが・・・
moduleって使われてるの?まだRELAXの方が使われてると思うけど
233デフォルトの名無しさん:02/11/07 07:51
concat関数で文字列を結合したいんですが、要素を指定しないで結合するのってできますか?
例えば、兄弟要素すべてを結合、とか、子要素をすべて結合、など。
>>232
正解はないだろう。。。名前空間がわからないのにSchemaタグの意味がわからんじゃないか。
235デフォルトの名無しさん:02/11/08 09:17
>>233
concatは引数として「連結したい2つ以上の文字列」を渡さなくてはいけないので
ノードを渡すことはできない、と思う
けど、descendant::text()みたくしてやればいけるかもしれない
じゃなかったらcountで数数えて変数つかって一個ずつ連結させていくとか
今手元で試せないんでこんな回答しかできなくてスマソ

>>234
・・・・の以下は本当は続いてるんじゃないの?
なこといったらあれは文書として完結してないじゃん
だけど名前空間は書いてくれないとね。。。
今の時点では、激マイナーなXSL-FOスタイルシートの話題降ってもいい?
激マイナーって...。
1年くらい前にPDF生成に使ったけど?
バリデータもついてなきゃ単なるおもちゃのオナニーライブラリ止まりだと思われ
バリデータついてないXMLパーサの作者ですが、何か?
おもちゃにはおもちゃなりの使われ方があるのです。

けど正直、バリデーションもできるようにしたいんです。
DTDステでRELAXサポートってのはありかな?
RELAXNG にしる
242デフォルトの名無しさん:02/11/15 11:19
XPathのAxisでselfってありますが、
self::で絞った時に属性ノード、名前空間ノードといった
従属ノードの扱いってどうなるんでしょうか?

Selfはcontext node自身でなければならないことを表します。
ってあるんですが、属性、名前空間はそれに含まれないとの
認識であってますか?
243デフォルトの名無しさん:02/11/15 20:04
>>242
俺の持ってる本には
「attribute軸とnamespace軸は要素ノードからのみたどることのできる軸」
とあるのでそういう認識でいいと思う
"self::node()"は"."と同義なんだからおかしな事になる(むしろself軸ってこれ以外使い道無い??)
属性ノードの場合"@"を使うわけだし
244デフォルトの名無しさん:02/11/16 01:32
>243
ThanX!!やっぱそうだよねぇ〜

というか、もしかして本が間違えてると言う可能性も
えてたわけですが^^;<XML完全解説(下)

selfで取り出せるのは従属ノード以外のコンテキストノード
ということになるんですかね。
#そもそもコンテキストノードには従属ノードは含まれない?

axisのとこに*selfだけ解説がないので迷ってました。P.65
#child,followingなんかだと従属ノードは取り出せないって明記されてるんですが。
RelaxNGCC
http://relaxngcc.sourceforge.net/ja/

あまりコメントないようなので、使ってあげてください。
246デフォルトの名無しさん:02/11/16 13:58
>>244
243だけど俺も同じ本使ってる(w
たぶんあれには嘘は書いてないと思うよ
従属はあくまでも従属だからその親要素に行ってattribute軸なりを指定しないと
取り出せない(./@hogehogeなんてのができない)と思うので
そういう意味でselfは起点のノード(要素)のみでしょ
そのページの上に書いてある図がわかりやすいと思うけど
>246

あれしか日本語でまともな本ありませんやん。重宝してます。
あとは、Don Boxの
http://www.amazon.co.jp/exec/obidos/ASIN/0201709147/ref=sr_aps_eb_1/250-5771327-1457021
とか。information setちゃんと解説した本あんまないような。

selfで今いるコンテキスト取り出せたとしても
attribute,namespace以外では従属ノードのとこまでtree walkできませんね^^;

もしそこまでいけたとしたら、きっと、selfで取り出せるけど
そんなことできませんがな、ってことですかね。
248242:02/11/17 17:50
あれれ・・・
ちょっと待てよぉ。Quipで試してみたら
/attribute::*/self::*
属性のコンテキスト取り出せます。

ってことは、従属ノードもselfは取り出すって事ですか?
でも、/attibute::*/self::node()ではでてこないという謎仕様なので
あんま信用おけないかもですが。

node()で出てこないで、なんで*で出てくるんだろ。
249デフォルトの名無しさん:02/11/19 13:11
XMLマスターってどうよ?
http://school.2ch.net/test/read.cgi/lic/1002557224/
250デフォルトの名無しさん:02/11/19 14:22
source forgeでXMLpaserを落としたが状態遷移図で打つになった
251重複スレです。:02/11/19 21:17
>251
正気とは思えん
RelaxNGCCはたとえばこんな感じ。

<?xml version="1.0" encoding="utf-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
         xmlns:c="http://www.xml.gr.jp/xmlns/relaxngcc"
         c:package="">

  <start c:class="PersonList">
    <element name="person-list">
      <zeroOrMore>
        person = <ref name="person"/>
      </zeroOrMore>
      <c:java>
        System.out.println("" + person);
      </c:java>
    </element>
  </start>
  
続き。

  <define name="person" c:class="Person">
    <c:java-body>
      public String toString() {
      
          return ("name="      + name
                + ", sex="     + sex
                + ", age="     + age
                + ", zip="     + zip
                + ", address=" + prefecture
                + " "          + city
                + " "          + detail);

      }
    </c:java-body>
続き。

    <element name="person">
      <element name="name">
        name = <text/>
      </element>
      <element name="sex">
        <choice>
          sex = <value>male</value>
          sex = <value>female</value>
        </choice>
      </element>
      <element name="age">
        age =
        <data type="decimal">
          <param name="minInclusive">0</param>
        </data>
      </element>
続き。終わり。

      <element name="address">
        <element name="zip">
          zip = 
          <data type="string">
            <param name="pattern">[0-9]{7}</param>
          </data>
        </element>
        <element name="prefecture">
          prefecture = <text/>
        </element>
        <element name="city">
          city = <text/>
        </element>
        <element name="detail">
          detail = <text/>
        </element>
      </element>
      
    </element>
  </define>

</grammar>
で、こんなXMLを処理するクラスが生成できる。

<?xml version="1.0" encoding="Shift_JIS"?>
<person-list>
  <person>
    <name>ほげ</name>
    <sex>male</sex>
    <age>20</age>
    <address>
      <zip>1234567</zip>
      <prefecture>東京都</prefecture>
      <city>千代田区</city>
      <detail>大手町</detail>
    </address>
  </person>
</person-list>
XML形式で注文データを保存しようと思っているのですが、
どんどん、追記式でデータが入る場合、どのような方法で
記録していけば効率がいいのでしょうか、いつも最後の閉
じタグのところの処理に悩みます。

例えば、次のようなデータの場合、最後の</salesdata>がある
がために、<order></order>データをどんどん書き足していく
ことができないのです。こういう場合ってどうやって処理するのが
一般的なのでしょうか?

<salesdata>
<order no="1">aaa</order>
<order no="2">bbb</order>
<order no="3">ccc</order>
<order no="4">ddd</order>
</salesdata>

DOMとか使うと、毎回データを全部メモリに読み始め
てしまうし、SAXでも結局はデータを順次読んでいかな
ければならないと思います。一番簡単なのはファイル
ポインタをいきなり最後にもっていって、</saledata>
のタグまで、戻って、<order></order>データで上書き
して行く方法なのですが、、、なんかムダな感じが、、、

みなさんはどうやっているのでしょうか?
追記を示すタグを末尾に置けばいいんじゃない?
<append><selesdata/><order>ddd</order></append>
つーか、普通にDB使えば?
260デフォルトの名無しさん:02/11/26 17:11
>>250
状態遷移あくまで資料だから、見なくても使えるよん。
(状態はエラーの回復とかやる人のためのもの)
すごい簡単だよん。
使うソースはparse.cppとparse.hの二個だけ。

#include "parse.h" // ヘッダはこれ一個。

 ifs.open("hoge.xml");
parser ps;
 char c;
while (ifs.get(c), ifs.good()) {
if (ps.step(c)) break;
}
if (ps.checkerror()) {
std::cerr << "シンタックスエラー" << std::endl;
} else if (!ps.acceptable()) {
std::cerr << "ちょちょ切れ" << std::endl;
} else {
; // OK
}
261デフォルトの名無しさん:02/11/26 18:56
私は入門書片手の初心者です。
キーボードから入力できない記号(?)があって困っています。
Unionと言う演算子(?)らしいのですが、Shift押しながら全部のキーを試しました。
でも、でませんでした。
皆さんはどうやって入力しているのでしょうか?
お助け下さい

>>260
状態遷移図実はドキュメントと同期してない?
受理状態となるS7が見あたらないんだけど
>>258
とりあえず</salesdata>が現れるとこまでバッファに読み、</salesdata>を無視して
追記して最後に</salesdata>と書き込み、出力する。

とりあえず効率は良いし要件は満たしてるでしょ。

ただ組込系とかのタイトなシステムでやるのでない限りDOM使うのがいいと思うけどなー。
パフォーマンスチューニングも大事ですが、コードを単純化して
保守性をあげるのも大事な仕事だと思います。
XMLを選択する所が間違ってる気が。
>>263
直しまふ。すまそ。
267デフォルトの名無しさん:02/11/28 19:42
Javaの問題かとも思うんだけどもし知ってる人がいれば
Windows2000
JBuilder7.0
Java1.3.1_02
xalan2_4_1
xerces2_2_1
でXSLT変換してるんだけど改行がCRCRLFになる。デバッガでは\r\nですね。
普通にCRLFにさせたいんだけど何か設定漏れかな?

参考にしたところはhttp://www.hellohiro.com/xslt.htm

よろしくおねがいします。

ちなみに<xsl:output method="text" encoding="shift_JIS" />とxsltファイルには指定してあります。
268デフォルトの名無しさん:02/11/28 21:24
すみません.質問です.

<hoge>foo1,foo2,foo3</hoge>

のように,デリミタ区切りのXMLソースから,XQueryを使って,

<hoge>foo1</hoge>
<hoge>foo2</hoge>
<hoge>foo3</hoge>

としたいのですが,できるのでしょうか?
お手数ですが,よろしくお願いいたします.
269デフォルトの名無しさん:02/11/29 01:07
>>265
>XSLT変換してるんだけど改行がCRCRLFになる。デバッガでは\r\nですね。
>普通にCRLFにさせたいんだけど何か設定漏れかな?

\r\r\n?
\nにしたいの?
270デフォルトの名無しさん:02/11/29 01:44
>>269

\r\n -> \n

バイトなら
CRCRLF -> CRLF
0x0d 0x0d 0x0a -> 0x0d 0x0a

にしたいっす。
>267
状況がそれだけじゃわかんないよ。
CRLFの入力をテキストモードで読みこんでCRLF補完された、または
CRLFのデータをテキストモードで書き出しでCRLF補完されただけって
気がするけど。
ファイルの読み書きの仕方が悪いとしか言いようがない。
272267:02/11/29 11:58
XMLはDocumentにプログラムでガリガリかいてます。

public static String n2S(Node targetNode,
String xsltFileResourceName)
throws IOException, TransformerConfigurationException,
TransformerException {

ClassLoader cl = ClassLoader.getSystemClassLoader();
java.net.URL uri = cl.getResource(xsltFileResourceName);
StreamSource xslsrc = new StreamSource(uri.openStream());

StringWriter sw = new StringWriter();
TransformerFactory factory =
TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(xslsrc);
transformer.transform(new DOMSource(targetNode),
new StreamResult((Writer)sw));
return sw.toString();
}

よろしくおねがいします。
273268:02/11/29 21:03
すみません.どなたからもレスがないので,やはり無理なのでしょうか.
それとも簡単すぎるのでしょうか.できればコメント願います.
...XQueryはデリミタを解釈できない...

再掲載:
<hoge>foo1,foo2,foo3</hoge>
のように,デリミタ区切りのXMLソースから,XQueryを使って,
<hoge>foo1</hoge>
<hoge>foo2</hoge>
<hoge>foo3</hoge>
としたいのですが,できるのでしょうか?
お手数ですが,よろしくお願いいたします.
>>273
ここじゃなくてWebプログラミング板で聞いたら?
http://pc.2ch.net/php/
275デフォルトの名無しさん:02/11/29 23:01
どっかに、VC++でSAX使ったサンプル、無い?
>>275
一応つっこんでおくとどの言語でも大体仕様一緒なんだから勝手に読み解けや。
277デフォルトの名無しさん:02/11/30 11:15

君、大雑把過ぎ。
↑俺はそうは思わんぞ。
君プログラマに向いてない。
w3cがメソッド仕様まで決めてるのって珍しい気もする
>>279
DOMとかSAXとかって言語問わず同じ手順で操作出来るのが売りなのでは?
手順は同じでもJavaとC++つかVC++からではそれ以前の準備が大分違う罠。
MSXMLだったらCOMだしな。Java+XMLの達人でもいきなりだとサンプルなし
では難しいと思われ。
MSXMLもjavaのもlibxmlも普通に使えたよ。特に困ることもなかった。
>>282に同意
284デフォルトの名無しさん:02/11/30 21:59
285まちがい:02/11/30 22:30
>>268の質問に答えられるやつは一人もいないのか?
ちなみにおれは知らん。ごめんよ。
>>268
XQuery使ったこと無いけど、本当にXQueryじゃないと駄目なの?
XSLTとか使ってると簡単なことなら問題ないけど、ちょっと複雑なことをやろうとすると面倒になるよ。
XSLTで改行を<br>に変換しようとしただけでユーザ定義関数作る羽目になったんで。
たぶんXQueryも同じじゃないかなと思うけど。
個人的にはこの場合はXPathとか使って値を取得してから普通にプログラミングでやった方が良いと思うよ。
288268:02/12/02 22:11
>>286
ありがとうございます.反応していただいただけでもうれしかったです.

>>287
反応していただき、ありがとうございます.
XQuery以外ですと,JavaScriptしか他はないといったところです.
自分が組める組めないという事情とはちょっと異なり,それしか
手段がないといったところです.

いずれにせよ,ちょっと難しそうですね.
いろいろありがとうございました.
289デフォルトの名無しさん:02/12/03 01:09
FILE で読む。これ、最強。
290デフォルトの名無しさん:02/12/03 23:31
MSXMLのDOMを使ったコーディングをよーくやってます。
たまにDOMのクラスにメソッドやイベントを書き換えたり追加したてぇって思いますよ。
例えばXMLファイルの整合性を保つためにロック機構を実装しようと、DOMDocument
クラスのLoad,saveメソッドを書き換えたいなぁっと。
MSXMLを使っている限りアクロバティックなコーディングをしないと無理?
Javaを使えばオーバーライドやらを使えばできるんですか?
291わ ◆nZptw02DTU :02/12/04 00:03
>>290
ロックは別の機構でしましょう。
ASPならServer.Lockだったかな?
VBとかならセマフォか?
一個ロック用COMを用意しておくと使い回しが便利だとは思うけどつくってません。
292デフォルトの名無しさん:02/12/04 07:30
>>291
書込み可で開いたときにロックファイルを置くってなレベルで
いいんですよ。ただし、Load,save共に書き換えて置かないと
おかしくなりますが。
Server.Lock?ってありましたっけな。調べよ。後で。今は手
元にMSDNないし。
293わ ◆nZptw02DTU :02/12/04 09:17
>>292
思い出した。
Server.ApllicationLock
294デフォルトの名無しさん:02/12/05 00:39
>>293
はて?ありましたっけ?そういうメソッド。
ちなみにあちしはNT4で開発してるのでIIS4です。IIS5?
ひょっとして.NETとか?
295わ ◆nZptw02DTU :02/12/05 09:39
>>294
ごめんなさい。
適当に書いていること丸わかり。

Application.Lock
http://www.google.co.jp/search?num=100&hl=ja&ie=UTF-8&oe=UTF-8&q=Application.Lock&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
296デフォルトの名無しさん:02/12/05 14:28
XML初心者です、JavaでXMLを扱っているんですが次のような例外がでて困ってます。
SAXParseException : the root element is required in well-formed document
これってXML文書本体に誤りがあるってことですよね?
でもXML文書本体もスキーマも正しいはずなんですが、どうしてなんでしょうか?
誰かおねがい!!
>>296
> でもXML文書本体もスキーマも正しいはずなんですが

思い込み。
>>296
> でもXML文書本体もスキーマも正しいはずなんですが

証拠は?
299 ◆oKgODJRETc :02/12/06 00:04
>>295
なーるほど。
(多分)
読み込み、書込みの前後で必ずApplication.Lock/Application.UnLock
をして同時に読み書きが行われるのを避けると。
ASPでの実装はそれでオッケーそうですな。
300 ◆oKgODJRETc :02/12/06 00:06
ASPでの実装はオッケ―です。どうもでした。ここからは別の話です。

Javaにヒジョーに興味があります。
>>290
であちしが書いたような、XML DOMのメソッド書換えってJavaだとで
きるんですか?
MSXMLってCOMっしょ。ならアグリゲーションじゃないかねぇ。
委譲書くのがめんどいけど。
>>296
パーサーと、XML文書、クラスパスの情報を書け
303 ◆oKgODJRETc :02/12/06 06:58
>>301
いや、JavaでXML使うんだから、MSXMLは使わないです。
確かJavaでもXMLのDOMってありましたよね。
304わ ◆nZptw02DTU :02/12/06 10:25
>>303
Xerces かな。
.save とか .load とかっていう便利な代物無いから適当に書いてください。

でも、別環境との排他はファイル存在排他か、DBをつかわないと出来ないよ。
WindowsとASPとかはCOM経由で同一排他ロジックが利用できるけどね。
DocumentBuilderFactory.newInstance().newDocumentBuilder()
TransformerFactory.newInstance().newTransformer()
fprintf(fp,"<?xml version="1.0" encoding="UTF-8" ?>\n");
>>306
Cの基本からやり直せ
308デフォルトの名無しさん:02/12/09 10:54
質問です。
XMLDOMを使用した場合、各タグのパラメータを取得するには
getElementsByTagNameメソッドを使用しますが、このパラ
メータを更新したいときはどのようなコーディングをすれば
良いでしょうか? 使用するメソッドがわからないです・・・。
309わ ◆nZptw02DTU :02/12/09 11:04
>>308
なにがわからん?

a = domdoc.getElementsByTagName("").value
で取得できれば
domdoc.getElementsByTagName("").value = a
で設定。
XMLはコンピュータの可能性を狭めている
311308:02/12/09 12:02
>>309
 ありがとうございます!
 
 その通り、パラメータセットを逆にしてあげるだけで
 いいのかな?と思ったんですけど、上記のように実装
 してもデータが反映されないんですよ。ファイル更新
 時間も変わらないし。
 このあとで何か命令が必要なんでしょうか?
 ちなみに値の取得はできてます(確認しました)。

Set xmldoc=CreateObject("Microsoft.XMLDOM")
xmldoc.async=false
xmldoc.load(ファイルパス)
set strData = xmldoc.getElementsByTagName(タグ名)
domdoc.getElementsByTagName("").value = a
312308:02/12/09 12:17
あ、セットしてる箇所はこっちでした
strData.Item(0).text = a
fprintf(fp,"<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n");
314わ ◆nZptw02DTU :02/12/09 13:06
>>311
保存してる?
MSXMLなら.save
それ以外は自分で調べて。

オンメモリのドキュメントは変更されてるから。
>>306-307

>>313
やり直してきたみたいだね。感心感心。
316308:02/12/09 14:45
>>314
 できました! そうですね、保存処理をすっかり
 忘れてました・・・(恥)。ありがとうございました。

 ただそのまま保存すると2バイト文字が内部コード(UTF-8)
 の3バイト形式になってしまうんですね。
 元々の形式が「𘚟」だったので・・・。変換モジュール
 作るしかないですね?
317わ ◆nZptw02DTU :02/12/09 14:54
>>316
そんなことはないよ。
どうやって保存してる?.save()?
>>313のようにXML宣言しているところをencoding="Shift_JIS"にしてる?
318308:02/12/09 15:33
>>317
「encoding="UTF-8"」です。元々作成データはUTF-8なんです。
 ただ、作成したいのはUTF-8の3バイトコードじゃなく、
 "𘚟"の文字体系なんですね。
 なので、Save処理を実行すると当然ながらデータは元々の体系
 ではなく3バイトコードになってしまうのでマズイ、と。
319308:02/12/09 15:51
あ、ばけてた。「&#99999;」ですね。
320わ ◆nZptw02DTU :02/12/09 17:11
>>318
全部数値実態参照にしたいの?
なんでかなー?

うまいやり方はあまり思いつきません。
何か方法あるかな?
321デフォルトの名無しさん:02/12/09 21:58
XML仕様書のEBNFやめてほしいよ・・・。あいまいでつかみにくい。
例えば「正規表現で表すものは大文字で始めます」とかイットキナガラ
「prolog」が大文字で始まらないのはなんなんだよっ
322デフォルトの名無しさん:02/12/10 13:27
xslとxsltの違いって何?
323わ ◆nZptw02DTU :02/12/10 13:36
>>322
XSL=XSLT + XSL-FO
XSL-FO知らなかった。サンクス
325デフォルトの名無しさん:02/12/11 23:50
すいません。
Cでコーディングしてるんですが、
IXMLDomDocument* aaa
みたいにして、かつCreateInstanceしてさらにaaaを、LoadXMLとかLoadしてDOMつくるじゃないですか。
今度はbbbを、aaaと同じようにして別のXMLで作成して、bbbをaaaに代入することはできるんですか?
処理が死んでしまうんですが・・・
どなたか詳しい方に教えていただきたいんですが。
よろしくお願いします。
「代入」とは?
「処理が死んでしまう」とは?

XML以前の予感
327デフォルトの名無しさん:02/12/12 00:26
Javaの話だが、xercesだけでXPath式使えないのかな
xalanのXPathAPIクラス使えばいいんだろうが、xalan.jar使いたくない
でもDOM/SAXは辛い
328デフォルトの名無しさん:02/12/12 00:54
>>326
学生なんですいません。
「代入」・・・bbbのXML文書をaaaにコピーしたい。元々のaaaのXMLはもう要らない。
「処理が死ぬ」・・・実行時にエラーが発生するという意味です。
むいてないんですかね、おれ。
>>328
どんなコードか載せてみれ。
330デフォルトの名無しさん:02/12/12 01:00
>>329
今ないんで明日ガッコからもってきます。
レスありがと。
これっぱかしのやりとりでは適性は判断できないが…「エラーが発生」って何?
APIがエラーを返すのか、OSが例外を出すのか、はたまた…。
適性と言うより経験が無い、という方が正しそう。
とにかくコード
333デフォルトの名無しさん:02/12/27 02:07
333ゲットついでに教えてください

XMLマスターってどんな資格?
XMLは元々そこそこ詳しいし、ちょっとした暇を見つけて取得しようかと考えているんだけれど。
少なくとも海外では使えなさそう、という事だけはわかりました。

後、他に(海外含めて)XML関係の資格ってどんなのがあるでしょう?
>>333
↓こっち嫁

XMLマスターってどうよ?
http://school2.2ch.net/test/read.cgi/lic/1002557224/

んでXMLマスタープロフェッショナルの資格を取って勇者になれ。
そしてスレを救え。たのんだ。
335デフォルトの名無しさん:02/12/27 12:11
>>334
サンクス。しかしそのスレをみると、やはり使い道のない資格の様な気がする。

そのスレで紹介されていたIBMの資格がちょっと気になる。
http://www-1.ibm.com/certify/tests/obj141.shtml
今度アメリカに遊びに行くついでに試験受けてみようかな…
>>335
XMLマスターが使い道なければIBMの試験はもっと使い道ねーよ
もういい帰ってくれ。
>>336
アホ発見(プ
     ____
    /∵∴∵∴\
   /∵∴∵∴∵∴\
  /∵∴∴,(・)(・)∴|
  |∵∵/   ○ \|
  |∵ /  三 | 三 |  / ̄ ̄ ̄ ̄ ̄
  |∵ |   __|__  | < うるせー馬鹿!>>337
   \|   \_/ /  \_____
     \____/
339デフォルトの名無しさん:03/01/03 03:35
複数のXMLにたいして検索をかけて、情報をとってくる事を考えてます。
言語はjavaなんですけど、
XQueryとか、そういうXMLの問い合わせ言語で
実際に使えるものはあるのでしょうか?

やっぱりDOMやSAXで自分で作るほうがいいでしょうか?
340デフォルトの名無しさん:03/01/03 04:59
>>339
XPath
342339:03/01/04 00:16
JXPath調べてみます。
ありがとうございました。
343デフォルトの名無しさん:03/01/04 21:37
 Dim objDoc As New XmlDocument()
 objDoc.Load("sample.xml")
 Dim count As Integer

 objRoot = objDoc.DocumentElement
 objAAA = objRoot.childNodes

★For i = 0 To (objAAA.Length - 1)
  count = count + objAAA.item(i).Length
 Next

VB.NETでDOMの勉強をしているのですが、上記のコードの★の部分で
以下のようなエラーが出てしまいます。Lengthプロパティを取得するには
どうすばれ良いでしょうか?

>'System.MissingMemberException' のハンドルされていない例外が
>microsoft.visualbasic.dll で発生しました。
>?追加情報 : 型 'XmlChildNodes' でパブリック メンバ 'Length' が見つかりません。
エラーメッセージのまんまやん。
345デフォルトの名無しさん:03/01/04 21:54
>>344
済みません、始めたばかりなもんで本当に対処の方法が分かりません。
ヒントでもいいのでお願いします。
XmlChildNodesをヘルプで見れば?
>>345
XmlChildNodesにメンバ"Length"が無い
これ以上やさしく書くのは不可能
あ、分かりました…ノードの数はLengthじゃなくてcountだったんですね
ありがとうございました。
手元のXMLの本ではLengthを使ってるんですが…
.NETのXMLライブラリはDOM API準拠じゃないと思った
てことはVB.NETで343みたいな操作するやつは
DOMじゃないってこと?
いや、DOM相当の機能はあるけど、W3CのDOM APIそのままじゃないってこと。
あれ、でもDOM APIがLengthなんて使うわけないよな・・・
353IP記録実験:03/01/08 22:01
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
もう2chも終わりだな
なんでも俺を実験に使うそうで
356IP記録実験:03/01/09 02:33
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
fu-n



          これはぼくの自作自演スレを根底から揺るがす大事件だ



ダレカ、カキコンデクレ・・・
>>40
初めてひろゆきにレス貰った。
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
おぺら6.05からテスト
書けてるよ〜
>>567
そのへんをはっきりとひろゆき氏は述べて欲しい。
いろんな状況が考えられるけど、善意の告発と思われるものに関しては書き込み者を保護するとか。

(^_^;)?

 荒らし荒らし for dream!!
脅迫事件発生!!
http://choco.2ch.net/test/read.cgi/intro/1040994855/

もう2chは末期ですな。
ついでに。
素朴な疑問ですが、どうしてこの板だけスレストされるのですか?
…うまかった…時空を超えた1年越しの味。

localhost:12987みたいな自分のところで立ち上げてから見るんじゃなくて、
自分は立ち上げずに他の人のところで見たいという意味なんだよね。

やっぱ2ちゃんねるのアドバンテージは
多くの人が書き込んでいること、なんだけど、
そのひとつの要因として、ブラウザと言う、
OSに標準でついてるもので簡単に見れること、
があげられるし。
MSXMLでDOMを使ってます。例えば

<product id="0">
 <name>A</name>
 <price>600</price>
</product>
<product id="1">
 <name>B</name>
 <price>500</price>
</product>
<product id="2">
 <name>C</name>
 <price>300</price>
</product>

idの番号を連番にしたいのです。
idが1のノードを削除した場合、idの番号を詰める。
挿入した場合もidを連番になるようにする。
これって、やっぱり自力でやるしかないのですか?
2003年1月10日がおいらの青春の1ページに記録されますた。
なんかこれ見よがしに必死に他の掲示板へ誘導してる香具師が居るように見えるんだがw
IP晒されてるのはクソ馬鹿ばっかりだな・・・ こういうのが減るのならいいか・・・
そういわれるとそうでした。。
つっこみでました
qb鯖の中の人は大変だな。
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
良識ある大人が基地外じみた発言をするところがココの魅力ですた

美学っすか?
qbサーバー
http://qb.2ch.net/accuse/ 批判要望
http://qb.2ch.net/saku2ch 削除要請
http://qb.2ch.net/saku/ 削除整理
http://qb.2ch.net/sakud/ 削除議論
http://qb.2ch.net/saku/ 削除依頼

ここだってよ


と自己レスしてみるが、今までIPでてたじゃん
半角系板では、業者が書き込むとリモホが表示させられてるみたい
382デフォルトの名無しさん:03/01/11 16:20
>>370
そりゃ、自力しかなかろうもん。
【無料】みんなでお揃いのユニフォーム【祭り】
http://life2.2ch.net/test/read.cgi/offevent/1042037013/

みんなで2ちゃんユニフォームを作ってワショーイしよう!
同じカッコしたちゃねらーで街を埋め尽くそう!

ユニフォーム代はなんと無料です!
↓ここを利用します。
http://www.getuniform.com/

おまえら、IP記録がそんなにこわいのか。
肛門から心臓が飛び出そうなくらい怖いです(^_^;)
皆さん祭りの予感です。
2002/1/11 の昼に、ポートスキャンは悪くないってのたまった
男(アサピー)が降臨しました、今夜は祭りの予感です。

http://ex.2ch.net/test/read.cgi/korea/1042284179/l50

IDが1ch
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
誰が書き込んだ内容だろうと、その内容の全責任はひろよきにあるんだ。
ただ裁判官も弁護士もネット観念が全く無いのをいいことに 、もっともらしく
「私は場所だけを提供しています」って押し通そうとしている痛いひろゆき。
訴える側も、掲示板の管理責任を追求することまでしか知識が追いつかず
ひろゆきを名誉毀損などで訴えることをする奴が皆無なのが拍車をかける。

一度、裁判で、書き込みに対して、
削除を求める等では無くひろゆきを名誉毀損で訴え
SFCの村井さんあたりが原告証人で出廷するといい。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
test test
どれぐらいでおわるの? 明日までにはおわりそう?
一月だろ。
393山崎渉:03/01/15 17:59
(^^)
xslについて教えてください

<国>
<都道府県>
....
<市町村>
....
</市町村>
</都道府県>
</国>

県内における市町村のポジションはposition()で得られるとき、
国における都道府県のポジションを得るにはどうすればいいのですか。
都道府県のレベルであらかじめ、position()を使ってポジションを
得るしかないのでしょうか。

395Windows上で:03/01/23 09:03
DOMツリーのオブジェクトをツリー表示してくれるようなコンポーネント
ってないでしょうか?ダイアログに貼り付けて使いたいのですが。。。
396山崎渉:03/01/23 20:00
(^^)
397242:03/01/25 16:30
>395

IE
398デフォルトの名無しさん:03/01/27 22:10
>>334
プロ合格した勇者いるみたいよ。
↑mailto:xxxli
400デフォルトの名無しさん:03/02/26 20:32
【何処も】情報科学総合スッドレ【板違い】
http://science.2ch.net/test/read.cgi/rikei/1046173479/



401デフォルトの名無しさん:03/02/26 20:36
>>395
MozillaのDOMInspectorみたいな?
402デフォルトの名無しさん:03/03/04 12:16
おまえらXMLが死滅寸前に追い込まれたときどうするよ?

ちゃんと対策とってるかよ
死滅対策をよ
死滅後の行動とってるかよ
403デフォルトの名無しさん:03/03/04 12:27
>>402
コピペにマジレス。

間違いなくXMLより先に俺が死ぬから問題ない。
403 の主治医です。
(以下略)
なんかこの死滅死滅ってコピペよく見るが、
ちっとも面白くないのはどういうわけだ。
406406:03/03/12 22:54
Java で XMLをDOMに読んだり、DOMをいじったり、それをXMLに
書き込んだりするのができるようになりますた!

Schema の書き方も勉強中なのですが、実際にXML文書がSchemaに
Valid かどうかをちぇっくさせるには、どうやってやればいいですか。

Schemaファイル名をどっかに書くのだろうけど、どこに書けばいいか
わかりません。
407ヽ(´ー`)ノ:03/03/12 23:17
>>406
http://www.google.com/search?q="xml+schema"+java+validation
408406:03/03/12 23:30
ありがとうございます。

検索時に、的確に単語を選ぶ能力がマジでわしには無いです。
こうやって出されると、ああ、たしかにそうだ、と思います。
409デフォルトの名無しさん:03/03/23 16:14
xml2javaってどうかな?
http://www.jnerd.de/xml2java.html

XMLの各要素に対応するクラスを自動生成してくれる。
SAXReaderもあり。
かなり便利そうだが。
410ヽ(´ー`)ノ:03/03/23 16:28
>>409
DTD からクラスを生成してくれるのか。
そういえば、Relaxer もクラス生成の機能が付いていたような。
411デフォルトの名無しさん:03/03/23 16:41
大元をDTDにするか、Relaxerのスキーマ定義xmlにするか。
DTDの方が理にかなってるとは思うが、
何気にDTD作らない場合も多いんだよなぁ。
412ヽ(´ー`)ノ:03/03/23 16:44
>>411
Relaxer で Relax -> DTD もできたはず。
悲しいかな、RelaxNG に対応してるのはβ版だけなんだが。

XMLScheme って実装の方は進んでないの?
>>412
MSXMLくらいじゃないか?対応してるのは。
んなこたーない。xercesも対応済み。
プログラマとユーザが非対応・・・

仕事ではSchemaもRelaxも見たことない、
見るのも書くのもDTDばかりな漏れはDQNプログラマですか?
DTDがちゃんと書けるなら立派なものかと。
本当のDQNは例えば「DTD死滅スレ」や「Schema vs Relax @春厨」や
「DTDばかりやってると馬鹿になる」みたいなスレを立てる奴のことだ。
DTDって読みにくいから、DTD手に入れたらすぐにRELAXに変換してから読んでる。
>>418
Relaxって、どこか(W3CとかISO)で標準化されつつあるんだっけ?
RELAX NG が ISO/IEC 標準ね。
Document Schema Definition Languages の一部として標準化された。
http://www.y12.doe.gov/sgml/sc34/document/0320.htm
>>420
うそいえ。まだドラフトだろ。
>>420
一瞬「いつの間になったんだ(゚Д゚;)聞いてねぇぞゴルァ」とか思った。
Status: Texy for DSI ballot って事は投票する一歩手前か?

XML Schema とダブルスタンダードになったりする事ってありえるのん?
教えて偉い人。
# ダブルスタンダードは困る…激しく。
これだけはいえる。



RELAX NG作った日本人は見た目キモイ。
>417の言う本当のDQNが降臨しました。
425デフォルトの名無しさん:03/03/28 18:43
MSXMLつかってまつ。
IXMLDOMElementが指定されたアトリビュートを持っているかどうか
調べる方法はありますでしょうか。
存在しないアトリビュートにアクセスすると例外が投げられるので
いちいちキャッチする
、、、という方法は避けたいのですが。。。
hasAttribute
427デフォルトの名無しさん:03/03/28 19:28
XMLファイルからXMLファイルをASPのincludeのように呼び出すにはどうすればいいですか?
428デフォルトの名無しさん:03/03/28 20:07
>>426
error C2039: 'hasAttribute' : is not a member of 'IXMLDOMElement'
って出てダメなんですけど。。。
MSXMLのバージョンがふるいのかな。
> MSXMLのバージョンがふるいのかな。
と言っておいてバージョンを書かないとはどういうこと?
>412
libxml2、RELAX NGをサポートしました。(2.5.5以降)
>423
この人はどう?(w
http://www.jclark.com/bio.htm





なんだかんだ言いながら、もうすぐ500スレ逝く。
ヴァカかお前らは。

====================== 終了 =====================================
500 _スレ_ も?
435デフォルトの名無しさん:03/04/03 00:28
SAXにて、
想定する順番どおりイベントが起こらなかったとき、例外を出して
止めるという事はできますか?

例えば
<?xml ... ?>
<a>1</a>
<b>2</b>
みたいにa,bという順番を想定していたのに
<b>1</b>
<a>2</a>
という風に来た時
例外を出してフォーマットエラーにしたい。
>>435
ハンドラインスタンスにListでもおいといて、イベントの履歴保存しとけばイイジャン。
直前のイベントといまのイベントの順序がおかしければ自力で例外投げれ。
437436:03/04/03 00:48
DTDなりXSDなりのメタ定義情報を準備して、パーサにバリデーションチェック
お願いするほうが簡単だけどナ。
438デフォルトの名無しさん:03/04/03 01:27
ありがとうございました。
解決しました。
解決しちゃったのかよ
こんなんばっかりだな。
所詮板違いということか。
441デフォルトの名無しさん:03/04/05 18:41
ある要素<item>が存在するとき、その子要素か、あるいはその<item>を
包含する上位要素のどれかの子要素として<title>が存在しなければならない
ということをチェックしたいのですが、XML Schemaでそのような定義が記述
できるでしょうか?

基本的には各<item>は子要素として<title>を持つのですが、

<root>
<item><title>title1</title></item>
<item><title>title2</title></item>
</root>

多数の<item>が同じ値の<title>を持つ場合、デフォルト値を与える
要素を追加して簡略化した記述が可能であるようにしたいのです。

<root>
<title>title</title>
<item></item> <!-- <item><title>title</title></item>と同等とみなす -->
<item></item> <!-- <item><title>title</title></item>と同等とみなす -->
<item><title>title1</title></item>
</root>

<root>
<item></item> <!-- <title>が存在しないのでエラー -->
<item><title>title</title></item>
</root>

もし不可能だとした場合、XML Schemaで定義できる範囲で上のようなことを
実現するには、どのような構造にするのが良いでしょうか?
>>441
できます
443441:03/04/07 07:15
>>442
ありがとうございます。できるんですね。
ただ、その後もXML Schemaの仕様を調べているんですが、
いまだにどのように実現できるのかわかっていません。
具体的にはどのように記述すれば良いんでしょうか?
>>443
普通に。属性にデフォルト設定できるでしょ?
445441:03/04/07 22:46
>>444
あ、いえ、属性値のデフォルトではなくて、>>441に書いたように、
要素の省略を許しつつも、その要素がどの階層にも存在しなければ
エラーとしたいのです。
やっぱり無理なんでしょうか。
>>445
choiceで場合わけとかはどう?
447デフォルトの名無しさん:03/04/15 13:53
MSXMLを使っています。
XMLファイルをロードするときに、すでに他からロードされている場合は
ロードに失敗するような、排他読み込みをするにはどうすれば良いのでしょうか?
448山崎渉:03/04/17 15:23
(^^)
>>447
XMLがどうこう以前に、単にファイルをロックすれば解決でわ。
450山崎渉:03/04/20 04:33
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
451デフォルトの名無しさん:03/04/25 09:02
質問です.

<unit>
<title>Dennis M. Ritchie</title>
<uri>http://www.cs.bell-labs.com/who/dmr/</uri>
</unit>
<unit>
<title>Ken Thompson</title>
<uri>http://cm.bell-labs.com/who/ken/index.html</uri>
</unit>

という XML を

<a href="http://www.cs.bell-labs.com/who/dmr/">Dennis M. Ritchie</a><a href="http://cm.bell-labs.com/who/ken/index.html">Ken Thompson</a>

と変換する XSLT はどう書けばいいんですか?
452わ ◆nZptw02DTU :03/04/25 10:29
本読めばすぐわかるよ。
だからおしえない
453デフォルトの名無しさん:03/04/25 13:23
>>452

ある要素の内容を,ある要素の属性の値にする方法ていうのが,
本読むんでもどうしてもわからないんですよ

ヒントだけでもお願いできませんか?
454わ ◆nZptw02DTU :03/04/25 14:41
xsl:attribute
なんかXMLの勉強をすると必ずどっかにjclarkって名前が出てくるんだが
こいつは一体何者なんすか?
仕様の策定から仕様に忠実な実装の作成までこなす XML 界の偉人。
http://www.jclark.com/bio.htm
457デフォルトの名無しさん:03/05/14 23:44
age
458デフォルトの名無しさん:03/05/15 00:29
みなさんJAVA<->XMLのマッピングには何使ってます?
Relaxer,Castor,JAXB,ZEUS,XML2JAVA...
459デフォルトの名無しさん:03/05/17 21:54
JAXB
もしくはCastor
460デフォルトの名無しさん:03/05/17 21:55
zeus
.NET Framework
JXPathは少し芸風が違うんだっけ?
Relaxer使ってる。
XML"文書"のマッピングをしようとすると、MixedContentや、Choice、Orderに、そこそこ
対応さてれないとつらいので。
最近は調査してないけど、ほかのもできるようになったのかなぁ。
464山崎渉:03/05/28 12:59
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
465デフォルトの名無しさん:03/05/30 02:49
XMLを勉強したい故にお勧めの一冊なんですか?
466趣味でXML Schema勉強中:03/05/30 16:15
・・・どうでもいいことかもしれんが、
次スレのスレタイでは「XML」じゃなくて"XML"にしとこうな。>>1

最初検索しても見つからなくて探しちゃったよ。

XML教えて教室
http://pc2.2ch.net/test/read.cgi/tech/982914729/l50

は過去ログに落ちてるし…。
次スレがあればな
SOAPスレってねぇな、そういえば、
あったけど消えたと思った。
470デフォルトの名無しさん:03/05/31 22:27
SEXML
最強言語になる
特にネットワーク向けの言語である
SヨXML
最強のハッタリ言語。
XSML
>>472
eXtendStandardMetaLanguage?
SXMLというのは本当にあるけど、たぶん最強。
<保守 name="趣味でXML Schema勉強中" mail="sage"/>
<hoshu>
<age/>
</hoshu>
XMLプログラミングってなんだろう。
XMLを扱うプログラミング
479デフォルトの名無しさん:03/06/21 01:01
プログラムをXMLで書く
>>479
XMLで書くスクリプトってのは、すでにあるな。EVALが楽かもね。

Antなんか殆どスクリプト同然だよな。死ぬほど遅いスクリプト。
>>480

>EVALが楽かもね。
威張る?

>Antなんか
蟻?
>>480
XSL なんかも近いと思うけど。
483デフォルトの名無しさん:03/07/01 09:57
厨質問ですまそ。
XMLをHTMLに変換するXSLを定義したいんですが、補助してくれる
フリーのツールってありますでしょうか。
どなたか教えてください。おながいします。
484デフォルトの名無しさん:03/07/14 23:41
非常にあいまいな質問ですが、
SGMLでできることのうち、する意義のあることは、
全てXMLの範囲内でできるのでしょうか?
>>484
曖昧杉。まぁ印刷業とかでSGMLが前提で無いならXMLでやってみれ。
ダメならそれからSGMLに移っても多分それほど回り道ではない予感。

>>483
フリーじゃないとダメなのかい?
(もれはついこの間からXMLSPY&StylesheetDesignerを使い始めたところ。30日試用版はタダすよw。)
486484:03/07/15 06:53
>>485
すみません。

HTMLがらみで、DTDの読み方をほんの少し知っている程度のど素人です。

出版業に限定してググってみると、
SGMLを軽視するな、というようなことを言う人がいます。
これからはSGMLよりXMLだ、というようなことを言う人もいます。
そのこころがよくわからない、ということです。

前向きな出版業の人は、いかに完璧なレンダリングをするか、ということと、
いかに徹底した論理マークアップを行うかということと、
いかに低いコストでそれを行うかということを、真剣に考えていると思います。
といったときに、XMLとSGMLのどちらが有利なのでしょうか?
というのが質問です。
>>486
だから何がやりたいのよ。>>485の言う通りとりあえずXMLやったら?
488山崎 渉:03/07/15 09:32

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
>>486
>SGML を軽視するな
既に SGML に金をかけちゃったんでそういってるだけじゃないかね。
>>486
有利不利は(いつでもそうだけど)条件による。

例えば、既にSGML資産があるならSGMLから始めるしかないんだろうし、
何もないなら今やXMLの方が色々手ごろな参考文献もツールも揃ってるし
仕様も明快でコンパクトな分だけ楽だと思うよ。

幸いSGMLとXMLは親子みたいなもんで似てるところも多いから
後からSGMLに移る必要が出てきたらそれから差分だけ
なんとかすることにしてもそんなに無茶じゃないと思う。
>>490
> >>486
> 仕様も明快でコンパクトな分だけ楽だと思うよ。

ま、正確に言うと仕様書の量だけで言えば大元のSGMLはコンパクトらしいが
その分SGMLはXMLより許容される文書の様態が多様なんでそれが大変だという噂。
この辺が柔軟性対コストでトレードオフがあるところらしい。

軽視するなってのはやっぱり
既存資産(文書インスタンス、スキーマ、ツール、技術、理論、ノウハウ)を
見ての発言だと思うよ。
印刷関連業界では長らく使われてきたという噂も見るので。
ま、その資産の幾らかは様々な形で徐々にXML世界に移植されてきてるではないかと
私個人は無責任かつ無根拠に思うけどねw。
.
>>492
冬眠?
494デフォルトの名無しさん:03/07/28 13:35
初心者的なことかもしれないけれど、迷ったので質問させてください。

今、XMLで構築されたデータベース的な情報の中からXSLで情報を摘出するようなシステムを考えています。
具体的に言うと、日記を毎日XMLで書いて、ホームページの更新をXSLのみでやろう、というようなことです。
それ自体は特に問題なく出来そうなのですが、「日記を毎日書く」というのをどのように実装しようか
ちょっと迷っています。

エディタで書くのはあまり現実的な方法ではないので、何かしらのツールを書こうと思っていますが、
定型のXMLを毎回既存のXMLに追加していく場合、どのような方法で行うのが良いのでしょうか?
DOMモデルを固めうちでやってしまった場合、将来的に変更があった場合などに困りそうですし、
XML SchemaやRELAXERなどを使うのが正しいのか、いまいちよくわかりません。

簡単に「〜がいいよ」というのを教えてもらえませんか?よろしくお願いします
>>494

■XMLDB(e.g. Xindice)を使う
一番スマートと思える方法だが、XindiceはJava1.4と相性が悪くて僕は断念した。
リリースビルドも2年以上更新されてないし、半分止まったプロジェクトなのだろうと判断。
アップデートにはXUpdateを使う。

■普通のDBに入れる
一日ごとにDBのレコードにしちゃう。ロックも一日単位で行えるので、排他処理が確実。
ただ、XSL+XPathみたいなXMLバリバリな処理とは相性悪いよね。

■一つのファイルに入れちゃう
排他処理とか大変そう。
排他処理をファイルのロック等に頼らず、サーブレットのスレッド同期で行うので有れば、
更新等の処理を全部サーブレット側からのみ行うようにすれば、なんとかいけるような。
この場合、DOMツリーを常にメモリに保持して置いて、XMLのファイルはバックアップとして扱うことになるかと。

僕は当面最後のアプローチをとっておいて、使えそうなXMLDBが安く(あるいは無料で)
手にはいるようになったらそちらに移行しようかと考えてまつ。
そもそもXMLをストレージに使うのは云々、というツッコミ歓迎。
>>13
ワラタ
497デフォルトの名無しさん:03/07/29 01:07
>>495
Xindice、そんな状況なのか…情報サンクスです。

ただ、DBを作るほどではなくて(というか権限が無くて出来ない)
本当に個人が日記を毎日更新するくらいの簡単な話です。

考えていたのは、1つのXMLファイルにデータを全部入れて、
更新があるたびに適当に書いたプログラムで(おそらくxerceを使って)
XSLをかけ、いくつかのHTMLを定期的に作成する、そういう流れを考えていました。

で、XMLファイルの定期的な更新が意外と面倒になりそうだったので、
これもプログラムで処理しようと思ったわけですが、DOMで書くのは
なんだかいまいち正しくないような気がして……。

でもDOMでいいかも、とか思い直してきました。
なにか他にいい方法があればぜひ教えてください
498デフォルトの名無しさん:03/07/29 09:45
<?xml version="1.0" ?>
<htmldoc>
<![CDATA[ hoge<br>hogehoge ]]>
</htmldoc>

「hoge
 hogehoge」
と出力するxslはどう書けば良いのでしょうか。
何をどう書いても
「hoge<br>hogehoge」
と出力されてしまいます。
499_:03/07/29 09:47
500デフォルトの名無しさん:03/07/29 10:02
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
☆★☆★☆★ 新商品 ゾク・ゾク 入荷 ☆★☆★☆
★☆                       
☆★ 送料激安!!  送料激安!!  送料激安!!
★☆      http://www.get-dvd.com      
☆★  激安アダルトDVDショップ        
★☆    お買い得!! 1枚500円〜 急げ!   
☆★    インターネット初!「きたぐに割引」  
★☆    北海道・東北の皆様は送料も激安!   
☆★      http://www.get-dvd.com      
★☆        スピード発送!        
☆★      http://www.get-dvd.com      
★☆        商品が豊富!         
☆★      http://www.get-dvd.com      
★☆                       
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
501???:03/07/29 10:02
>>498
xsl:value-ofでdisable-output-escapingをyes
503デフォルトの名無しさん:03/07/29 14:41
すいません、他のXMLスレで質問したのですがスレ違いらしいので
ここで改めて質問させていただきたいのですが
XMLをHTMLに変換するXSLなのですが

<xsl:element name="a">
<xsl:attribute name="href">
          <xsl:value-of select="linkurl"/>
</xsl:attribute>
<xsl:value-of select="name"/>
</xsl:element>

HTMLの<a href="url">タグを生成する部分なのですが
3行目の<xsl:value-of select="linkname"/> の部分で
java.lang.IllegalArgumentException: The output format must have a '{http://xml.apache.org/xslt}content-handler' property!
という、エラーが出ます
ちなみに、情報になるかわからないのですがJDOMを使用しています
>>503
スレ違い
>>503
敬語の用法が間違っている
506503:03/07/31 15:49
たった今、解決しました
とりあず、wsdp1.2のJarファイルをJ2sdkのlibフォルダにコピーしたら出来ました

詳細
%WSDP_HOME%\jaxp\lib\endorsed\*.jarを
%JAVA_HOME%\jre\lib\endosed以下にコピー

ちなみにJava2SDK1.4.1._02の場合です
507デフォルトの名無しさん:03/07/31 16:38
xmlってvbsみたいなことできないの?
508山崎 渉:03/08/02 02:09
(^^)
>507
vbsみたいなことってどんなだよぬ
510デフォルトの名無しさん:03/08/04 14:12
すいません、なんか上手くいかなくて困っています
スキーマ定義です↓

<?xml version="1.0" encoding="UTF-8"?>
<staff-list>
<staff id="001">
<name>山田</name>
</staff>
<staff id="002">
<name>斉藤</name>
</staff>
<staff id="003">
<name>岡田</name>
</staff>
<staff id="004">
<name>山下</name>
</staff>
</staff-list>

XPathで、取り出したElementをそのまま新しいDocumentとして
構築したいのですが上手くいきません
感覚的には、Document doc=new Document(elem);でいいのかなと思っているのですが
以下のエラーが出ます
org.jdom.IllegalAddException: The element already has an existing parent "staff-list"

511デフォルトの名無しさん:03/08/04 14:13
//これがソースです JDOM使ってます
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.XMLOutputter;
import org.jdom.xpath.XPath;

public class Test {

public static void main(String[] args) throws Exception {

//ファイルからDocument構築して読み込み
//XmlIO#buildDocumentは別クラス
Document inputdoc = XmlIO.buildDocument("staff.xml","Shift_JIS");

//検索処理
Element elem = (Element) XPath.selectSingleNode(inputdoc, "/staff-list/staff[@id=\"001\"] ");

//わざわざ、新しいElementを作って値をコピーしないとエラーになる
Element root = new Element("staff-list");
Element staff = new Element("staff");
Element name = new Element("name");
staff.setAttribute("id", elem.getAttributeValue("id"));
name.setText(elem.getChild("name").getText());
staff.addContent(name);
root.addContent(staff);

// Document doc =new Document(elem);←本当は一発でこうやりたいが、これやるとエラー
Document doc =new Document(root);
XMLOutputter out = new XMLOutputter(" ", true, "Shift_JIS");
out.output(doc, System.out);
}
}
512デフォルトの名無しさん:03/08/04 14:14
↑Shift_JISはUTF-8です書き間違えています読み替えてください
XSLT 使え。
>>510
エラーメッセージ通りの意味ですな。
試していないけど、duplicateすればparentが無くなると思うので、
duplicateしてからnew Document(dup);としてみたらいいんじゃないの?
>>514
ありがとうございます

でも、新しく作ったDocument docにElement入れても
重複なんてしないのになぁ と、思っています
>>515
そうじゃなくて、君がxpathで取り出してきたstaffエレメントは、
自分自身の属性の中にparent情報を持っているんだよ。具体的にはstaff-listエレメント。

だから、staffエレメントをそのままdocmentルートにしようと思っても、
当然ルートは親を持たないから矛盾する。それがエラーメッセージ。英語読めるよね。

cloneNodeなんかを使って親の情報を消せば、多分うまく行くんじゃない?と思った。
結果教えてね。
>>516
ありがとうございます

例の英語のエラーメッセージですが僕は
「ルート要素が既に存在します」と、思っていました
でも実際の訳は
「ルート要素の情報が一致しない(あるはずなのに無い)」なんですね

「ルート要素ある」⇔「ルート要素の情報を持ってる」

これは、大きな勘違いでした。でもこの指摘によりいろんな謎が解けました
指摘していただいたparentをはずす処理に当たるのがorg.jdom.Element#detach()です。
JDOMのJavadocはもっていないのですが、
org.jdom。Elementのソースコードのコメントに以下のように書いてあったので期待する動作をすると思われます
/ * This detaches the element from its parent, or does nothing if the
/ * element has no parent.


で、修正後のコードです
Element selected = (Element) XPath.selectSingleNode(inputdoc, "/staff-list/staff[@id=\"001\"] ");
selected.detach();//←org.jdom.Element#detach() 戻り値を利用せずにそのまま使えそうです
//selected=(Element)selected.clone();←コレでも動作しますが、detachのほうがスマートですかね
Document resul = new Document(selected);
XMLOutputter out = new XMLOutputter(" ", true, "Shift_JIS");
out.output(resul, System.out);
518デフォルトの名無しさん:03/08/05 17:22
XSLの中で、外部ファイルの有無によって処理を分岐させたいのですが、
外部ファイルの有無を調べる方法がいまひとつわかりません。
ファイルの有無を調べてその結果を反映するXMLを返すCGIスクリプトを書いて
document()で取り込んで見たりしたのですが、これはパースに時間がかかりすぎて
だめでした。
MSXMLを使ってIE上で表示させています。何か方法があったら教えてください。
おながいしまつ。
>>517
ルート要素と親を勘違いしているっぽい。

>>518
試してないんだけど(こればっかですまないっす)、
<xsl:valiable name="check" select="document('foo.xml')"/>
<xsl:if test="$check/root">何か処理</xsl:if>
じゃダメですかね?msxmlは長らく使っていないのでサポートしているかどうか微妙だけど。
ASPだと簡単にXMLの送受信ができるんだね

> xmlData.Load "data.xml"
> Set xmlHTTP = CreateObject("Msxml2.ServerXMLHTTP")
> xmlHTTP.Open "POST", "http://hoge/hoge.asp", False
> xmlHTTP.send xmlData
> resXML = xmlHTTP.responseXML.xml

Perl, PHPで同じ事するソースわかる人いますか??
悔しいけどASPなめてた自分に鬱
XML::Parserとか。Perl-XMLで出てくる
どうもMSはXMLをiniファイルの代わりにしか見ていないような。
もちろんそれも重要な用途の一つなのだが。
いいだけWEBサービスに力入れてるじゃん。独自路線だけど。
>>521
サンクスコ。
Parserモジュールでできるんやね。
ちょと調べてみる
>>522
XML形式で出力できるアプリもあるぞ
526520:03/08/10 19:54
ぐぐったり本屋で調べても、SOAPとかXML通信の概要しか出てこない・・・
すまん、誰かヒントください。
527520:03/08/11 15:49
Perl(CGI)でDOMオブジェクトをHTTP(S)でPOSTするのって、
普通にSocket接続してHTTP通信するっていうのが普通だったりします??
>>527
普通だったりするよ。他にどんな方法がある?
529520:03/08/12 00:42
>>528
thx!

てっきりもっとむずいのかとオモテタ
(XML::DOM->http_post(URL); みたいなの想像)
そりゃ、見つからんわな

syobo-n
ANTのxsltタグが正常に働いてくれなくて困ってる。
具体的には、「stylesheetにはversion属性が必要です」というエラーが出てきて
(ちゃんとDTD通りの順序でversion="1.0"を書いているにもかかわらず)
それでも一応出力できるんだけど、出力されたファイルはxslファイルそのまま。

問題は上のエラーだと思うんだけど、もう何がなんだかわからない。
ちなみにエラーの出るxslファイルはこれ。
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3c.org/1999/XSLT/Transform">
<xsl:template match="/"><root></root></xsl:template>
</xsl:stylesheet>
はい、かなり悲しい事故レスです。こんなくだらないミスで2時間ほど無駄にした。

×<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3c.org/1999/XSLT/Transform">
○<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSLT/Transform">
もうひとつ ×XSLT ○XSL でした。うろ覚えじゃダメだな、ホント
533山崎 渉:03/08/15 16:00
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
このスレでレポート・論文用の文書型+PDFに変換するXSLTを作ってくれまいか?
いい加減TeXマンドクセーんだ
>>534
自分でXMLからTeXに変換するxslを作成すれば良いのではないかと。
というか、既に誰かやっているんじゃないか?
>>535
それもマンドクセーんだ
探すのもマンドクセーんだ
537デフォルトの名無しさん:03/08/16 20:31
XMLって何に使うの?実際に何に使われているの?
CSVの発展形みたいなもの?
538デフォルトの名無しさん:03/08/16 21:06
>>537
次世代の時代遅れだな
>>534
既にある
www.docbook.org
541デフォルトの名無しさん:03/08/17 05:28
>>540
thx
http://sourceforge.net/projects/docbook/
のdocbook-xslイイネ
XSLTで、変換をした日付を得ることは出来ないのかな?
たとえば、リストには過去1年分のデータが詰まっていて、
XSLTで処理をかけた日から数えて1月分のデータをHTMLにする、とか。
544デフォルトの名無しさん:03/08/24 04:16
>>543
出来るよ
>>544
嘘付け
拡張関数使わないと出来ないぽ
547デフォルトの名無しさん:03/08/24 05:45
>>543
ほら出来た
antのstyleタスクを使って変換しているから、拡張関数ダメなんだよね。
XMLってホームページ作るやつじゃないの?
>>549
ホームページ作るやつって何?ホームページビルダーとか?
>>549>>537に対するレスか?きみら面白すぎだぞ
552デフォルトの名無しさん:03/08/28 12:43

XMLって何って・・・もう、エッチ(*^¬^*)
XSLTのformat-number関数には文字幅指定フィールド無いの?
554デフォルトの名無しさん:03/08/30 18:12
<xsl:if test="position() mod 4=1">
  <tr>
</xsl:if>

条件文で<tr>などを使用するとエラーになるのはナゼ?
テーブルの列数を制御したいんだけどムリ?
555デフォルトの名無しさん:03/08/30 18:45
よくみろ。整形のXMLじゃないだろ
556デフォルトの名無しさん:03/08/30 18:51
>>555
どゆこと?
>>554のやつはXSLに書いてあるけど、、、
XMLファイルの方は正しく書かれてます。
      (    )         (    )
       )::::::::(           ):::::::( 
     /::::::::::::;\        /::::::::::::; \
    // |:::::::::::: l |       //´|:::::::::::: l |
     | | /::::::::::::/| |      // /::::::::::::/| |
     U |::::::::::/ U      U  |::::::::::/ | |
      |::::||:::|  | |    | |  |::::||:::|  U
      |::::||::|   | ∧∧//  |::::||::|
       | / | |   ( ゚д゚ )/   | /.| |
      // | |   | 556 /   //  | |
     //  | |   | /| |   //   | |
    //   | |   // | |   //   | |
    U    U  U  U   U     U
しかしこういう事をやりたくなる気持ちはわからんでもない。
>>553
文字幅指定フィールドというと、具体的にはどんなの?

>>554
XSLTってのは、XML文書からXML文書に変換するためのものだよ。知っていると思うけど。
まず、554は整形式のXMLではないし(<tr>に対応する閉じタグが</xsl:if>になっている)
もし万が一554みたいなのが許された場合、ついうっかり</tr>を出力し忘れると出力XMLは整形じゃなくなる。
だから、
<xsl:if test="554は馬鹿">
  <tr>
    document...
  </tr>
</xsl:if>
と書かなければいけない。あたりまえだけどXSLTもXML文書だよ
> XSLTってのは、XML文書からXML文書に変換するためのものだよ。
ダウトのヨカーン。出力はXMLでなくてもよかったかと

ただしXSLT文書自体はXMLなのでHTMLタグを埋め込むなら
&gt;(半角でね)とかで打つ必要があるのかな
ないっす
なんかふわふわしたやりとりだな
>>560
確かにそうだね。出力がXMLである必要はないか。
XSLTがXML文書だ、ということだけですね。
564デフォルトの名無しさん:03/08/31 01:07
じゃあ動的に列数を変えたい場合
どう書けばよいのですか???
<tr>
<td>あああ</td>
<xsl:if test="554は馬鹿じゃないよ">
  <td>
    document...
  </td>
</xsl:if>
</tr>
566デフォルトの名無しさん:03/08/31 02:26
>497

XML-RDB使えばいいのでは。
>>565
そのifはtrueにならない
XSLTでCSV吐いてますw
>>568
すごいな、ある意味。
どんなコードかみたいから貼ってほしい
>>566
使えるXML-RDBは何?
seXML
>>571
下ネタのつもり?
>>572
げ、そうか・・・
俺、検索しちゃうとこだった
なんかありそうな名前だったので・・・
XSLでC++のヘッダファイル吐いてるよー
<xsl:output method="text 以下略
で普通に処理できまつ。
ま、JavaMLなんてものがあるから、ソースコード出力は一般的ぽい。

CML、とか作れそうな予感。
576デフォルトの名無しさん:03/08/31 13:53
XSLTでCSVはかなり普通だろ。
XSLT変換対象って

1:HTML(ダントツ)
2:他のXMLフォーマットへの変更
3:テキストベース

以外にあるの?
578デフォルトの名無しさん:03/08/31 14:57
いまのところないね
>>577

所詮、テキスト⇒テキスト 変換だよ
    出来上がったテキストファイルを
        アプリ側でどのように読むかによって意味合いは違ってくるけどな。
    だからこそ、応用が利く。
  なのでXMLデータベースが普及すればかなり強力となる。
  出来たファイルを
    PDFファイルや
    エクセルファイルや
    SVGファイルにすれば
  かなりイイ
XMLから目が離せないな
>>579
>テキスト⇒テキスト変換だよ
ダウトっぽいね。

ネタでバイナリ変換を作ろうか?
XMLアセンブラー。理論上は可能だよな。
とりあえず、テキスト⇒テキストではなくてXML⇒テキストという意味では
緩やかなダウトである気もしなくはないが、XML⇒バイナリってどうなんだろう…?
encoding問題が絡むよね、当然
582デフォルトの名無しさん:03/08/31 15:20
<風俗>
<種別>ソープ</種別>
<種別>ヘルス</種別>
<種別>ピンサロ</種別>
<種別>エステ</種別>
<種別>性感</種別>
</風俗>

こういうデータがあり、これを
tableで表示したい。
任意の列数で表示する場合はどうすればよいの?
>>580
おまえが作らない限り
所詮、テキスト⇒テキスト 
MPEG7 は XML で記述するし,ファイルサイズが気になるなら
全く同等の情報をバイナリに変換可能な仕様らしいけど
XSLT でも可能なのだろうか・・

どうでもいいか。笑い
>570

研究レベルでは、XMLが先行してるけどねぇ。
IBMが(w 
>>585
何に対して?OODB?
>>580
XSLTの話なので、テキスト(XML)->テキストで間違いないし、XML->バイナリってXSLTじゃ無理でしょ。
はっ、バイナリとして意味のあるテキストをUTF-8だか16だかで出力するXSLTを書けば実現できるのカー?
>>588

つーか出来る出来ないじゃなくて
現状はテキストテキストだろう
>>580は、いわゆる突っ込み厨だ
出来れば面白いけれどもな
591588:03/08/31 20:43
XSLTでXML->Base64すれば不可能じゃないな、とか色々妄想してたのに! 邪魔しないでよ!w
>>591
base64なんていわず、エンティティ参照で直接バイナリを出力すればいいんじゃないの?
と思って調べてみたけれど、XML文書で使える文字はISO 10646なんだね。
ということはバイナリ出力は「出来ない」ということになるな。

つまらん。BASE64も無理だと思うから、何らかの脱出手段はないだろうか。
せいぜい出来たところで、dumpコードを出力するだけだろうな
XMLトランザクションってなんですか?
5セント節約だそうですが
Extensible Binary Meta Languageなんてものがあるようだ。
なんかMatroskaとかいう動画コンテナで使われてたりするらすぃ
http://ebml.sourceforge.net/
>>594
データベースのトランザクションと
意味的には同じだと思えばいい
>>595
見てみたけれど、いまいちよくわからなかった。
これはただ、バイナリデータフォーマットの定義だけじゃない?
自分の望む形のバイナリを出力するために使うものではないような気がする。

どちらにせよ、プロジェクト自体まったく動いていないので役には立たないけど
598デフォルトの名無しさん:03/08/31 22:58
「XMLトランザクションで5セント節約!!!」
っていうMSのCMがありますが
これどゆこと??

まずXMLトランザクションって何よ?
XMLってHTMLの親戚みたいなもの

よってこのスレは

終了
最近、マイクロソフトのCMでやってるXMLトランザクションっていったい何者なんですか?!
5セント儲かるらすいです!!
上の議論とは違うけど、XMLをバイナリにそのまま変換する方式って何か無いのかな?
603デフォルトの名無しさん:03/09/01 00:30
皆EZTVでマイクロソフトのCMみたな
604デフォルトの名無しさん:03/09/01 11:08
>>602
 バイナリデータを何で書いても、
XMLの階層構造を読み込むには少し時間がかかる宿命。
以前、PerlでデータベースっぽくXMLファイルを組んでみたが、
CSVでやった方がだいぶ楽だったな。
階層データは読む込むのが大変だし。
XMLトランザクションで5k損失が事実だと思うが。
XMLって何のために存在するんだ?
>>605
知らなくていいよ。
脱落者が増えてうれしいよ。
データベースにはたぶん向いてない。
最近、巷で騒がれてるXMLトラ(ry
609デフォルトの名無しさん:03/09/01 16:23
真剣に質問です。

<?xml version="1.0" encoding="Shift_JIS"?>
<xmlDoc xmlns="default">
<title>タイトル</title>
<note>ノート</note>
</xmlDoc>

<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://〜" xmlns="default">
<xsl:template match="xmlDoc">
<xsl:value-of select="@title"/>
<xsl:value-of select="@note"/>
</xsl:template>

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

この二つで変換されないんですけど、
なぜなんでしょうか?
@は要らないんじゃないか?
バイナリ出力が無理ならPDFに変換するXSLTなんてあり得ないんじゃ
612デフォルトの名無しさん:03/09/01 17:10
>610
すいません。早とちりでした。@は確かにいらないです。
なぜか変換されないのよねー。
>>611

>>579のこの部分読め
>所詮、テキスト⇒テキスト 変換だよ
>出来上がったテキストファイルを
>アプリ側でどのように読むかによって意味合いは違ってくるけどな。

アプリ側で、好きなように変換すれってことだよ
XSLTでやろうとするのは無理だし何でそんなコトまでやらないかんのか・・・
やっぱ無いのね
XSLT貧弱
PDFってテキストだけで書けるんじゃなかったっけ? 勘違い?
>616
書ける。
>>617
うそつけバカ野郎
>618 バカだなお前。

PDF Reference
fourth edition
AdobeR Portable Document Format
Version 1.5
Adobe Systems Incorporated
より引用

> 3.1 Lexical Conventions
>中略
>PDF can be entirely represented using byte values corresponding to the visible
>printable subset of the ASCII character set, plus characters that appear as “white
>space,” such as space, tab, carriage return, and line feed characters.
>>619
知ったかぶりもその辺にしとけよ
画像はどうやっているのだ?ん?ん?ん?
図形描画はどうやってるんだ?ん?ん?ん?
>620
夏休みは終わったぞ。 今ならまだ間に合う。宿題は早く片付けろ。
>>620
英語読めないくせに知ったかぶりをするのはやめたほうがいい
>>621-622

いいから質問に答えてみ?
のどに何か詰まったのか?ん?
>>619
stream〜endstreamの間は、テキストじゃ無理ですね
XML+XSLTだけでPDFが出せると幻想を抱いたことは俺もあるよ。

PDFへの変換プログラムに「食わせる」ファイルの出力までしか出来ないと
分かったときは幻滅したりもしたから、>>620の気持ちは分かるなぁ……
おまえら、こっちでやれ。
http://pc2.2ch.net/test/read.cgi/tech/1025483336/l50

>>620 のヴァカはここ読んどけ。
ttp://www.kobu.com/docs/pdf/pdfxhand.htm
627619:03/09/01 21:20
>624
stream と endstream の間もテキストで書ける。
>625
確かに、PDFがテキストファイルとして書けることと、XSLTで出力可能なこととの間には
大きなギャップがあるね。

streamは長さが必要だから、XSLTで扱うのは無理だろうなあ。
ちょっとXMLのことで質問があるのですが、
XMLトラ(ry
XMLは
・XSLTを利用して他のフォーマットにtranslate出来る
・信頼性のあるデータのやり取りを規定できる(XMLDBみたいなの)
他にはどのようなメリットがあるかな?
>>627
図形はいいかもしれないけど
画像はバイナリっぽいけど?
・データをプログラム上でオブジェクトのまま操作出来る
バイナリ出力アイデア面白いな
面白いだけで実用性が無いのがまたいい感じだ
コロ助ナリ
635デフォルトの名無しさん:03/09/05 18:14
>>633
面白いかもしれないが
明らかにプログラミングした方が楽
>>635
もし仮にアセンブラを表現できるXMLがあるとすれば、
(まぁこの場合は何らかのXMLをアセンブラコードに変換するXSLTでもいいけど)
C言語の構造をアセンブラにするXSLTが出来ると思うし、
同様にC++なりなんなりのコードをどんどん変換することが出来る。
コンパイラ・コンパイラなどを使えば多種多様の言語を
本質的には同じものとしてXSLTで相互変換することが出来て、
言語の上のメタ言語みたいな存在が出来ることになる。

今でも出来るとは思うけれど、仮にそれが出来ても
現実translationの需要がまったく無いから意味が無いね
こういうのはブレインストーミング(あるいは妄想)してるときが一番楽しい。
>>637
はかなく同意
639デフォルトの名無しさん:03/09/06 12:39
XSLとXSLTって同じ意味でOKですか?
あとDTDって使う意味あるんですか?
LISPだと妄想で終わらないわけだが
641デフォルトの名無しさん:03/09/06 13:27
XSLの仕様の一部がXSLT
DTDはもちろん使う意味ある
XSLとXSLTは違う仕様。DTDなんか意味はない。
643デフォルトの名無しさん:03/09/06 20:59
>XSLとXSLTは違う仕様。

根拠きぼう
表示や印刷に適するように変換するのが当初のXSLの目的だったが、
構造変換の利点がクローズアップされ、XSLTが独自の規格として登場した。

一般には、XSLはXSLTを含んだものとして扱われるが、
XSLTと言った場合は木構造から木構造の構造変換のみを指す。
冷静に考えたら根拠を書いていない罠。上を参考に自分で調べてみてくれ
646デフォルトの名無しさん:03/09/07 11:27
独自の規格じゃなくて先にまとめられただけだよ
良く調べてから書いてくれ
SEX仕様
>>646
XSLとXSLTは別の規格ですよ
649デフォルトの名無しさん:03/09/07 13:38
やれやれ
650デフォルトの名無しさん:03/09/07 13:42

XSLとXSLTの規格がどうとか、実際仕事に影響あるものなのでしょうか?
おれ、そういうこと全然興味なくってたまにこの板でそういうウンチクを見るけど
覚えておく方がいいのでしょうか?
>>650
まったく必要ない
>>650
お前には必要ない。
揚げ足とりか規格厨には必要
>>650
無いと思ってるなら仕事では使わない方が良い。
>>654
論拠書けよ
656デフォルトの名無しさん:03/09/12 19:55
XML Schemaって難しいっすね。。
何であんなに覚えづらいんでしょうか?
>>656
政治的理由により。
実用上問題がなければ、より表現力豊かで、かつ覚えやすい RELAX NG をお薦めする
MS Office使いにはXML Schemaが浸透していくんだろうなぁ
>>658
というより、w3cで標準化された以上、色々な分野で浸透はしていくはず。
こうなってしまった以上、両方知っておく必要があると思う。

XML Schemaは標準化の問題を浮き彫りにした感が強いな
つか、XML Schemaにゴチャゴチャ言ってるのって、
標準化の場からはじき出されたMとその信者くらいだろ?
XML語彙を策定している業界団体では普通にXML Schemaを採用してるよ。
でなければDTDでやってる。

まぁ、XML Schemaの仕様書が無駄に難しいのは確かだが。
RELAX NG でスキーマが書かれている W3C 標準も増えているよ。
XML Schema はアレだなあと思ってる人が多い証左だと思う。
XML Schemaを書く必要があるときはRELAX NGで書いた後RelaxerでXML Schemaに変換してる。
そんなに複雑なスキーマは書かないからこれで十分。
XML Schemaに表現できなくて、RELAX NGに表現できるものが存在するのは確かだが
(ex:XML Schemaは自分自身を表現できないが(笑える)、RELAX NGでXML Schemaを表現できる)
逆はどうなんだろう
xhtml2.0はRELAX NGのスキーマがw3cにありますのう。
XML Schemaを参考資料がロクにないときに作成する機会があったけど、
こんなわけわからんもん二度と使うかゴルァ、と当時は思ったなー。
むしろW3CでしかRELAX NGの例なんて見たことないなぁ。
(個人サイトとか解説本のレベルは別ね)
W3Cは内部分裂してるのか?
破滅の臭いがプンプンするな
>>665
というと?Relaxerを使っている業務例はそこそこ知っているけれど、
そういう次元の話ではないのかな?
XMLの定番本ってある?
>>667
むしろコミュニティとかメディアでの「露出」が少ないと感じてるのでは?
>>668
どの部分のXMLを使いたいかによる
>>670
標準XML完全解説 上・下の範囲くらいをサポートしていれば。
本屋でこれを見つけたけど、他にもっと良いものや定番なものがあれば教えて欲しいです。
>>671
漏れはそれ使ってます。
既に基本を掴んでいるなら下巻だけで良いと思うよ。
>>669
メディアでの露出は確かに少ない。JavaWorldとXML系の雑誌でしか見たことが無い。

>>671
悪くない本です。下巻だけでもいいかもしれないし、何かのときに細かい仕様を
確認したくなるようならば上巻を持っていたほうがいいかな
>>672-673
俺も下巻だけ。この本とwebで十分。
各種XMLボキャブラリの簡単なレビューとか解説をしてるサイトってあります?

「こういうデータをXMLで表現するときにはどのボキャブラリがいいの?」というように、
逆引き形式で探すのに、何かいい案ありましたらお教えくだちい。

#ちなみに、章立てした技術文書とか小説とかをXMLで表現するのに
#最適なボキャブラリを探してまふ。
676671:03/09/16 23:44
>>672-674
遅ればせながらご意見サンキュー。それに決めた。
677デフォルトの名無しさん:03/09/20 10:03
>>675
DocBookを使えば
>>677 サンクス!
歴史あるヘヴィな仕様のようで、期待が持てそうです。
これから少しずつ読み解いてみたいと思います。
>>678
SmartDocとかもあるよ。
680デフォルトの名無しさん:03/09/20 12:07
SmartDocは仕様が曖昧だからいや。
章タイトルが属性だったりするのも嫌い。
681675、678:03/09/20 13:01
>>679-680 サンクス!
sample.sdocを見た限りでは軽量な感じですね。
ちらっと見たところではDTDなど、*.sdoc形式のXMLを定義するものが
探しきれなかったのですが、「仕様が曖昧」というのはもしかしてその辺のこと……?
ともかく、こちらも並行して検討します。ありがとうございました!
682デフォルトの名無しさん:03/10/01 01:47
IXMLDOMDocument* pDoc;
で、
pDoc->save("C:\\hoge\file%00.xml");
というようなローカルパスを指定してsaveすると。
ファイル名が、"C:\\hoge\file"になってしまうというのはガイシュツ?
これって、Documented??
JavaPluginでのDOM APIを使ったサンプルありませんか?
684682:03/10/01 09:41
修正。

× C:\\hoge\file
○ C:\\hoge\\file
%00='\0' で文字列の終了扱いになってるのかもね
686682:03/10/02 00:29
確かに、%41だとAになっちゃうし。困ったな。
ローカルパスでもUrlエンコードしなくちゃいけないのか?
>>686
%'%のコード'でいいんじゃないの?
688682:03/10/09 00:50
ふと思いついて、パスの頭に file:// 付けたらパス文字列そのまま
扱ってくれるようになった。
うーん。
XMLとPHPやPerlとか使えばものすごく簡単に掲示板とか作れるんじゃないか?
と思ったんだけど作れるんですか?
よく見れば最近の書き込みがないので違うスレに行きます。
むしろ違う板に逝って欲しい
692デフォルトの名無しさん:03/10/25 16:44
スキーマでelementのattributeとして序列を表現する方法はありますか。

<elements>
<element number="1"/>
<element number="2"/>
<!-- and so on -->
</elements>

みたいな感じの構造を定義したいのです。
順番通りに記述しないとnot validになるように。
とりあえず、numberのtypeを
derived datatypesのpositiveIntegerに
するくらいしか考えつきませんですた(汁
693デフォルトの名無しさん:03/10/25 16:54
質問です。

<?xml version="1.0" encoding="Shift-JIS" ?>
<hoge>
<aho name="〜" />
</hoge>

っていうデータなんですけど、SAXパーサ
(org.apache.xerces.parsers.SAXParser)を使ってパースすると、
要素ahoの属性nameの値が、"?"になってしまうのですが、
どうしたら回避できるのでしょうか?(データ自体に問題がありますか?)
694デフォルトの名無しさん:03/10/25 17:00
データをファイルから読んでるなら、ちゃんとデコードできてないのかもね
695693:03/10/25 17:45
>>694
データは、ローカルのファイルから読んでます。
えっと、デコードとは、パーサがStringオブジェクトに変換するときに文字コード
変換をちゃんとしてくれてないということでしょうか?

いちおう、試してみたこととしては、
・encoding指定をはずしてみた→"UTF-8として不正な1byte…"という例外が発生
・データをeucで保存しなおし、encoding="euc-jp"としてみた→同様に"?"になる
・属性でなく、<aho>〜</aho>とテキストコンテキストにしてみた→同様に"?"になる

という感じで、エンコーディング指定は間違ってなさそうです。(実際のデータでは、
もっとたくさん日本語がデータに入っていて、それらはちゃんと取得できています)
属性を取得するときは、name = attributes.getValue( "name" );
としているだけです。(もちろんテキストコンテキストの場合は別の処理ですけど)

ほかの似たような文字('ー'とか'?'とか)で試してみても問題ないんですけどね…
どうしたらいいんでしょうか…
データをStringでわたせるなら、わたしてみたら
うまくいったならデコードでこけてる
うまくいかなかったら、
フォントか、テキストエディタか、XMLライブラリが変
697693:03/10/25 22:39
>>696
とりあえず、普通にそのxmlファイルを(FileReaderなどで)普通にテキストとして
読み込んでみると、問題の文字'〜'はちゃんと'〜'(ユニコードで0xff5e)として
読み込まれているので、(データを作成した)テキストエディタがおかしいという
ことはなさそうです。
それを、SAXを使って読み込んでみた場合は、デバッガ上で見ると'〜'に似た文字
になっているのですが、コードは0x301cで、デバッガ上の表示も、なんだか汚い
中国語フォントみたい(変な表現でスミマセン…)です。これを、System.out.println()
などで表示すると'?'になってしまいます。なので、フォントが悪いというわけでも
ないようです(ある意味ではフォントも悪いのかもしれませんが、とりあえずほしい
文字になってないので…)。
(つづきます)
698693:03/10/25 22:39
(つづきです)
で、パーサを、org.apache.xerces.parsers.SAXParserを使っていたのですが、
javax.xml.parsers.SAXParserFactory.newInstance().newSAXParser();
で得られるものに差し替えてみましたが、結果は同じでした。(しかし、パースの
挙動は違っていたので、パーサがちゃんとさし変わったのは間違いないです。)
…xmlデータの方も、javaのプログラムから出力したものなんですが、
出力の仕方に問題があるのでしょうか?出力の仕方は、
BufferedWriter w = new BufferedWriter( new FileWriter( "hoge.xml" ) );
として生成したストリームに対して、普通に
String s = "ほげ〜"; w.write( s );
というような感じで(自分でxmlに整形して)出力しただけです。これがそもそも
ダメなんでしょうか?Win環境なので、シフトJISで出力されていると思うのですが。
(実際、秀丸で見ると、文字コードはSHIFT-JISとなっています。)
いちおう、エンコーディング指定をしないとパースでコケるので、
encoding="Shift_JIS"としてやったら'〜'以外の文字はちゃんと読めているので…
…さらに別のパーサを試してみるしかないんでしょうか…
どなたか、>>693に書いたデータを実際に読み込んで、属性をprintlnしたら
ちゃんと'〜'が出るという方、そのパーサを教えてください…(あ、encoding指定が
"Shift-JIS"と書いてますが、"Shift_JIS"です。すみません。)
699デフォルトの名無しさん:03/10/25 23:07
WindowsならShift_JISじゃなくてCP932だから
700693:03/10/26 01:12
>>699
ありがとうございます!解決しました。
Shift_JISだと思い込んでたのがいけなかったんですね。恥ずかしい…
FileWriterを生成したときのデフォルトのエンコーディングを取得したら、
"MS932"となっていたので、それをxmlのencodingに指定して出力するように
したら(正確には"MS932"は対応していないようなのでそのエイリアスの"windows-31j")
うまくいきました。パーサは悪く無かったです。ゴメソ。
それ以前に、ちゃんと自分でエンコーディングを指定して出力ストリームを
開かないとダメですよね…
これで少し大人になれました!
「〜」ってベンダ依存だったのね。無知をさらしてしまたーよ。
はやくぐぐればよかった。

>>698
スレ違いだけど、一応答えておくと、策としては
・最初からutf-8でエンコーディング(Windowsネイティブの変換テーブルを使っていること)
ぐらいしかない
encodingに"MS932"を指定するするというのもアリかもしれないけど、
なんか気持ち悪すぎ
702701:03/10/26 02:25
さ〜〜〜〜〜〜てと
703693:03/10/26 02:34
>>701

ありがとうございます。
結局、MS932(windows-31j)を使うのは自分的にもかなり気持ち悪かったので、
UTF-8で逝くことにしました。
704デフォルトの名無しさん:03/10/26 04:06
きちんと指定さえしていれば、気持ち悪いも何も…。
705デフォルトの名無しさん:03/10/28 23:36
DOMを使った操作で追加書き込みがうまくできません。
<car>
    <name>太郎</name>
<car>

ここで「太郎」を「次郎」に変えようとすると
「太郎次郎」になってしまいます。

追加の方法は、NodeListをループでまわして
ノードタイプがElementのときに、対象のタグと同じなら(この場合name)
Document doc = node.getOwnerDocument();
Text txt = doc.CreateTextNode("次郎”);
node.appendChild(txt);
という風にして書き換える処理を行っています。
いくつか方法は考えてみたのですが、appendChildの部分を
replaceChild(txt、node)では例外処理が発生してしまいますし
ループでTXT_NODEのところまできたときに
setData()で文字をセットするとタグが作れなくて
「<name/>次郎」こんな形になってしまいます。
どなたかうまい方法を教えていただけないでしょうか?



>>705
処理系がJava2、appendChild呼び出し時に投げられている例外が
DOMExceptionであるとそれぞれ仮定して答えてみる。

http://java.sun.com/j2se/1.4/ja/docs/ja/api/org/w3c/dom/Node.html#setNodeValue(java.lang.String)
を使ってみてはどうか。

ちなみに俺はJavaはほとんどやってないので、あてにしないでくれ。
707706訂正:03/10/29 00:00
誤 appendChild呼び出し時に投げられている例外
正 replaceChild呼び出し時に投げられている例外
708デフォルトの名無しさん:03/10/29 00:21
ずばり、質問ですが

XML使ったサイトってまだ少ないように思えるのですが
実際、WebページをXMLで作るという案件・実オーダーは増えてきているのですか?
HTMLではなくXML使うメリットってどこにあるんですか?
個人的には、「Webページを作る」ことを主目的にXML使うのは有望でないと思う。
ここでいうXMLとは、XHTMLじゃなくてDocBookなんかね。
>>706
回答ありがとうございます。
環境ですが確かにJavaでおこなっています。
ご指摘のsetNodeValue()ですが、それはsetData()と
同じタイミングで使うのではなく、replaceChild(txt、node)
の代わりにsetNodeValue(String)とするということでしょうか?
setNodeValue自体はsetData()ともどもノードがTXT_NODEで
あったときに何度も試してみたのですが結果は上に書いたとおりで
タグが作られませんでした。

>>708
わたしはいまはwebアプリとDBのやり取りで使う案件をやってます。
webページをxmlで作るというのはどうなのでしょうね?
710>>711
ウチの個人ページで試してみたんすわ。
動的なページを凄く作りやすい。例えば2ch掲示板XML版みたいなのを作るとすると、
特定の期間の書き込み一覧とか、特定の文字列を含んでいる書き込み一覧とか、
その複合とかをXSLT+XPathで簡単に得られる。
でも、やっぱ相当に遅いっす。

バッチ処理でXML->HTMLするような用途だと有望だとは思うけど、
その場合XMLで元文章を保持する利点が少ないように感じました。
>>711
> replaceChild(txt、node)の代わりにsetNodeValue(String)とするということでしょうか?
そう。

それでもだめなら、node.replaceChild(txt、node)を、
Carノード.replaceChild(txt、Nameノード)
な感じで変えてみてはどうか。
714708:03/10/29 20:31
は、恥ずかしい・・

XMLっていえば「Webページを作る」ことしか知らなかった
それだけではないのですね

お手数おかけしてすみませんが、
勉強し直したいので、何か参考になる書籍・HPありましたら
ご紹介下さい

@ITとかでもいい記事ありますか?
715デフォルトの名無しさん:03/10/29 20:35
>>714
>XMLっていえば「Webページを作る」ことしか知らなかった
それはHTMLだろ?
716デフォルトの名無しさん:03/10/29 20:37
そう、だから
HTMLではなくXML使うメリットってどこにあるのか解らなかった
>>715
XHTMLとか。XMLからXSLTでHTMLを生成するとか。

>>714はそういう意味で言ってるのではないんかな。
XMLってなによ??
719705:03/10/30 01:15
>>713
遅くなりましたが、アドバイスありがとうございました。

実はご指摘の方法はうまくいかなくて(キャストするとおかしくなってしまって)
そこで発想を変えていったん全部消して親ノードから子ノードを作り直す
という方法をとりました。
これだと検索に失敗するとタグごとまちがったものになるので
リスクが大きいのですが時間もないのでこれで乗り切ろうと思います。

>>714
わたしは
ttp://www.foocrane.jp/EXML-index.html
このサイトにかなりお世話になりました。
>>717
リアルタイムにやると(というかクライアントにやらせると)やはり速度のネックがでかい。
元が巨大なXMLだったりすると(掲示板程度の巨大さでも)処理に時間がかかってしまう。
まあ、XMLをパース、XSLをパース、XSLで変換処理、出力XHTMLをレンダリング、という行程を考えれば
致し方ないところではあるのだけれど。

JSPみたいなシステムで、XMLが新しくなっていれば静的HTMLを出力するエンジンを作ればいいね。
と思ったが、XPathなどが絡んでリアルタイム制が出てしまうと無理か。
721デフォルトの名無しさん:03/10/30 01:19
XSLTでちょっとみなさんの知恵を貸してください。

あるXMLをXSLTで変換中に、XMLの文書に
<include src="ppp.xml"/>
というようなエレメントが出てきたら、
そこの部分にppp.xmlを代入し、ppp.xmlを変換する方法ってありますか?

色々トリックを考えたけど、できなさそうな気がしています。
アイデアあれば教えてください。試してみます
document
>>722
ほかの文書を結果に挿入するだけで、その文章をパース出来る訳ではないと思い込んでた
ありがとう
XPathで

<xsl:for-each select="商品[temp/商品データリスト/商品データ[ID=商品/@ID]/値段>500]">

という感じで、外にあるツリーのデータを参照してその値の条件にあったものだけループさせたいのですが、
一文で書くのは無理でしょうか?
[]がネストしてるのでコンテキストノードが切り替わって中の[]で外の[]のコンテキストノードの値が参照できないようなのです
(わかりにくい説明ですいません)

<xsl:for-each select="商品">
<xsl:if test="temp/商品データリスト/商品データ[ID=current()/@ID]/値段>500">
</xsl:if>
</xsl:for-each>

と書くのがベターなのでしょうか
ご教授ください
質問はageてくれると嬉しい

>>724
ベターなのは当然下の方。可読性を考えればダントツ。
実際上の説明を読んでもさっぱりわからなかったのに、
下の分を見ただけでやりたいことがわかったからね。
なぜ一文で書きたいの?

で、一文で書くのが可能かどうかといわれたら、不可能のような気もする。
726デフォルトの名無しさん:03/10/31 21:56
質問です。

>>722でdocumentを紹介されて、早速使ってみたのですが、
同じXMLファイルを2回以上読もうとすると失敗するみたいです。
回避する方法は無いでしょうか?
>>726
% ln hoge2.xml hoge.xml
>>727
まぁ今それをやっているわけですが、将来的にはgeneralに使われるので、
ユーザーが同じファイルを何度も読み込む可能性は非常に高いので困ります。

#Windowsだとショートカットで代用できるのかなぁ。
>>728
Windows NT 5.x (2000/XP) ならばハードリンクを作れるよ
>>729
それは知らなかった…けど、問題はOSよりfile systemなんじゃないのかなぁ?

再起的に読み込むこともあり、何回読み込みかわからないのにハードリンクは作れないし、
本質的な解決方法を考えなきゃいけませんけど、無理っぽいですね。
「XMLを使うことで便利になるか?」と聞かれれば,DOMやSAX,さらにはJDOMで
あろうとも,さほど便利になるとは思えません.せいぜい死ぬほど苦労して下さい.
とにかくXMLはプログラムもデバッグも死ぬほどしんどい癖に,たいしたメリット
は期待できません.何を好きこのんでXMLを使いたいと思ってるかは知りませんが,
その点は忘れない方がいいと思いますよ.

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7350&forum=7&2
>>731
まぁ、単体のソフトウェアのプログラミングが楽になるかといえば必ずしも楽にはならんだろうし、
覚えることが増える分シンドかろうね。
なんだって新しい要素は経験をつんでツールが揃うまではコーディングやデバッグはシンドいわけだし。

けど、例えば複数のシステム間(これは将来現システムから新システムに引き継ぐような場合を含めて)で
ドキュメント系のデータを交換する際に標準的な表現があるということによるメリットがあるから
多少シンドくなっても頑張ろうと思う人はいるわけで。

引用元の投稿者は「大ベテラン」って名乗ってるけど、そういう視野がない、
自分のプログラム分担の視野だけに凝り固まった「大ロートル」の間違いではないかと。
733デフォルトの名無しさん:03/11/09 23:00
それは名乗ってるんじゃなくて掲示板の機能では
>>731
XML程度のことで死ぬほど苦労するのか?
>>733
同意

つーかそいつ掲示板に居座ってる割にはかなり否定的な煽りレスだな。
Unix生まれのUnix育ちみたいな人は、grep使いにくいからXMLを親の敵みたいに言うことが多いみたい。
>>733
「デフォルトの名無しさん」みたいなモンなの?
もしそうなら微妙に恥ずかしいデフォルトだなw。
投稿した回数によってランクが上がっていくのでは?
739脱線スマソ:03/11/10 01:53
>>738
へぇー×2
そのシステムだと荒らしが次々「大ベテラン」になりかねんようなw。
>>737
デフォルトっていうか投稿数によって変わる属性じゃないの?
たとえば最初は[入門者]、10回投稿すれば[見習]、100回投稿すれば[一人前]みたく変わるっていう。

.NETの会議室みたいね。.NETはXMLを大サポートしてるだろうに。
何かXMLで大失敗でもしたんだろうか、その「大ベテラン」さん。
>>736
XSLかなんかでTABと改行形式の表あたりにしてあげればOKってことなん?w
XMLとCSVでは表すことが出来るデータ構造にかなりの差があるような気が
>>736
xmlgrep というのがある。
「grep 使いにくいし…」ってのは多分エセ UNIXer だな。
本当の UNIXer なら「grep 使いにくいし…なんか作るか」になるはず。
744デフォルトの名無しさん:03/11/10 17:06
JDOMってどうですか?速いですか?
745デフォルトの名無しさん:03/11/10 21:57
>>736
そんな人に「コマンド・ラインXML処理」
http://www-6.ibm.com/jp/developerworks/xml/030718/j_x-tipclp.html
xpath、xquery、xslt、などのコマンドを標準にしてくれればいいんだが。
xsltは指定するxsltファイルを作らなくてもいいような拡張を…無理か
747デフォルトの名無しさん:03/11/11 01:45
すいません。質問です。
インターネット接続されていない環境で、
Xalanを使用してXSLTを実行するとDTDにアクセスしてしまい
「外部エンティティが見つかりません」というエラーで落ちてしまいます。

DTD宣言を残したまま、こちらのエラーを回避する方法は何かございませんか?
748デフォルトの名無しさん:03/11/11 01:50
下記のような変換をしたいときに、一番楽な方法を教えていただけませんか?
XSLT?Jaxp?
※<youso3>が"CC*"のばあい<youso2>のデータを削除したい。

<youso1>
 <youso2>
  <youso3>BB1111</youso3>
  <youso4>BB2222</youso4>
 </youso2>
 <youso2>
  <youso3>CC1111</youso3>
  <youso4>CC2222</youso4>
 </youso2>
 <youso2>
  <youso3>CC3333</youso3>
  <youso4>BB4444</youso4>
 </youso2>
</youso1>
 ↓
<youso1>
 <youso2>
  <youso3>BB1111</youso3>
  <youso4>BB2222</youso4>
 </youso2>
</youso1>
749デフォルトの名無しさん:03/11/11 01:55
printf("<youso1>\n");
printf(" <youso2>\n");
printf("  <youso3>BB1111</youso3>\n");
printf("  <youso4>BB2222</youso4>\n");
printf(" </youso2>\n");
printf("</youso1>\n");
>>747
プロキシサーバをlocalhostに用意して、ダミーのDTDを返せばよろしい。
ってこれじゃダメだよね。

>>748
当然xslt。ビルトイン関数でstartwithとかなかったっけ?
xpathのビルトイン関数(当然xsltでも使える)でstarts-withがあるね。
Jaxp使ってもいいけど、なれてるなら断然xsltが早いと思うよ。
752デフォルトの名無しさん:03/11/11 23:52
>>747 です。>>750回答ありがとうございます。
よくありそうな問題だと思われるのですが、マシンの設定等を買えずに、
単純に<!DOCTYPE宣言を無視することなんてできないんでしょうか?
753デフォルトの名無しさん:03/11/12 00:05
age
>>752
ありません。というより、それをやってしまうとW3Cの勧告に反してしまうからです。
可能性として、たとえば
<?xml version="1.0">
<!DOCTYPE entity SYSTEM "entity.dtd">
<root>&entity;</root>
という文書をパースするとき、entity.dtdを読まなければwell-formedになりますが、
ここでentity.dtdの内部にもし<!ENTITY entity "<">とあればwell-formedが崩れます

中には読みに行かない設定が出来るパーサーもあったとは思いますが、Xalanは無理です。多分。
>>754
<!ENTITY entity "&lt;">ね。置き換えられちゃった
756デフォルトの名無しさん:03/11/13 20:11
すみません。質問です。

<a href="hoge.jsp?hoge1=1&hoge2=hoge">hoge<a>

みたいにしたいんですけど、

<xsl:attribute name="href">
...
<xsl:text disable-output-escaping="yes">&</xsl:text>
...
</xsl:attribute>

のようにすると
<a href="hoge.jsp?hoge1=1&hoge2=hoge">hoge<a>
になってしまうんですけど、なんとかなりませんか?

属性値は "&" で使えないのでしょうか?
757デフォルトの名無しさん:03/11/13 20:16
>>756
なんか そのままのような気がするんだが・・・

&を使うときは&amp;を使う
758756:03/11/13 20:20
ああ、まちがえてますた。

<a href="hoge.jsp?hoge1=1&amp;hoge2=hoge">hoge<a>
のようになってしまいます

でした。
759デフォルトの名無しさん:03/11/13 21:26
>>758
<xsl:attribute name="href">
...
<xsl:text disable-output-escaping="yes">&</xsl:text>
...
</xsl:attribute>
これでいいんじゃないの?
760デフォルトの名無しさん:03/11/13 21:27
<xsl:attribute name="href">
...
<xsl:text disable-output-escaping="yes">&amp;</xsl:text>
...
</xsl:attribute>
これだ
761756:03/11/13 21:54
>>760
レスありがとうございます。
それでも、出力が&amp;です…
762デフォルトの名無しさん:03/11/13 22:05
<xsl:attribute name="href">
...
<xsl:text disable-output-escaping="yes">&</xsl:text>
...
</xsl:attribute>
つうか今気づいたけど、disable-output-escaping="yes"の意味は?
763デフォルトの名無しさん:03/11/13 22:08
つうか俺昔やった方法では
<xsl:attribute name="href">
http://www.hoge.jp/hoge/index.html?a=1&amp;b=0
</xsl:attribute>
って感じでやってた
<xsl:text disable-output-escaping="yes">を使うときはそのままでいいんじゃない?
764756:03/11/13 22:22
すみません。まちがいでした。

<xsl:text disable-output-escaping="yes">&</xsl:text>
では、怒られて、

<xsl:text disable-output-escaping="yes">&amp;</xsl:text>
では動きますが、出力も&amp;になってしまうのです。

<xsl:attribute>の外では & で出力されるのですが…。
>>764
いやだから
disable-output-escaping="yes"
を消すかnoにすればいいのでは?
ちなみに俺のやり方引っ張り出してきたので参考にしてください

<xsl:element name="a">
<xsl:attribute name="href">
hoge.do?opt1=<xsl:value-of select="mome"/>&amp;opt2=bas&amp;opt3=hji
</xsl:attribute>
ほげはこちらから
</xsl:element>
767756:03/11/13 23:19
うまくいかないです…

こちらの環境だけなのかもしれないけど、
<xsl:output method="xml"/>のxmlをhtmlにすると、うまくいきました。
でも、XHTMLにしたいので・・・

ヽ(`Д´)ノウワァン
768M(_ _)M:03/11/13 23:35
現在、動的なパラメータをSVGの座標値に指定して表示する際に、
文字化けして困っています。あるボタンを押した際、データベー
スから値を取り出し、JSPに組み込んだSVGにパラメータとして渡
すまでは問題ないのですが、日本語が混じっていると、文字化け
してしまいます。JSPの文字コード設定なども色々試したのですが、
「ダウンロードして保存」ダイアログが表示され、うまく動作させ
ることが出来ません。良い方法を知っている方がいらっしゃいまし
たら、教えていただけませんか?



SVGだけ外部呼出しにしてる?
いまいち文章が意味不明だが、とりあえず、文字コードはUTF-8にしているか?
つまりプラグイン働かずにDLのダイアログ出るってことでしょ
XMLではなく、HTTPの知識が無いのでは?
773M(_ _)M:03/11/14 00:18
意味不明でしたか・・・・・すいません。
多分、私の聞きたいことは、JSPのファイルにSVGのプログラムを書き
込み(日本語を表示するようなもの)、リンクで先で、そのJSPを指
定すると、ダウンロードダイアログが表示されるということです。
意味不明でしたか・・・・・すいません。
調べるとMIMEの指定が重要となっているのですが・・・・・。
JSPの文字コード設定で、UTF-8などの設定をしても、だめでした。

えーと、「文字化け」はどこに行った?

...なんか、SVG以前にJSPが実行されているかどうかさえ怪しいようだが。
スレ違いだと思うけど、こういうのどこで聞けばいいんだろうね(笑)
アプリケーションサーバは何を使っていて、ダウンロードファイル名は何になっている?
「アプリケーションサーバって何ですか?」とか質問するくらいならひっそりと消えてね
getParentNode()で親ノードを取得してタグ名を表示させようとすると
"#document"が返ってくる場合があります。
"#document"ではなくタグ名を取るためにはどうすればいいのでしょうか?
ひっそりと777ゲット

>>776
その部分のソースコードを見せて。
#聞くまでも無いけど、XSLTもしくはXPathだよね?
778M(_ _)M:03/11/15 00:49
アプリケーションサーバはtomcat4.1.27です。ダウンロードファイルは???.svgです。
この問題は、tomcat3xシリーズでは起こりません。どうしてですかね〜。
779デフォルトの名無しさん:03/11/15 04:30
質問です。RELAX NGでXML Schemaにおける

<xsd:simpleType name="SKU">
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{3}-[A-Z]{2}"/>
</xsd:restriction>
</xsd:simpleType>

に相当する定義は可能なのでしょうか。
>>778
SVGのMIME情報を渡してやればいいだろう。
プラグインは何使ってるんだ?

>>779
俺はxsd知らないが、理論的にRELAXはXML Schemaを総てカバーしているはず。
781デフォルトの名無しさん:03/11/15 18:05
>>779
relaxerコマンドでngスキーマファイル自動生成してみればいいじゃん
たしかできるよな
XML Schema ⇒ RELAX NG
今時RELAXかよ。
XML Schema以外はゴミ。
Cでxmlをいじってたのですが、質問です。

gnome-xmlと、xmlsoft純正libxmlでは動作に違いがあります。
xmlNodePtr cur;としたとき、cur->childs->contentの中身が
gnome-xmlとlibxmlでは違うのです。
gnomeの場合はすんなり中身がでるのに大して、libxmlだと空白に
区切られたノードの文字列が出たりして素直ではありません。

今後どちらのxmlライブラリが主流になるのでしょうか?

MSXML4が主流になります。
785808:03/11/15 19:16
>>784
え、マジですか?
786デフォルトの名無しさん:03/11/15 19:44
未来からのメッセージが…
まぁ、現在最も普及しているXMLパーサが、MSXML3であるのは事実だな。
>>782
んーこれからは RELAX NG だと思うけどねえ。
XML Schema は非直感的な記述を強いられるので疲れる。
>>787
オライリー「XML Schema」P375

>RELAX NGは技術的に見てW3C XML Schemaよりも優れているが、
>W3C XML SchemaがW3Cの勧告になってしまった現状では、
>RELAX NGに対してソフトウェアベンダーや開発者による
>十分なサポートが受けられるかどうかは不透明である。

つまり標準化とはそういうことです。
>>786
難しい問題だがそのとおりだな。OS標準搭載というメリットは非常に大きい。
Cで書く場合はWindowsのアプリケーションなどが一般的だと思うから
(XML後進国のUNIXは除外するとして)
MSXMLが主流になるという考え方はC言語においては正しいだろうね。

というかJavaで書きなさい。そのほうがライブラリ依存しないコードがかける。
個人的にはXML Schemaが標準化になったことについて、さほどなんとも思わないな。
RELAX NGの方が優れているのはそのとおりだと思うけれど、XML Schemaで書けないような
構造を定義することというのはまずないし(XML Schemaが自分自身を表現できないのは笑える)
理解しづらいというのはそれで食っているものにとってはありがたいメリットともいえる。

理解できない人たちは、金を払って理解できる人を雇うしかないわけで、このへんのシステムは
文系諸君がよく使う手だよね。会計士とか弁護士とか。システムは複雑なほどわかる奴は儲かる。
とか暗いことを考えているのは、いま目の前に会社の確定申告の書類があるからかもしれんが。
>>788
RELAX NG も OASIS で標準化されてるけど。
>>790
本質的に複雑なものはしょうがないが、不必要に複雑なものは淘汰されるだけ。
XML Schema がそうなのかは 5 年後を見ないとわからないが。
>>791
何がいいたいのかわからん。

>>792
なるほど、そういう考え方も出来るな。
標準化というのがそれ単体でそれ以上に強い付加価値であれば
その可能性は費えるから、淘汰されなかったとはいえ
本質的に複雑でなかったとは言えないだろうけれど。
#だいたいRELAX NGがある以上、あの複雑さは本質ではないはず
んー、linux上のCでコンフィグファイルを読み書きするのにxmlは
便利そうだな、と思ったんですがね。面倒くさいパーサを一から
書かなくていいし。

それでネット上のxmlプログラミング記事を探したらTurboLinuxとか
IBMのサイトしかなくて、細かい動作については自分で検証するしか
なかったのですね。ターゲットがCである以上、javaは関係なし。

そしたら、動作とか構造体のメンバが違うのでがっかりなのです。
795デフォルトの名無しさん:03/11/15 21:42
C言語のみならやっぱそういうのないんじゃないかな?
C++なら使えるけど・・・
796794:03/11/15 21:48
>>795 C++でなら、そういうconfigファイルを読み書きできるような
いいライブラリがありますか?
795ではないが
>>796
xerces。でもlinuxなら.configを素直に使うほうがいいかもしれない。

xmlデータをベースにしたOSみたいなのが欲しいと思うこのごろ。
798794:03/11/15 22:06
>>797 へー、こんなのありましたか。サンクス。

はて、.configとはなんですか?設定ファイルを読み書きするのに
便利そうなのありましたっけ?
xmlとxul、xhtmlは仲間ですか?
>>799
もう少し勉強してから来てください
801デフォルトの名無しさん:03/11/16 01:04
だいたい仲間です。
802デフォルトの名無しさん:03/11/16 10:14
>>797
理由は違うかもしれないけど俺もそういうOSあればいいと思う
Windowsのレジストリはいじるのは怖い
Linuxの設定ファイルはテキストファイルで編集が楽だけど
どういう設定オプションがあるのかわかリずらい

そういう設定ファイルがXMLだと、
とうぜんスキーマファイルなりDTDが用意されていると期待できるので、
どういう設定項目があるのかスキーマ見ればわかりやすいと思う。
検証も出来るので、設定ファイルの書き間違いや矛盾もあらかじめ取り除けるしね。
XML Schemaで表現できるすべてがRELAX NGで表現できるわけじゃないが、
RELAX NGで表現できるすべてがXML Schemaで表現できるわけでもない。
用途に応じて使い分ければよい。1インスタンス:nスキーマなんだから。
>>802
httpd.confのような設定ファイルなどはどんどんXMLになって
欲しいというのは同感。
ただ、Windowsのレジストリのようなものはもともと人がいじる
べきものじゃないから、それがそのままXMLになったらかえって
問題がありそうだな。シリアライズ/デシリアライズがXMLで
できるというのなら良いが。
今の柔軟性に乏しいXML Databaseに変えて、
何か使いやすいXML Databaseのアイデアは無いものだろうか
806デフォルトの名無しさん:03/11/16 14:30
XMLならXMLらしくツリー構造でアクセスさせればよさそうだけど
SQLのような検索処理を行うとすると
従来どうりのテーブルの形にデータを入れておくのが処理も早い

そのおかげで、いまのXMLデータベースのアプローチは
1、内部的にもXML(XMLツリー)

2、表面上はXMLを扱っているように見せかけ(インターフェース部分だけXML)内部的にはテーブルで格納

3、XMLを単に文字列(バイナリにしているのもある)で格納。検索処理などはメモリ上にDOM展開してそこで行う。
普通のデータベースでもとりあえず出来る。

の3つの実装がある。
どれも、従来のデータベースに比べ明らかな欠点がある
俺も結構考えたけど、やっぱ従来のデータベースにかなうものはないと思ってる。

いっそのこと、データベースのテーブル⇔XMLデータに変換できるラッパー(2の方法に近いがDBとは切り離している)
を開発した方がいいのではないかとも思う。もちろんSQL⇔XPathも含めて。
×従来どうり → ○従来どおり
技術者といえども日本語はしっかりと。

木構造を表にマッピングするのはどうなんだろう。
XMLで格納しておいた意味がなくなるのではないかと不安。
何か具体例があれば是非教えて欲しい。

ツリー構造で検索を考える場合に、
何らかの制約を付け加えればlogNで検索が出来るようなアルゴリズムを
XML構造に応用できるような方法を考えるアプローチはどうだろうか。

簡単に言えばindexを貼り付けるみたいな形を想像してもらえればいいけれど、
RDBと違ってXMLの場合はDB側でデータに付加情報を付け加えるのは
まったくの自由なので(適当なnamespaceで管理すればよろしい)
うまく行けば計算量O(1)で検索に多大な威力を発揮させられるかもしれない。

ただし、今までのjoinみたいな演算に対してXMLDBがどうアプローチするのか、
問題はそちらのほうのような気がする。
>>787-788
なるほど、うまいこと書くね。妙に納得
810809:03/11/17 21:45
811デフォルトの名無しさん:03/11/18 09:26
Office2003のXMLスキーマをロイヤリティなしでライセンス供与だってさ。

ソース(yahooだからすぐ消えそう):
ttp://headlines.yahoo.co.jp/hl?a=20031118-00000001-cnet-sci

もちろん本当にこんなことをしたらMSに利益が入らなくなるから
なんらかの制限はあると思うけど(たとえば文書情報の一部欠落とか)。

それにしても、やっぱりXSDを使うんだね。
なんでMSに利益が入らなくなるの?
「フロントエンドにOffice使って」ってことじゃないのか?
>>812

もしXMLでwordなどの総ての情報を保存することを許して、
その詳細な情報をロイアリティ無しでライセンス供与してしまったら
オープンなライセンスでofficeに対抗するプロジェクトが出来た時に
(ありそうなのは、IBMがeclipseでしたみたいに、
既存のoffice対抗製品のソースをオープンプロジェクト化したり)
そちらの方でも「MSと完璧に同じ表現が出来る」officeを作ることが出来ることになるのでは
ないだろうかと予想してみた。

的が外れていたらフォロー頼みます、と言いたいがスレ違いだな
814デフォルトの名無しさん:03/11/18 21:12
>>814
おまへ真性馬鹿なんじゃないかと思うほど既出>811
ただとはいっても一応ライセンス契約だから、競合製品には
使えないとかあるんじゃないの?
>>813
もう、ワープロや表計算ソフトは十分行き渡ってて、Officeと言えどもこれ以上の浸透は難しい、
まして後発では…と考えている思われ。漏れも同感。
だからこそ、Webサービスのフロントエンドって新分野をめざしてスキーマ公開。
>>817
そうか、なるほど。確かにその考え方はいいな。
でも既存のシェアを食われる可能性を考えると、やはりたいした決断だと思うけど。

Webサービスでシェアを取ってからロイアリティを徴収するのかもしれないな
企業がフリーのoffice互換製品を使うようになるとしてもまだまだ先の話。
ましてや有料のoffice互換製品はMSに勝てない。
820デフォルトの名無しさん:03/11/19 14:09
質問です.
JDK1.4.2でDOMプログラミングしてるんですが、あるDocumentに対し、別のDocumentの
ノードを追加したいんですけどどうしたらよいでしょう?

Document hoge = builder.parse(new File("hoge.xml"));
Document meso = builder.parse(new File("hoge2.xml"));
hoge.appendChild((Node)meso);

みたいな感じのをしたいんですが、DOMExceptionで、異なるドキュメントで使われてるから
無理、っぽいこと言われて実行できません.
複数ドキュメントのマージってTransformer使わなきゃダメなんすか?
821820:03/11/19 18:09
自レスです.

一応解決しました.

DocumentクラスのimportNode()ってのを使う必要があったみたいです.

Document hoge = builder.parse(new File("hoge.xml"));
Document meso = builder.parse(new File("hoge2.xml"));
Node hoge2 = hoge.importNode(meso.getFirstChild(), true);
hoge.getFirstChild().appendChild(hoge2);

てな具合です.
お騒がせでした.
822デフォルトの名無しさん:03/11/20 17:57
xmlを勉強しようと思うのですが
とりあえずテキストエディタとブラウザがあったらいいとのことですが
お勧めのテキストエディタはありますか?
>>822
hide.maruo.co.jp
>>822
emacs
お金があれば Visual Studio
お金がなければ Notepad
M$最高だぜw
XMLとは何の関係も無い質問だったな
827デフォルトの名無しさん:03/11/21 11:54
XMLを使いこなせる人がいたとして、その人は
XMLを使えない人と比べて何が出来るようになるんだ?

どうもXMLを無理して覚える必要性を感じない。

Webサービスも直接XMLいじらないでサーバーやクライアントを作れるし。
828デフォルトの名無しさん:03/11/21 12:32
>XMLを使いこなせる人がいたとして、その人は
>XMLを使えない人と比べて何が出来るようになるんだ?
自慢ができるようになりますw
829デフォルトの名無しさん:03/11/21 12:38
XMLは一つの手段であるだけだよ
>>826
ttp://www-6.ibm.com/jp/developerworks/xml/021101/j_x-matters21.html
ttp://www-6.ibm.com/jp/developerworks/xml/021115/j_x-matters22.html

こういうレスなら関係あるかも
ちなみにどれも使ったこと無いですが
>>827
まぁ、プログラミング言語なんて覚えなくても
機械語でプログラムには十分。
精々アセンブラくらいあれば便利かな?

…って言う人も世の中にはいますな。
>>827
データ構造をそのまま取り込むパーサーの威力はでかい。
軽くメタデータを作って、気が向いたらvalidatingする感じでやれば
情報を損なったり変化させたりする必要なく信頼性だけを高められる。
ほかにも各種ツール、XSLT、RELAXER、などの利便性は正直でかい。

あと、レベルの高いグループでは知っていることが前提になっているので、
そういう人たちと作業するときは知らないと困ると思う。
833デフォルトの名無しさん:03/11/23 14:19
XMLの妥当性をチェックする為に
DocumentBuilderFactoryクラスのsetValidating()メソッドを使い、
XMLにDTDのDOCTYPEを記述するには
TransformerクラスのsetOutputProperty()メソッドを使う事はわかったのですが
どうすればこの二つを両立させることができるのでしょうか?

// ドキュメントオブジェクトの作成
DocumentBuilderFactory docFact = DocumentBuilderFactory.newInstance();
// DTDでチェック
docFact.setValidating(true);
DocumentBuilder docBld = docFact.newDocumentBuilder();
document = docBld.parse(new File(servletPath +"/"+ pageData.tetsuzukiShi + ".xml")) ;

↑具体的にはこんな風にしてdocumentを取得しているのですが、
XMLに
<!DOCTYPE DataRoot SYSTEM "TEST.dtd">
を記述するにはどうしたらいいでしょうか?
>>833
質問の意味がわからん
835デフォルトの名無しさん:03/11/26 02:46
>>811
その一方で、OpenOfficeはRelax NGを採用してるんだよなぁ。
XMLSchemaを支持している連中とRelax NGを支持している連中を見比べると
なかなか面白いものがある。
836デフォルトの名無しさん:03/11/26 02:48
正直XMLなんて3日あればマスターできるだろ?
そうおもわんか?
837デフォルトの名無しさん:03/11/26 06:41
素のXML1.0のレベルは3日でいいかもしれんが関連技術が多いからな
xsltを3日でマスターできるか、と言われると、出来るかもな
覚えちゃうとそれまでの苦労を忘れるんだよな。
「ドラクエ簡単、3日で解いたぜ」とか言うやついなかった?
細かい仕様を入れると3日では無理っぽいな〜。
文字のマッピングとか、許されている文字とか、そういったところとか、
エンティティなんかが特に面倒ぽ
覚えるのといい設計が出来るようになるのとは別と思われ
三日で覚えたぜって人に仕事頼みたくは無い
誰にだって「最初の仕事」はあるものですよ
最初にXMLを使った仕事っていつだっけ…99年あたりかな?
MSXMLが独自仕様に突っ走っていて大変だった時代に使った。
設定XMLファイルのXSLTを書いてhtmlを出力したはず。

仕事どうこうではなく、業務で普通に使えばいいんじゃないのかな?
Relaxerなんかを使ってサンプルデータを取り込んだり、
普通に業務で使う場面なんていくらでもあると思うが、どうよ?
>>843
いくつかの形式に変換するような可能性のあるデータを、とりあえずXMLで吐きだしておけば、
XSLTとか場合によっては各種スキーマのお勉強にもなるしね。
教えて君なんですがよろしいでしょうか?

XMLで深さ不明のツリー構造ってどう表現するんですか?
例えば

●じいちゃん
1920/10/5生まれ
 ●とおちゃん
 1950/5/12生まれ
  ●漏れ
  1980/4/18生まれ
   ●漏れの子供
   2004/3/1生まれ予定
  ●妹
  1983/10/30生まれ
 ●とおチャンの弟
 1952/4/5生まれ
  ●いとこ
  1976/11/8生まれ
   ●おい
   2001/3/8生まれ

みたいなの。
>>845
> XMLで深さ不明のツリー構造
意味不明
>教えて君なんですがよろしいでしょうか?

よろしいわけないだろが。調べろよ
848デフォルトの名無しさん:03/11/28 21:36
<list>
<data>
<person>
<money>
<data>
<person>
<money>





上のようなデータでpersonごとにmoneyのsumをとって

person1,1000円
person2,2000円
person3,1500円



personをそのsumでソートしたいんですけど、どうしたらいいですか?

person2,2000円
person3,1500円
person1,1000円

・終了タグがないから構造がわからん
・XSLTを使いたいのかDOMを操作したいのかその他か
・出力形式は単なる文字列でいいのか
850デフォルトの名無しさん:03/11/28 22:44
構造は
<list>
<data>
<person>a</person>
<money>200</money>
</data>
<data>
<person>b</person>
<money>100</money>
</data>
 ・
 ・
</list>
です。

XSLTを使いたいです。

出力は文字列でいいです。

<data>
<person>a</person>
<money>50</money>
</data>
851デフォルトの名無しさん:03/11/28 22:44
構造は
<list>
<data>
<person>a</person>
<money>200</money>
</data>
<data>
<person>b</person>
<money>100</money>
</data>
<data>
<person>a</person>
<money>50</money>
</data>
 ・
 ・
</list>
です。

XSLTを使いたいです。

出力は文字列でいいです。
>>851

XSLTで出来るよ。勉強しな
殺伐としてますな。
>>845
XMLが階層構造を持つと言うことと、データの内容が階層構造を持つという事が
ごっちゃになってるね。やりたいことを実現するには


 名前
 生年月日
 親

というデータ構造が必要。親をたどっていくと結果的には家系図ができる。
でもそれはプレゼンテーションの問題であってデータそのものの構造とは
関係ない。

という意味だと思うが聞きたいこととちがってたらスマソ。
調べれば簡単にわかることを質問する奴はちょっとな
XMLDBと、情報処理試験に出てくる、ツリー型データベースと
どうちがうの。ツリー型のデータ構造とXMLの違いってあるの?

ツリー型データベースのインスタンスとしてXMLDBがあるんじゃないの?
858デフォルトの名無しさん:03/12/01 17:14

xmlファイルをxslファイルで一度変換して
その出力をさらに別のxslファイルで変換することが、
XSLTでできますか?
859デフォルトの名無しさん:03/12/01 18:40
OpenOfficeで作成した文書を解凍してxmlファイルを覗いてみました。
content.xmlとかstyle.xmlだとか、mimetypeとかぞろぞろと。
ポストスクリプトのほうがまだ良かったのではないかと小一時間。

話は飛びますがxmlsoftのlibxmlをなんとかしてほしいです。
>>856
結局、規格化されて互換性を確保するってメリットが主で
XMLが不可能を可能にするってことではないねぇ。
従来の独自構造DBがベータマックスでXMLがVHS。
>>858
そういうXSLTを書けば出来るかもしれないけど、
標準では用意されていないと思う。実装依存でPIという方法は良くあるが。

>>859
PSとXMLなら、開発者としては断然XMLの方が助かると思うのだが、
なぜPSの方がいいなんて思うんだ?
>>859 小一時間説明してくだされ。
>>859
俺はここでpsが出てきた意味もわからないな…
864デフォルトの名無しさん:03/12/03 02:54
>>861
PSのほうがファイルサイズがかさばらないとからいいんじゃないか、
いうことじゃないかしら。ファイルそのものを
いじりたい場合はともかくとして。
>>864
本質とかけ離れてるな…
866デフォルトの名無しさん:03/12/03 11:05
DICOMとXMLと関係ありますよね。

DICOM系のフリーライブラリは存在しますか?
>>866
悲しいけどここ「XMLを使った技術なんでも」スレじゃないんだよね

スレ違い
スレタイがXMLなので検索にひっかからないのでウザイ
>>868
あいまい検索
本当だ全角だ
IE使えば?
>>866
そういうことは医療関係で調べていただいたほうが。
XSLで、元XMLの全ての要素ノードに共通の属性を追加して通し番号振りたいんですけど、どう書いたらよいでしょう?
通し番号には<xsl:number>を使うのはわかってて幾つか試したんですがなかなかうまくいかなくて…

<root>
 <A attr="hoge">
  <B>value</B>
  <C>data</C>
 </A>
 <D>
   <E>String</E>
 </D>
</root>
 ↓↓↓
<root id="001">
 <A attr="hoge" id="002">
  <B id="003">value</B>
  <C id="004">data</C>
 </A>
 <D id="005">
  <E id="006">String</E>
 </D>
</root>

てな具合に…
別にIDの順序は問いません、一意であるならば.
874873:03/12/12 17:39
自レスです
解決しました。

<xsl:template match="*">
 <xsl:element name="{name()}">
  <xsl:attribute name="n_id">
   <xsl:number level="any" count="*" format="001"/></xsl:attribute>
   <xsl:for-each select="./@*">
   <xsl:attribute name="{name()}"><xsl:value-of select="."/></xsl:attribute>
  </xsl:for-each>
  <xsl:apply-templates />
 </xsl:element>
</xsl:template>

んー
なんかここでジサクジエーンばっかしてるなー
>>873
内容が残るからまぁいいよ
876デフォルトの名無しさん:03/12/15 12:11
VBでDOM使ってるんですけど
ノードの属性にエンティティを指定するのってどうすれば良いんでしょうか?

  <!ENTITY hoge "fugafuga">
  <node id="&hoge;"><node/>

・・・見たいな感じにしたいのですが、どうやっても

  <node id="&hoge;"><node/>

となってしまいます。
>>876
やりたいことがよくわからん.

エンティティが属性になるわけないと思われ
参照先のエンティティのIDとかを属性に持ちたいのならそれようの属性をエンティティに持たせないとダメなのでは?
878877:03/12/15 15:44
>参照先のエンティティのIDとかを属性に持ちたいの…

自分でもよくわからんこと書いてるなと書き込んでから思った罠
「XMLなんて簡単だ」と言うのはたやすい。
実際、理解するのも簡単。W3Cの仕様書も薄い。

だが、なんでXMLを業務システムに組み込もうとするとおじけるやつがいるのだ?

「当たり前だろ」的に持ち出すと馬鹿にしていると受け取られかねないので、
強くは主張していないが。
ひどく残念な会社だ
すいません、勝手に変換されてました。

・・・見たいな感じにしたいのですが、どうやっても
  <node id="&amp;hoge;"><node/>

つまり「&」が「&amp;」になってしまうということが言いたかったのです。

>エンティティが属性になるわけないと思われ
xmlではエンティティを属性に指定できないのですか?
属性宣言で(ENTITY|NMTOKEN)のように指定できるので大丈夫かと思っていたんですが・・・
881デフォルトの名無しさん:03/12/16 17:16
XQuery分かる人いますか?
>>881
XQueryの実装って、現在存在するの? 無知でごめん。
>>882
これからっぽい
なんかいずれXpathとかと統廃合される気もする
884877:03/12/17 01:29
>>880
憶測だけど, DOMのEntityReferenceクラス辺りを使いそう.
かなり未確認.

>>エンティティが属性になるわけないと思われ
>xmlではエンティティを属性に指定できないのですか?

エンティティとエレメントを勘違いしていた罠
スマソ
885デフォルトの名無しさん:03/12/17 06:11
今SAXを勉強中なんですが、XMLをファイルに書き込む時は
普通にprintlnメソッドとかで書き込んじゃうものなんですか?
>>885
TransformerFactory.newInstance().newTransformer().transform(......)
>>885
printlnっつーくらいだからJava前提と考えて、xercesのXMLSerializer使うとか.
889882:03/12/17 23:51
>>887
イェア!! 早速FLWR式試してみるぜ。
saxとXMLを書き込むという二つの間の相関関係がわからない罠
>>890
javax.xml.transform.sax.SAXSourceみたいなのでSAXのイベントをTransformerに渡すこともあるし。
なんやかんや言ってスレが伸びたな
>>885
普通に考えると、XML文書をそのままファイルに書き出すなんて無意味な
ことはしないだろうから、>>891が言うように、Transformer使って出力する
のが一般的じゃないかな。

ただし、XSLTスタイルシートを勉強しなきゃならないし、Transformerの
バグとかでハマる可能性もある、いわば諸刃の剣。
素人にはおすすめできない。
(´-`).。oO(XSLTスタイルシートって用語的に正しいのかな?)
(´-`).。oO(Extensible Stylesheet Language Transformations Stylesheetって変じゃない?)
CSSとの区別の意味ではありだと思うけど。
2週間もの間が開いたレスをしてもなー
MSXMLでXML作るときインデントさせたいんですけど
なにか良い方法ありますか?
898!=1:04/01/08 00:27
一応保守
そしてたまにage

つーかXML関連のプログラミングって微妙に需要少ないんかなぁ

手続き言語に慣れきってしまってたからかXSLとか結構とっつき
にくかったんだが(現在進行形)

なんとなく関連スレを張ってみる

XML使いのスレ2.0
ttp://pc2.2ch.net/test/read.cgi/hp/1057198990/
XML使いのスレ
ttp://pc2.2ch.net/hp/kako/984/984950028.html

XMLマスターってどうよ?
ttp://school2.2ch.net/test/read.cgi/lic/1002557224/

XMLの必要性
ttp://pc3.2ch.net/tech/kako/1014/10147/1014718263.html
XSLは無茶だと思うな。スタイルシートの可読性が低すぎ。
スタイルシートから最終的な結果が想像つかないのはキツイ。

普通のテンプレート変換エンジンでイイジャン。Velocityとかさ。
900デフォルトの名無しさん:04/01/08 11:45
リア厨なので、くだらない事言ってるなぁと思って聞いて下さい。

XMLのウィークポイントは大量のデータになると、飛躍的にデータ量が増大する事だと
聞きました。

これを解決する案をXML勉強中に思いつきました。
(勉強不足なので、すでにこんなのがあるったら、ごめんなさい)

・データを閲覧、記述する時は従来のXML表記。
・データを送信、保存する時はCSV形式(のようなもの)
ってしたらどうでしょうか?
(普通のテキストエディタで表示できなくなるのが難点ですが・・・)

CSV形式(のようなもの)へのコンバートは一定のルールがあって、
データの順番が決まってしまうので、記述する時と閲覧する時では
順番が変わってしまうけど、XMLは順番はどうでも良いから問題ないですよね?

文章が変で意味不明かもしれませんが、どうでしょうか?
>>900
釣りか?
釣りじゃないなら CSV -> XML, XML -> CSV の変換方法を具体的に書いてくれ。
902900:04/01/08 14:03
レスどうも。
具体的なコンバート方法は分かりませんが、
要素の順番情報を保持して、あとはその順番通りに要素を並べていけば
可能ではないでしょうか?

例えば
<product>
<name>えんぴつ</name>
<price>15</price>
</product>
<product>
<name>消しゴム</name>
</product>
というXML文書があったとしてこれをコンバートすると下記になるとか。
<product><name/><price/></product>:えんぴつ,15.消しゴム,.

ただ、スキーマが変更になった場合、再度コンバートが必要になるのが欠点。
>>902
面白いし単純なモデルの時とかはいけそうだけど……

もっと複雑な入れ子状態のときでも破綻しないのか?
属性の表記とか混合内容モデルの時とかはどうするんだ?

あと、この表記だとSAX的処理に不利ぽい。
904900:04/01/08 15:49
>>903
レスどうも。
>もっと複雑な入れ子状態のときでも破綻しないのか?
区切り文字を工夫すれば可能ではないでしょうか?
例えば$1なら第一階層。$2なら第二階層って感じで。
上の例なら
<product><name/><price/></product>:えんぴつ$0,15$0.消しゴム$0,$0.

>属性の表記とか混合内容モデルの時とかはどうするんだ?
属性は記号を工夫すればなんとかなりそうですが、
混合内容モデルというのはよく分かりません。

>あと、この表記だとSAX的処理に不利ぽい。
これもよく分かりません。

まだまだXML自体をよく理解していないので、根本的に何かを勘違いしているのかも。
やっぱり不可能ですか?
うまくいけばRDBにとって変われるかもとか思ったりしました(^^;
>>904
XMLの、人間可読かつ機械可読って利点は諦める方向ですか?
正直その記法からXML文章を想像するのはかなり辛いです。
もしばっさり諦めるなら、もっと思い切った方法もとれると思いますが。

・混合内容モデル:要素と地の文が混在できるモデル。

<p>もうね、<em>アホ</em>かと。<em>馬鹿</em>かと。お前らな、(ry</p>

(吉野家コピペより)
みたいなの。XHTMLとかね。

・SAX的処理
SAXってのは、内容を全部読み終わる前に、とりあえず読み込んだ分から逐次
処理する方法。productっていう開始タグが来た→nameって開始タグが来た→
「えんぴつ」って文字列が来た→nameって終了タグが来た→……。って具合。

んで、>>900の記法だと半分くらい(要素の構造情報を全部)まで読まないと
解析が始められないってこと。そっから後ろは逐次処理できそうだけどね。

データ量の削減より、構造と内容の分離、って点が俺的には面白いと思う。
906900:04/01/08 16:55
>>905
説明ありがとうございます。
>XMLの、人間可読かつ機械可読って利点は諦める方向ですか?
そうなりますね。ただコンバートが必要とは言っても、単純な置き換えで元のXML文に
直せるので、表示や保存時に変換しても一瞬だと思うんです。
(つまり見かけ上は人間可読かつ機械可読)

バイナリにしちゃっても問題ないとも思います。
(今は、分かりやすく説明するため「CSV形式のようなもの」と表現していますが)

><p>もうね、<em>アホ</em>かと。<em>馬鹿</em>かと。お前らな、(ry</p>
これだったら変換が可能だと思うのですが・・・、うーん、よく分かりません。
ごめんなさい。

SAX的処理は問題ないように思います。
最初の構造情報はデータに比べたらたいしたことないですし、
構造情報を読み込んでしまえば、後は一緒だと思うんですが。

それから、気付いたのですが、構造はXML schema や DTDで定義
されているので、データ自体に構造情報を持たなくても、実現できそうな
気がしてきました。
というか、これって圧縮の単純なアルゴリズムをかませば出来てしまうかも。
<product> → $0 </product> → %0 みたいに内部で機械的に置き換えてしまえば
かなりデータ量が削減できるような・・・。

あ〜なんか根本的に間違えているような気がしてきました(^^;
構造情報って、スキーマの構造相当のことだったんですか。

じゃあ、A要素またはB要素、共に内容はテキストのみ、とかいう構造の場合、
変換済みのデータが、どっちの要素かって情報が消えるので、元に戻せないんじゃないかと。
つまり、「<a>あいうえお</a>」「<b>あいうえお</b>」が共に出現可能な文脈を圧縮すると、
共に「:あいうえお」になるけど、スキーマ情報からだけじゃ復元できない
(AでもBでもどっちでもスキーマ的には正規だから)わけです。

じゃあってんでインスタンスの構造を書こうとするなら、データ量はあんまし減りませんね。
構造と内容を混合して書いていたのを、書く位置を分離したに過ぎないので。

> <product> → $0 </product> → %0 みたいに内部で機械的に置き換えてしまえば
それなら普通(?)に「XML+ZIPかなんかで圧縮」でいいんじゃないかって気がしてきました。
データ量は減るし、簡単にXMLに戻せるし、今すぐ実現可能だし。
XMLはインタフェースとしてのみの用途として、保存時はRDBなんかに入れておくというのが現実的かねぇ。
これは
>・データを閲覧、記述する時は従来のXML表記。
>・データを送信、保存する時はCSV形式(のようなもの)
>ってしたらどうでしょうか?
というアプローチに非常に近いと思うけど。
そこでXMLデータベースですよ!!!
ttp://www18.tok2.com/home/koumori27/xml/mxbase/mxbase1.html

XMLDBっていっても実装は多種多様だけど。
XMLデータベースっつってもデータ量の冗長性はやっぱり拭い切れない罠.
RDBに依存しなくてもよいのならいっそネイティブのXMLDBにした方がウマーかも.

Xindice(ジンディーチェと読むらしい)
ttp://xml.apache.org/xindice/

使ったこと無いから憶測でしか言えないんですけども(ォィ
>>910
使ったことあります。
企業向けに売っているXMLDBってどうなんだろ。
超高速とかいろいろ売り文句があるが・・・。

仕組みとかパフォーマンスとか表に出てないんだよね。
900から話題じゃないが、ばらしておくメリットは大きいんだけど・・・。
>>900
このアプローチって昔っからずーっと取られてる方法じゃない?
そのへんのアプリの独自フォーマットと同じこと言ってると思うんだが。
ヘッダとボディを分けて、ヘッダにボディの構造を定義するだけだよね?
XML←→CSVもどきの変換は専用の変換ツールがいるし。

一番わかりやすい例ではRDBかなぁ。
あれはモデルとしては表形式だけど、中のデータ形式はもっと複雑だし。

XMLがなんか知らんけど一気に盛り上がったのは、漏れの理解では
・ひとつのファイルに構造まで含んでくれてる
・ファイル中にエンコードまで含むので機械的に読ませられる
・上記の点から異なるアーキテクチャの環境で共有しやすい
 (アプリケーション統合しやすい)
・データ量増大にはストレージ的にもネットワーク的にも低コストで
 対応できるようになってきた
って点だと思う。

>>906あたりで言ってるデータから構造を抜くってアプローチは完全に昔に戻ってる。
これがいいか悪いかは議論があるだろうけど、>>907-909辺りで言及されてるように
XMLを選択する意味が薄くなる(あるいは、なくなる)。
915913:04/01/11 23:13
>>914
913のリンク先にも書いてあるけど、
ネイティヴXMLデータベースでも内部では構造を抜き出して表にマッピングしてるモノが有ります。
性能的にはそっちの方が有利なのかも。

XMLの性能(不要論含む)を語る際には、「ストレージとしてのXML」と「インタフェースとしてのXML」を
別に考える必要があるはずだと私は考えます。
915に賛成。流れはXMLに決まったと思う。
XMLだと無駄ってシステムはたくさん在るけど、
XMLはAPIなどが整備され出したおかげでプログラミングが楽&早い。

問題はXMLの無駄さのためパフォーマンスが気になること。
大きいXMLデータとか人間が待てる時間で処理が終わるのかどうか。
意外と1日待てるバッチ処理には開発&保守の点で向いているかも。
917914:04/01/13 04:42
>>915
ネイティブなXMLDBのうたい文句に
「RDBへのマッピングと違ってダイレクトにアクセスするので速い」
というのを良く見るんだけど、実際どうだろう?
漏れ的にはRDBにマッピングしてますってのは遅そうな気がするんだけど。
XMLのスキーマごとに最適なマッピングを取るのならいいんだけど、
通常の汎用的なつくりだとどうしても性能はバラけるような。

XMLの議論で2者を別に考えるべきってのはわかるけど
現状では「ストレージとしてのXML」に大きな価値があるとは
思えない。
これは別にRDBでも(その他の変な形式でも)かまわない。
インターフェースにも大雑把に2種類あるような気がする。
外部システムや人間向けと、アプリケーション向けね。

>>916
パフォーマンスとかってまだまだこれから発展する余地がある部分だと思う。
いろんなノウハウ(RDBでの非正規化による性能確保とかみたいなの)も
これからじゃないかな。
でも、性能要件が重要なところはXMLにこだわらず部分的にでも
従来どおりのやりかたとおしてもいいと思う。
>>915
> 「ストレージとしてのXML」と「インタフェースとしてのXML」を別に考える必要があるはず

禿同
データが冗長だなんだと、インタフェースとしての有用性を無視するのはもったいない。

>>917

> 現状では「ストレージとしてのXML」に大きな価値があるとは
> 思えない。

XMLにRDBにはないストレージとしての優位性があるとしたら構造の柔軟性ってとこじゃ
ないでしょうか?スキーマに変更があったときなんかに、XSL一つ書けばXMLそのものは
いじる必要が無いとか…構造の違うレコードを混在させられるとか…
まだXMLをストレージで使い倒した、って経験は無いのでなんとなくの勘でしか言えないけど…
> 「ストレージとしてのXML」と「インタフェースとしてのXML」を別に考える必要があるはず
...
>  XMLの議論で2者を別に考えるべきってのはわかるけど
...
>  外部システムや人間向けと、アプリケーション向けね。

こういう考え方だと、
結局機械処理向けに(は)バイナリで規格(とライブラリ!)作
るのがベストってことになるでしょう?

XMLは、それがたとえ機械向けのものであったとしても、
人間が読める、書けるところがいいんだと思うんだけどね。
# PS, PDF, UNIX,  v.s. Word, Windows ...
> Word, Windows
なんだこりゃ。Windows&Office&VisualStudioほどXMLに積極的な環境はないわけだが。
>>920
釣り? 真性バカ?
MSXMLの質問です。二つのXML文章があり
a
<?xml version="1.0"?>
<ahoge>
</ahoge>

b
<?xml version="1.0"?>
<bhoge xmlns="http://hogehoge/">
<test>テスト</test>
</bhoge>


↓のようにtestのデフォルトの名前空間を解除してaに追加したいと思っています。
<?xml version="1.0"?>
<ahoge>
<test>テスト</test>
</ahoge>

しかし、実際は↓のようになってしまいます。
<?xml version="1.0"?>
<ahoge>
<test xmlns="http://hogehoge/">テスト</test>
</ahoge>


setAttributeでxmlnsを解除しようとしても出来ませんでした。
名前空間を解除する方法ってあるのですが?
923914:04/01/14 08:42
>>918
構造が柔軟の話は(アプリ向け)インターフェースとしてのXMLかなぁ
と思って>>917を書いたつもり。捕らえ方が間違ってるかも。

>>919
人間が読めるって言ったって今のXMLはそんなレベルにないと思うんだけどな。

漏れ的には
> 結局機械処理向けに(は)バイナリで規格(とライブラリ!)作
> るのがベストってことになるでしょう?
これはひとつの解だと思うよ。

表モデルだって、人がいじることを前提としたいのなら今だってCSVとか使うけど、
実際にはRDBMS使うケースは多いんだし。
XMLにしてもこういうすみわけは進まなきゃいけない。

>>921
>>920じゃないけどかなり積極的でしょ。
2003ではOfficeドキュメントのスキーマ公開されてるし、次世代のVS.NETでは
XMLでプログラミング補助するわけだし。
XMLはタイプ量が半端なく多くなるから、
構造化エヂタなしじゃ作業にならんな。
この辺りがあんまり好まれない原因か。
>>923
そういう考えなのはわかってる。そしてその結果、
今の、あるいは見込まれているXMLの偏在に疑問を呈してるわけでしょ。

でもそもそもXMLの利点は、(非効率であるにもかかわらず)計算機資源が
豊富になったことによって可能になったポータビリティ、汎用性にある。
つまり、従来のソフトウェア毎、システム毎の「住み分けを廃す能力」にある。
そしてその汎用性の用の一つは人間による読み書きだ、と主張したわけ。

小さなXMLなら…だけど大きいのは…、だから大規模な場合は
XMLは使うべきではない、住み分けろ、という類の議論は、XMLの存在意義(全てをXMLで)
そのものに矛盾していて、逆行してるだけじゃないのかと。

機械処理の効率の重要性が下がるというのが計算機使用の発展の基本的な流れだから、
現在XMLですむものが効率重視のバイナリに変わるとは思えないな。

テキストエディタが絶滅する日が来れば、そうなるだろうけどね。

>>920, >>923
文脈を理解してくれ。
プログラミング言語のシンタックスなんて
S式ひとつあればいいじゃん。
LISPer キター
928914=923:04/01/15 05:27
> 小さなXMLなら…だけど大きいのは…、だから大規模な場合は
> XMLは使うべきではない、住み分けろ、という類の議論は、XMLの存在意義(全てをXMLで)
> そのものに矛盾していて、逆行してるだけじゃないのかと。

これはいくらなんでもやりすぎだろうと思う、というのが>>923なんだけどね。

処理によっては明らかに別のモデルのほうが適しているってケースはあるはずで
そこに無理にXMLを持ち込む必要はないでしょ?

当然、XMLを持ち出すことで今までの制限がなくなったり今までとはまったく違った
処理の形が出てきたりってのはあるだろうから、それを否定するつもりは何もない。


> 機械処理の効率の重要性が下がるというのが計算機使用の発展の基本的な流れだから、
> 現在XMLですむものが効率重視のバイナリに変わるとは思えないな。

この最初がわからん。
XMLですむものでもバイナリに変えるのは、性能重視の時に取りうる選択肢だとは思うけどな。
インターフェースはXML化してくれたほうがいいけど、実態がXMLであるほうがいいなんて
とても思えない。

たとえば、XMLDBのデータファイルの形式はどうあるべきだと言っている?
漏れは何でもいいと思う。>>925は人間が読めるXMLであるべきと思っているってこと?
じゃあ、ファイルシステムはXMLで出来上がっているべき?
じゃあ、プログラムはXMLで構成されて、プロセスモデルは真にXMLであるべき?

あーやっぱりちゃんとXMLの側面分けて考える必要あるね。
929914=923:04/01/15 05:34
> > 小さなXMLなら…だけど大きいのは…、だから大規模な場合は
> > XMLは使うべきではない、住み分けろ、という類の議論は、XMLの存在意義(全てをXMLで)
> > そのものに矛盾していて、逆行してるだけじゃないのかと。
>
> これはいくらなんでもやりすぎだろうと思う、というのが>>923なんだけどね。

ごめん、ここ読み落としてたけど、規模の大小で住み分けしろとは思ってないよ。
>>923でもそんなことをいってたつもりはなかった。紛らわしくてすまんね。

あくまでも適材適所で技術を使えよと言いたかっただけ。
処理するもののモデルによってXMLを避けたっていいだろということね。

機械処理(というか機械的な処理でもそうだけど)に関してはXMLを無理に
使わないほうが自然なケースが多いんじゃないのかなというのが実感。


あと、>>920への突っ込みの意図が見えない。
>>919でWindowsはXML化に積極的な例として出したつもりだから?
でもねぇ、PostScriptもPDFも確かに人には読めないけど、WordのXMLファイルだって読めないよ。
XMLファイル、つまりテキストファイルとして
出力されるものっていうのは、ツリー状のデータの表現形式の
ひとつなのではないの?それが非テキストファイルの
バイナリとして出力されることはXML自体の否定にはならないと思うけど。

              ←→     0) XMLテキスト
概念的ツリー状データ                 ↑↓
              ←→     1)なんからのバイナリ

0と1の間の相互の変換モジュールが構成されていれば
なんの問題もない。バイナリが扱いにくいのは
異機種間の相互運用がからんだとき。そこで初めてテキスト形式のXMLの
重要性が出てくる。クローズドなシステム内、もしくはそれらの間の
データ形式変換さえこなせるなら、バイナリだけでもなんら問題はない。

またXMLで可能になる相互運用といっても、S式でデータと手続きを
丸ごと送るようなものでもない限り、それ程大したものじゃない。
>>928-929
>  処理によっては明らかに別のモデルのほうが適しているってケースはあるはずで
>  そこに無理にXMLを持ち込む必要はないでしょ?

無意味な文章。どのような場合に適していると判断するべきかが、
問題になるのであって、適しているものを使うべきなのはあたりまえだ。

>  たとえば、XMLDBのデータファイルの形式はどうあるべきだと言っている?
>  漏れは何でもいいと思う。>>925は人間が読めるXMLであるべきと思っているってこと?

なんだっていい。「適した」ものをつかえばいい。
XMLでOKでそのほうが開発が簡単ならそうすればいい。要求仕様的に無理なら
かえるしかない。

あなたの「適した」は機械処理の効率しか考えてないと言ってるんだよ。


それから、
まさかPSやPDFが人間に読みかきできないものだと思ってるとはね。
XMLだって数としては読めるもののほうがずっと多い。

いちおう説明しておくけれど、
PS、PDFは(Adobeが開発したんだっけ?)仕様が公開されている言語で、
人が読み書きできます。UNIXの設定ファイルも、
あえてプレインテキストが採用されている。
一方、WordやExelは独自のファイル形式を用いた(さらにそれによって、
アップグレードを強制してきた代表的な)ソフトウェアの一つ(二つ)
だった。Windowsの設定はレジストリ等…

新しいWordの一般的な使用方法がXMLになったとしたら、それは
カテゴリが前者に移るだけだ。
932919,925,931:04/01/15 07:39
>>930
>  XMLファイル、つまりテキストファイルとして
>  出力されるものっていうのは、ツリー状のデータの表現形式の
>  ひとつなのではないの?それが非テキストファイルの

そうではない・そんなことが重要なのではないという認識を>>925で説明している。
ポータビリティが重要。ツリー構造なんて今まででもみんな使ってる。

>  またXMLで可能になる相互運用といっても、S式でデータと手続きを
>  丸ごと送るようなものでもない限り、それ程大したものじゃない。

全然意味がわからない。スキーマって知ってる?
>>931
に捕捉
>  あなたの「適した」は機械処理の効率しか考えてないと言ってるんだよ。

この「機械処理の効率」は、狭い意味で(速度や記憶容量)の効率。
934930:04/01/15 08:08
>ポータビリティが重要。ツリー構造なんて今まででもみんな使ってる。
ポータビリティね。それはXMLでは重要だな。

>XMLの存在意義(全てをXMLで)そのものに矛盾していて
こんな存在意義はあなたと原理主義者の脳内にしかないだろう。
そもそもあたなのいうXMLとはなんなのか?
おれのいうXMLとは「ツリー状のデータ構造を表現する統一されたシンタックス」
という意味でしかない。XML"ファイル"がプレーンテキストであることから得られる
人間に対する可読性云々は、XMLそれ自体とは関係のない話しだと思ってる。

各々の言うところのXMLとはなんなのかを、まずはハッキリさせないと
議論になりません。噛みあってもいないです。
>>934
>  おれのいうXMLとは「ツリー状のデータ構造を表現する統一されたシンタックス」
>  という意味でしかない。XML"ファイル"がプレーンテキストであることから得られる

XMLの規格はプレーンテキストであることを保証してますが。
あなたの脳内XMLとはどうやら違うもののようですね。
そりゃぁ噛み合わないわけだ。
>>930
  >  またXMLで可能になる相互運用といっても、S式でデータと手続きを
  >  丸ごと送るようなものでもない限り、それ程大したものじゃない。
の意味を説明してくれないか?
>>934
YAML 使ったら。XML 要らなさげ。
938914=923,928-929:04/01/15 23:51
>>931
漏れの説明が機械処理的な部分しか見てないってのはまさにそのとおり。
で、確認したいのはじゃあこういう要件のところにまでXMLを持ち込むのが
(すべてXMLでということが)>>919の言う進むべき道なの?ということ。

少なくとも>>925ではそう読めたし、そんなの無茶だ(たとえば機械処理には
向かないんだから)というのが>>928で言いたいことだったんだけど。
でも、>>931では向いたとこに向いた形式使ったらって言ってるから違うのかなと。


PDFってバイナリ埋められるよね?それは人間が読み書きできないでしょ?


あー、やっぱり>>919の考えるXMLのあるべき姿が見えません。
仕様が公開されてりゃ万事OKって態度なん?
例としてPSだのPDFだの出てくるってことは単純にストアするための
形式に(要するにストレージとしてのXML)にこだわってるだけに見える。

XMLなんてのは>>930の言うようにテキストファイルに構造を持たせたものだと
漏れは考えてるので、さらに上にかぶせる仕様(スキーマ定義)が「必ず」いるはず。


>>930
漏れはXMLに関しては同じような認識。
ただ、そのままの形で蓄えることに大きな意味は見ていません。
外部システムやライブラリの外側のオブジェクトに対するインターフェースが
統一される部分がメリットだと思ってて、この部分は今後も推進されて
欲しいくちです。
従来のネットワークやファイルのような、プラットフォームのアーキテクチャに
それらが強く依存していたことから比べたらそれだけでも十分なメリットだと思われ。
939914:04/01/15 23:55
>>938補足。
XMLのメリットとしては、下記のようなのが頭にある。
・項目名がデータと一緒にある
・途中で項目が追加になっても従来の処理は動かせる
・XML間の変換のルールが機械的に処理できる(人がやらなくてもいい)

なんか抜けてるかもしれんけど。
940919:04/01/16 08:57
> PDFってバイナリ埋められるよね?それは人間が読み書きできないでしょ?
おいおい。配列に(エンコードした)バイナリ埋めてたらC言語だって
人に読めないことになるのかよ。

> 漏れは考えてるので、さらに上にかぶせる仕様(スキーマ定義)が「必ず」いるはず。
そのとおり。だからXML+schemaと毎回書かなくても分かるだろう?
# なんで当り前のことばかり。

XML(+schema一応書くか)の第一の利点は特定のアプリケーションに依存しない形で
書式と意味の両方を保持できる所にある。
# 他にもあるぞ。schema無しだってparser書く手間の省略ができるようになるし。

XMLに対して、XMLの仕様ってのは(それがXMLであると認識する)外部に対して
どのようであるかということを定めているのであって、そもそも
「インターフェイス」でしかない。直接見られないようなところ、たとえば処理する
ソフトウェアの内部やハードディスク上の生のビット列では、
どんな形であろうとどうでもいい :-)
941919:04/01/16 08:59
あなたのいう「ストレージ」とはなにか?
ハードディスクにあるファイルとして見る時はストレージとしてのxmlなんだよね?
そうだとしよう。

あなたの主張は、
たとえばwORDはディスクに効率優先の形でそのデータを保存するべきである。
インターフェイスとしてxml形式でエクスポートできる機能があれば良い。rIGHT?
きみはそういうwORDを作り、私はxmlで保存するものをつくったとしよう。
ここで、もちろんどちらも要求仕様はみたしているとする。
君のもののほうがエクスポート以外の処理は速いだろうけれどね。

君のソフトウェアのメリットはそれだけだ。
それもハードウェアをリプレースすればどこかに消し飛ぶようなものかもしれないが。

デフォルトの処理形式が君のHOGEHOGEフォーマットだから、客は外部に書類を
渡す時、受け取る時は毎回きみのwORD_PROPRIETARYをたちあげて、
毎回エクスポート、インポートしないといけない。これはものすごく面倒で、
ほとんど非現実的だといってもいい。
# あるいは、相手がそのソフトウェアを持ってると考えてそのまま渡すか。
過去のファイルはHOGEHOGEフォーマットで保存されているので、君のソフトウェアが
どんなにCRAPPYでも客はアップグレードやサポートのために金を払ってくれるだろう。
>>939
・データ形式の仕様を規格化された書式(DTD/Schema/RelaxNG)で明示的に表現できる
・プログラミングAPIの仕様が実装から独立している
・多様な文字コードの存在を前提としている
・構造化されたドキュメント中の特定データを指定するための書式が存在する(XPathマンセー)
ところが、XMLで「ストレージ」されてたらどうだ?
もうインポートエクスポートなんてする必要は無い。たんにコピーするだけだ。
そのうえ、過去の資産も全部XMLだから、もう客は私のcrappyなソフトウェアに
(残念ながら)依存すること無く自由にもっとまともなWordに変えることができる。

# いままでのMicrosoft Wordにはたしかに後方互換のエクスポートの機能があった(たいていバグってたが)。
# 論理的には、相手は必ずしも最新のWordをもっていないし、新しいWordの機能なんて
# つかわないから、古い形式で送れば十分だ。だけどだれがそんな面倒なことをした?


「ストレージ」っていうのはもっと大規模なものだって?
それでも根本的にはかわらない。完全にブラックボックスなストレージなんてありえないからね。
例えば、そのデータに別のソフトでの加工、あるいは移行が必要になった時に、
一々エクスポートするコスト(これが移行を阻害する)、
外部にデータを渡したいと思った時のオーバーヘッド。エクスポートのバグ(無いわけがない)…

XMLで「ストレージ」しておくメリットはたくさんあるが、
君の機械処理の効率というメリットは極めて近視眼的なものにすぎない。

# なんか張り付ける時に大文字こもじが逆転してしまった。
# よみにくくてすまん。
944914:04/01/16 20:57
>>941(=919)

かみ合ってないところがわかったよ。
漏れはまったく論理的にどの処理に対しても(それこそファイルシステムや
メモリ空間に至るまで)>>919がXMLを適用すべきだと言っていると読んでいた。
>>925の「XMLの存在意義(全てをXMLで)」ってとこから余計にそう思った。

でもそうではなくて、物理的なレイヤはどうであろうとかまわない、という
スタンスなんだね。
すべてをXMLでというのは、そもそも蓄えるもの通信するもののみを
前提とした上でインターフェースとなるバイト列はすべてXMLたれといっているわけだ。

今までに書いた漏れの言葉で言えば、これは「外部向けインターフェース」。
945914:04/01/16 20:58
> ハードディスクにあるファイルとして見る時はストレージとしてのxmlなんだよね?
> そうだとしよう。

Yesなんだけれど、ファイルという形式を取っている以上暗黙のうちに
インターフェースだと思っている。(ファイルはインターフェースのひとつ)
だから文脈によってはNo。

> あなたの主張は、
> たとえばwORDはディスクに効率優先の形でそのデータを保存するべきである。
> インターフェイスとしてxml形式でエクスポートできる機能があれば良い。rIGHT?

これはNo。
処理中は独自形式でよくて、保存はXMLであって欲しい。

漏れがずっと主張してたつもりなのは、DOMを直にいじるような
プログラミングスタイルではなくSchemeから読み込まれたモデルを扱うべき
だろうということ。
この例で言えば、Wordモデルを実装したClassをいじることで結果として
XMLで保存されるような。
DOMや、Schemeを利用したのWordモデルの定義がアプリ向けの
インターフェースのつもりだった。

>>919の嫌う「ライブラリ」はSchemeとSchemeコンパイラ的なもので(動的に)
具現化しているはずだと思う。

>>943で言っているような「別のソフトでの加工、あるいは移行」についても
ソフトウェア間で共有できるモデルのSchemeが定義できていることを前提と
しているわけで、実は暗黙のうちにライブラリを想定しているように見える。
946914:04/01/16 20:59
まあともかく、議論がこじれたのは漏れの「ストレージ」「インターフェース」の
取り方が悪かったせいだな、すまん。
漏れの意識では、ファイルシステムはインターフェースであるのでファイルを前提と
した話ではおそらく同じことの言い換えだと思う。

ここまで書いてきて、ストレージとしてのXMLってなんだって気がしてきたな。
すまんね、理解があいまいなままうだうだ書いて。
途中まで追ってたけど飽きてやめてしまった。
それはそうと次スレの季節
InfoPathのスレってどっかにない?
果たして次スレを立てるべきなのかと小一時間.
DOMとかXSL等の質問ができるスレならいいなと見てきたがどうしても
XMLの有用性云々の議論になって収束して下がってってのを繰り返し
てるだけのように思う.
XMLスレはいろんな板に点在していたが、ここが一番まともだった。

よって次スレ立てを>>980に要求します。
みなさん、テンプレ用ネタよろ
そういうならせめてテンプレの叩き台くらい出してはどうか。
952テンプレ叩き台:04/01/25 02:03
XMLに関するプログラミング全般についてのスレです。
話題の範囲が広いため、どのようなネタがあるか例をあげます。

・XMLについての話題(初心者質問など)
・XMLプログラミングの話題(DOM,REXMLなどのAPI群)
・XML関連技術についての話題(XSLやDTD、XML Schema、RELAXなど)
・XML実装の話題(XMLDBなど)
・XML利用法の話題(オレ様NSやRSS、FOAFなど)


関連スレ
前スレ ttp://pc2.2ch.net/test/read.cgi/tech/1014643296/
------------------------------------------------------------

関連リンクはたくさん在るのでみんな貼ってくれ。
日本語ドキュメント、解説ページ、それから各言語のAPIとか…もちろん原典へのリンクも
変化の激しく、規格更新が早い業界ですが初心者誘導のためにも日本語ドキュメントを
多めにしたいです。自分のお気に入りをよろしく。
とりあえず派生スレ立てました

【XML】Scalable Vector Graphics【DOM】
http://pc2.2ch.net/test/read.cgi/tech/1074949936/l50
9541:04/01/25 03:30
>>951
単におれが質問したいから立てたぞ!
>>954
それもテンプレにいれよう。ム板らしくていい。
>>954
我々も仲間に入れてくれ。
「単におれたちが質問したいから立てたぞ!」
@IT:XML & Web Services
http://www.atmarkit.co.jp/fxml/
XMLとWebサービスを理解し、ビジネスに活用するためのフォーラム

リンク先に簡単な解説がつけれるならそれもよろ。
この場合はHTMLのメタに書いてあった。
958デフォルトの名無しさん:04/01/27 14:49
XMLのデータフォーマットの仕様書は、どんな感じに作れば良いですか?
Webサービス プログラミング総合スレッド
http://pc2.2ch.net/test/read.cgi/tech/1031149340/
Webサービス関連(SOAP/WSDL/UDDI/ApacheSOAP/Axis/.NET)
>>958
スキーマ言語使うんじゃないかな?
複雑な構造じゃないならインスタンスをいくつかと文章の方がわかりやすいかも。
961958:04/01/28 09:42
そうなんでつか。>>960

XML、スキーマ、でググルと、
"DTD"が氏んで、"XML Schema"の時代らしいですね。

"XML Schema"について、とか、データ検証ツールなんか、教えて欲しいでつ。
962デフォルトの名無しさん:04/01/28 21:10
binaryXMLは?
963958:04/01/28 23:43
>>961
XMLSchema入門:
http://www.atmarkit.co.jp/fxml/rensai2/schema01/schema01.html

XMLSchemaのValidater:
http://www.w3.org/XML/Schema
↑すまんがここから適当にあたって試してくれ俺はXMLSchema使いじゃない罠

Java+Xercesで自分で書くってのもあるみたい
http://www.ki.rim.or.jp/~kuro/XML/XMLSchema/XMLSchema-01.html

検証系なら"Validate"とかでググってみ

余談だが、DTDが死んでって言うけど、DTDでは何が出来ないかをちゃんと把握して使えば
DTDでも事足りるってケースは多い.
XMLスキーマは使ったことないな。
XMLスキーマ使うアプリ客先に納品した人いる?
ここでの「使う」はミドルウエア以外が
OraのASは?
異システム間の交換データの定義を XML Scheme でやったぞ。
そのあたりでは普通に使える。

967964:04/01/29 05:20
>>966
ふーん。もうXMLスキーマって結構一般的?
まだDTDでがんばってんだけど
そろそろ勉強するかな、
968958:04/01/29 08:47
>>963
>DTDでも事足りるってケースは多い.

データフォーマットを公開したいんだけど、
型宣言が出来るXMLスキーマの方が良いかな、
と思ったんだけど、
DTDの方が読める人が多いとかとっつきやすい、
なんて検討した方が良いかなぁ。
XML Schema……((((((;゚Д゚))))))ガクガクブルブル

大昔XercesCでSchemaを使ったときに、
自分のソフトのバグなのか、Schema定義を間違えたのか、Xercesのバグなのかわからない
という状況を数多く経験した暗い過去が、心の傷になってまふ。
970968:04/01/29 09:57
とりあえずDTDを作って、将来時間をかけてXML Schemaを作った方が良いのだろうか...
>>969
同志よ…・゚・(ノД`)・゚・
973デフォルトの名無しさん:04/01/31 11:58
日本語でXercesC++のいい本はありますか?
C++でXML(主にxerces)やろう!
http://pc2.2ch.net/test/read.cgi/tech/1017641205/
975デフォルトの名無しさん:04/02/02 18:14
MSXMLでSAXを用いてtextを取り出す処理で、::charactersメソッドを使うと、
データが改行している場合それぞれイベントとして分割されて発生します。
これを1つのtextとして処理するのは、アプリで連結するなりをしなければ、
ならないのでしょうか?
976デフォルトの名無しさん:04/02/03 15:14
>>975
ttp://www.atmarkit.co.jp/fxml/rensai/xmlwomanabou10/learning-xml10.html

XML文書に書き込まれた改行文字は改行文字として、アプリケーションプログラム
に渡される。これを活用するのも、無視するのも、アプリケーションプログラム
次第である。
スキーマ言語はRelax NGを使うということでファイナルアンサー?
>>977
素性の良さでは明らかに Relax NG なんだが、ベンダーがサポートしてるのが
XML Schema のみだったりすることがあって悩ましい。InfoPath 2003 とかさ。
>>978
Relax NGからXML Schemaの形式を出力できるんじゃないっけ?
確か逆も出来たような…

使ったことないからうろ覚えですまん
これからの時代も
       lヽ ノ l        l l l ヽ   ヽ
  )'ーーノ(  | |  | 、      / l| l ハヽ  |ー‐''"l
 / D  | | |/| ハ  / / ,/ /|ノ /l / l l l| l  D ヽ
 l   ・  i´ | ヽ、| |r|| | //--‐'"   `'メ、_lノ| /  ・  /
 |  T  l  トー-トヽ| |ノ ''"´`   rー-/// |  T |
 |  ・   |/     | l ||、 ''"""  j ""''/ | |ヽl  ・ |
 |  D   |       | l | ヽ,   ―   / | | l  D  |
 |   !!  |     / | | |   ` ー-‐ ' ´|| ,ノ| | |  !! |
ノー‐---、,|    / │l、l         |レ' ,ノノ ノハ、_ノヽ
 /        / ノ⌒ヾ、  ヽ    ノハ,      |
,/      ,イーf'´ /´  \ | ,/´ |ヽl      |
     /-ト、| ┼―- 、_ヽメr' , -=l''"ハ    |  l
   ,/   | ヽ  \  _,ノーf' ´  ノノ  ヽ   | |
、_    _ ‐''l  `ー‐―''" ⌒'ー--‐'´`ヽ、_   _,ノ ノ
   ̄ ̄   |           /