トップページtech
542コメント171KB

XMLプログラミング

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
単におれが質問したいから立てたぞ!
0083デフォルトの名無しさんNGNG
ファミリーつーか、XMLとそのクソに群がるハエ、って感じだよね。
0084デフォルトの名無しさんNGNG

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




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

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

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

この前質問した者です.
>>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別ににテキストを表示
させたいです.

たびたび申し訳ないのですが,わかる方よろしくお願いします.
0095デフォルトの名無しさんNGNG
>>90
ネタですか?
XSLとExcelは無関係です。拡張子が似ているだけ。
0096デフォルトの名無しさんNGNG
捻りのないネタとレスですね?
つかXで始まる拡張氏は全て、Excel用に予約してるんじゃないかと
0097デフォルトの名無しさんNGNG
お勧めの本教えてください。
文系でプログラミング経験無しです。
0098デフォルトの名無しさんNGNG
>>97
何したいんだか知らないけどさ、多分板違いだと思うんだよね。
こっちで聞いてみれば?
http://pc.2ch.net/php/
http://pc3.2ch.net/hp/
0099デフォルトの名無しさんNGNG
>>98
ありがとうございます!!
0100デフォルトの名無しさんNGNG
>>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をやめて入門書の例を
真似てみたほうがいいかも?
0101デフォルトの名無しさんNGNG
<age>
0102デフォルトの名無しさんNGNG
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>
0103デフォルトの名無しさんNGNG
age
0104デフォルトの名無しさんNGNG
MathMLに対して標準の描画手段を持たないUAならそうなんじゃないの?
010594NGNG
>>100
レスありがとうございます!!!
さっそくやってみます!
0106デフォルトの名無しさんNGNG
>>102
mozilla 使っているならこのサイトを見れ。
http://pear.math.pitt.edu/mathzilla/
0107デフォルトの名無しさんNGNG
http://profiles.yahoo.co.jp/tengaiten2002
0108デフォルトの名無しさんNGNG
CもしくはC++で、XMLファイルをSAXで読み込んでくるプログラムを紹介している
サイトなどがあったら教えて頂けませんか?
0109デフォルトの名無しさんNGNG
それぐらい自分で検索しろ
0110デフォルトの名無しさんNGNG
http://www-6.ibm.com/jp/developerworks/xml/020118/j_x-ctlbx.html
011194NGNG
>>100
できました!!!
たびたびすみません...ありがとうございます.

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

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

0114102NGNG
四日間、苦手な英語で>>106のサイトを翻訳していましたが未だにわかりません。
結局どうなんですか?ieでもnnでもoperaでも試しましたが、一向に>>102のソースは「3 x」と表示されるだけです。これでいいのでしょうか。
0115デフォルトの名無しさんNGNG
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>
0116デフォルトの名無しさんNGNG
そもそもbr要素は必要か?…という煽り合いが始まるわけだが…。

# 個人的には要らんと思う。今まで使ったコトもないし。
0117デフォルトの名無しさんNGNG
別にbrの是非について話をふったんじゃないんだけど
0118デフォルトの名無しさんNGNG
というか例文がXHTMLになっていなかったけど脳内で修正してね
0119デフォルトの名無しさんNGNG
>>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に変換してくれ。
0120つかってみるとかNGNG
>>114
WEBの翻訳(無料)
http://www.excite.co.jp/world/url/
0121属性の有無を調べるにはNGNG
MSXMLを使ってDOMプログラムを始めた厨房です。
要素の属性名がわかっていて、その名前の属性をIXMLDOMElementPtr
が保持しているかどうかを調べるのにはどうしたらいいですか。
getAttribute()をつかってアクセスしようとすると属性が存在しない場合
例外が発生してしまいます。
0122デフォルトの名無しさんNGNG
XMLってどこから始めるのがいいの?
アプリの設定を保存するにしてもイマイチだし、
DTDだとかXSLだとか無関係に感じるんだけど。

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

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

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

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

↓ ↓ ↓
http://www.dream-express-web.com/space-trust.htm
0151デフォルトの名無しさんNGNG
宣伝でつか?
0152デフォルトの名無しさんNGNG
宣伝でつね
0153デフォルトの名無しさんNGNG
XMLの本て、なんであんなに無意味に分厚いのが多いの?
0154デフォルトの名無しさんNGNG
そりゃ意味がわかんなきゃ無意味に見えるでしょうね。
0155例外処理について質問ですNGNG
ただいま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が間違いなのは解っているのですが、ここを
どう変えれば良いのかが解りません。 もし解る方がおられ
ましたら宜しくお願いします。
0156155NGNG
ぐは・・
板間違えました、申し訳ない。m(__;)m
0157デフォルトの名無しさんNGNG
>>108
http://xml.apache.org/xerces-c/
0158デフォルトの名無しさんNGNG
Xercesをインストールできません.クラスパスの設定がうまく行ってないみたいなんですが,
使ってる人いますか?
0159デフォルトの名無しさんNGNG
>>158
使ってます。
0160デフォルトの名無しさんNGNG
>>158
どの OS でどのコンパイラのためにインスールとしてるのか書かないと、だれも返事できないよ。
0161デフォルトの名無しさんNGNG
ダ メ ダ
コ リ ャ
0162デフォルトの名無しさんNGNG
>>160
返事して欲しくないんです
0163デフォルトの名無しさんNGNG
IEってさ、XMLファイルを表示すると簡易ビューワーになって
すごい便利なんだけど、これと同等の機能を持ったemacs用
ソフトはあるかな?
0164デフォルトの名無しさんNGNG
>>163
× すごい便利
○ すごく便利
0165デフォルトの名無しさんNGNG
>>164
日本語の変化についていけない時代遅れは氏ね!
0166デフォルトの名無しさんNGNG
>>165
> 日本語の変化についていけない時代遅れは氏ね!

アフォか、「すごい」も「すごく」も昔からあるわ。ただ、「すごい」はあまりあらたまった場では使わんだけだ。お前こそ、氏ねよ。
0167デフォルトの名無しさんNGNG
改まった場?
0168デフォルトの名無しさんNGNG
>>163
× すごく便利
○ でら便利
0169デフォルトの名無しさん NGNG
× でら便利
○ デラべっぴん
0170デフォルトの名無しさんNGNG
>>166 はよほどすさんで腐りきった世界で生きているDQNですな
0171デフォルトの名無しさんNGNG
>>166
「すごい」は名詞にかかって、「すごく」は動詞や副詞にかかるのだよ。
0172デフォルトの名無しさんNGNG
>>169
× デラべっぴん
◎ マラぴんぴん
 
0173デフォルトの名無しさんNGNG
○ すごいパソコン
× すごくパソコン

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

○ すごい本
× すごく本

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

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

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

Exception in thresd "main" java.lang.NoClassDeFoundError

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

0175デフォルトの名無しさんNGNG
ソフトウェア板行け
0176デフォルトの名無しさんNGNG
http://www.hyuki.com/writing/techask.html#procedure
0177デフォルトの名無しさんNGNG
それはいいページだね。
0178デフォルトの名無しさんNGNG
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
0179デフォルトの名無しさんNGNG
ヤレヤレ
0180デフォルトの名無しさんNGNG
>>178
ここ、XSL理解してる奴いないから。
質問しても無駄。
0181178じゃないです。NGNG
>>180
ホントダ!!
ここ何気に雑談スレじゃん。
質問が来ても、まるで答えてねぇ。 ←私もだけど
0182デフォルトの名無しさんNGNG
178はまた君か、って感じなので。
■ このスレッドは過去ログ倉庫に格納されています