【XML】xmlns, XSLT, RelaxNG, JAXP, etc.【総合】at TECH
【XML】xmlns, XSLT, RelaxNG, JAXP, etc.【総合】 - 暇つぶし2ch116:デフォルトの名無しさん
06/03/15 22:11:09
>>115
取り扱ってる場所ないんじゃないの?

117:デフォルトの名無しさん
06/03/16 22:21:06
<SOAP-ENV:Envelope xmlns:SOAP-ENV="URLリンク(schemas.xmlsoap.org)"
xmlns:SOAP-ENC="URLリンク(schemas.xmlsoap.org)"
xmlns:xsi="URLリンク(www.w3.org)"
xmlns:xsd="URLリンク(www.w3.org)">

↑みたいに複数の名前空間を宣言している要素を Java の DOM で
作りたいんだけどどうやるか分からない…。

118:デフォルトの名無しさん
06/03/17 01:11:38
final String XMLNSURI="URLリンク(www.w3.org)";
final String NSURI_SOAP="URLリンク(schemas.xmlsoap.org)";
final String NSURI_SOAPENC="URLリンク(schemas.xmlsoap.org)";
final String NSURI_XSI="URLリンク(www.w3.org)";
final String NSURI_XSD="URLリンク(www.w3.org)";

Element env = doc.createElementNS(NSURI_SOAP, "SOAP-ENV:Envelope");
env.setAttributeNS(XMLNSURI,"xmlns:SOAP-ENV",NSURI_SOAP);
env.setAttributeNS(XMLNSURI,"xmlns:SOAP-ENC",NSURI_SOAPENC);
env.setAttributeNS(XMLNSURI,"xmlns:xsi",NSURI_XSI);
env.setAttributeNS(XMLNSURI,"xmlns:xsd",NSURI_XSD);

これじゃ何かあかんのか?
つうか、JavaでSOAPやるならAxisとかあると思うんだが。

119:http://www.vector.co.jp/soft/win95/util/se072729.html
06/03/18 19:36:43


TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?

120:デフォルトの名無しさん
06/03/19 23:44:15
>118
サンクス。それでよかったのね…。

Axis 使いたいんですけど、
事情があって自分で SOAP エンベロープを作らなくてはならなくて…。

121:デフォルトの名無しさん
06/03/24 17:52:53
xmlでマクロや定数を使いたい場合はどうすればいいですか?
こんな風にやりたいのですが↓
#define HOGE 1
<TEST value="HOGE" />

122:デフォルトの名無しさん
06/03/24 17:54:58
〉〉1

123:デフォルトの名無しさん
06/03/24 18:10:16
>>121

DTD内で
<!ENTITY HOGE "1">

本文で
<TEST value="&HOGE;"/>


124:デフォルトの名無しさん
06/03/24 20:59:33
>123のコンパクトな書式でどばーーーと羅列したのを
<!ENTITY %ent1 SYSTEM "entity1.ent">
%ent1;
<!ENTITY ent2 SYSTEM "entity2.ent">
&ent2;

とかいくつかきめると古いIE落ちる説。ってのを耳にした
ご自愛ください


125:121
06/03/24 21:59:33
>>123
実体参照というやつですか。
ありがとうございます。

126:デフォルトの名無しさん
06/03/29 15:12:14
<?xml version="1.0" encoding="UTF-8"?>
<Hoge>
:
</Hoge>

というようなXMLのencodingが何か、DOMで操作して知りたいんですが
方法がわかりません。教えてください。



127:デフォルトの名無しさん
06/03/29 15:34:24
よく分からんがDOMの仕様書開いてencodingで検索

128:デフォルトの名無しさん
06/03/29 16:49:51
>>126
DOM Level 3 の org.w3c.dom.Document.getXmlEncoding()
DOM Level 1や2では不可能。


129:126
06/03/29 17:08:00
>>128

きー
DOM Level3ですか。
ありがとうございます。いさぎよくあきらめます。


130:デフォルトの名無しさん
06/03/30 00:39:03
もとがストリームなんて決まってないっつうか
DOMのネタがすでに処理系内部文字列かも知れないのに、
なんでそんなのが解るんだ?


131:デフォルトの名無しさん
06/03/30 10:59:25
なぜXML宣言があるのかよーく考えてください

132:デフォルトの名無しさん
06/03/30 12:27:56
>>130
encoding="..."が存在すれば返すってだけで、なければnullが返るだけ
ですから。



133:デフォルトの名無しさん
06/03/30 18:34:52
なるほど。
そんなん、当てになるっつうか、実用性あんのかね?

134:デフォルトの名無しさん
06/03/30 18:53:57
そもそも変なencoding指定したらパース失敗するよ。
運よく文字化けで済んでもそれは生成した側の責任。
encoding省略されてればUTF-8だよ。どこに疑う余地があるのん?

135:デフォルトの名無しさん
06/03/31 00:54:27
実用性の理由になってないよ…。
責任がどこにあろうと、間違った値が取れてトラブルになるのは読む側。
間違った値が取れるってことは、当てにならんってこった。

136:デフォルトの名無しさん
06/03/31 01:27:34
仕様を満たしたデータからは正しい情報を得ることができ
仕様を満たさないデータからは正しい情報を得られないってのは
至極一般的なことなのだが135はなにが不満なのだろう。

137:デフォルトの名無しさん
06/03/31 10:07:07
>>135
噛み付けばいいってもんじゃないぞ。

(↓以下たとえ話)
たとえば素数を返すメソッドを読んだとして、偶数が返ってきたらどう思う?
バナナで釘を打つ予定だったのに、マンゴーを渡されたらどうする?

仕様が守られるのは当たり前。仕様を守らないならそんなもの捨てちまえ。

>間違った値が取れるってことは、当てにならんってこった。
どこも間違っていない。仕様どおり。
きちんとルールは守りましょう。

変なencoding吐くシステムならアダプタかましてください。

何度もいいますが、encoding指定なしならUTF-8、それ以外で指定されていればその文字コードになります。
XMLを読み込むときはそれを基準にして読み込みます。
文字コードの予想なんてしません。必ずencodingは指定されているというのは大前提です。

138:デフォルトの名無しさん
06/03/31 11:01:44
あ、メモリとかにそのまんま作った木のencodingは>>132がいうとおりnullになる。
これはシステムが文字コードを関知し続けていればいいね。

139:デフォルトの名無しさん
06/03/31 13:58:21
xmlでentityというので別のxmlファイルを読み込むようにしたのですが、IEでは表示されるのにmozilla系では表示されません。
何か問題があるのだと思いますが、気付いたことがありましたら教えてください。

##### index.xml #####
<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet type="text/xsl" href="index.xsl"?>
<!DOCTYPE hoge [ <!ENTITY piyo SYSTEM "./piyo.xml"> ] >

<hoge>
&piyo;
</hoge>


140:デフォルトの名無しさん
06/03/31 21:05:40
>>137
揚げ足取ると、2は偶数であり素数でもありますよ。

141:デフォルトの名無しさん
06/03/31 21:50:36
>>137
確かに、間違った値が取れるってのは正確ではなかったな。
XML宣言のencodingが取れるという仕様に対しては。

だが、現実の要求はそんなことではなくて、元も文字コードが何であったかが知りたいんじゃないのか?
現実の要求に対して期待通りの値が取れないんなら、やっぱり当てにはならんてこった。

学生じゃないんだから、仕様仕様ってそんなヌルい事じゃオープンな実用システムは作れんよ。

142:デフォルトの名無しさん
06/03/31 22:30:48
141はxmlデータを扱ったことがないんだろうな。XMLにおいて
encodingというメタ情報が取得できないっていうがどういう
状況かわからないらしい。

143:デフォルトの名無しさん
06/03/31 22:51:38
自分の世界だけのローカルファイルだけ扱ってるなら、そう割り切るのも手だろうね。
ただ、普通のオープンなシステムでは、データ入手の際の、
MIMEのcontent-typeのcharsetのような外部情報があるんだよ。

144:デフォルトの名無しさん
06/03/32 01:40:21
>>141
コンテンツがどんな文章であってもencodingが自動判別できるのなら
君の言うことは正しいように感じる。

145:デフォルトの名無しさん
06/03/32 02:21:54
>>141
うん、ちょっと待って。

>元も文字コードが何であったかが知りたいんじゃないのか?

これの意味がわからないの。元ってどーこ?

>現実の要求

って誰がこんなとち狂った要求を?
そんなことやってたらAPIの作者が首吊りますがな。

アテになるって何が?アダプタかませよ。
DOMはDOMのドメインで問題解決してるんだよ。
そんなに仕様を肥満させてAPI作者に首をつってもらいたいのかゐ?

146:デフォルトの名無しさん
06/03/32 02:23:00
あれか?>>141の言っているのはお行儀の悪いメールサーバと
やりとりできるメーラーを開発したいとでも言っているのか?

で、標準仕様をそっちに合わせろと…

147:デフォルトの名無しさん
06/03/32 03:32:12
>そんなに仕様を肥満させてAPI作者に首をつってもらいたいのかゐ?

もともと無理で無駄だと書いてるわけだが、なんでそんな話になるかね…。


148:デフォルトの名無しさん
06/03/32 03:51:05
いやだから無理でもないし無駄でもないってば。
あんまり使うケース思いつかないけど。

149:デフォルトの名無しさん
06/03/32 06:11:22
>>145
>>元も文字コードが何であったかが知りたいんじゃないのか?
>
>これの意味がわからないの。元ってどーこ?

「元」って、元のXML文書のことだろ。
XML文書はいろんな文字コードの可能性があって、それをDOMに変換すると、JavaならUTFに変換される。
変換されるのはかまわないけど、もとのXML文書がどの文字コードだったかを知りたい人もいて、それがDOM3じゃないとできないので困っているということだよね。

そんなことを必要とするのがおかしいというやつがいるけど、自分が必要ないからといって他人が必要としていることを否定するのはどうかと。
例えばXML文書を読み込んでHTMLに変換するツールを作るとき、もとのXML文書がSJISならSJISで、EUCならEUCで出力するような仕様にしたい、というのはごくごく普通に考えられるんじゃないかな。

おれもXML宣言のencodingぐらいとってこれてもいいじゃんと思うけど、なんでできないんだろうね。getEncoding()を付け加えるぐらいなら、仕様の肥大化にはならないと思うけどね。

ちなみにおれは、XMLパーサのpublicでない内部変数をリフレクションを使って取得することで回避した。あまりいいやり方じゃないけど、他に方法がなかったから仕方ない。

150:デフォルトの名無しさん
06/03/32 08:12:46
やっぱS式が最強ってことか

151:145
06/03/32 11:42:50
inputEncoding

An attribute specifying the encoding used for this document
at the time of the parsing. This is null when it is not known,
such as when the Document was created in memory.

URLリンク(www.w3.org)

('A`)生意気言ってゴメン

152:デフォルトの名無しさん
06/03/32 14:34:58
>>149

>>141はDOM3でも満足できないように読めるが。

153:139
06/03/32 20:14:01
レスがもらえないあたりを考えると、
IE使いの方ばかりなのでしょうか。
それともentityなどを利用して複数のxmlを読み込むようにしている人は居ないということでしょうか。



154:デフォルトの名無しさん
06/04/02 23:16:00
>>153
DTDに<!ELEMENT hoge ANY>を加えてもだめ?

155:139
06/04/03 00:55:27
>>154
やってみましたがダメでした。

どうやらmozilla系は外部エンティティが使えないみたいなので諦めムード。

156:デフォルトの名無しさん
06/04/05 07:01:50
>139
試すのにファイル足らな過ぎだよ、
mozillaのrdfやっばい高機能なのにそれ無理っぽいね

SYSTEMじゃなくPUBLICでも?chrome:とかフルパス試した?
解決する可能性-80%ぐらいだけど是非試して

157:デフォルトの名無しさん
06/04/05 11:11:45
>>139へのレスは自演としか思えない。
まともな本を一冊通読した方がいいよ。急がば回れだ。

158:デフォルトの名無しさん
06/04/05 19:54:01
IEやNetscapeなどの一般的なブラウザでレンダリングされるxhtmlファイルに
XSLTの要素を埋め込んでXPathを使い、
XML文書からデータを取り出してきたいのですがうまくできません。
ブラウザはxhtmlをXML文書として解析しているのでしょうか?
動きを見ているとhtml文書としてレンダリングしているように思えます。

159:デフォルトの名無しさん
06/04/05 20:00:09
>>158
XHTMLを使ったからって、XSLTとか任意のXML語彙を埋めこんでレンダリ
ングできるというわけではない。SVGぐらいなら埋めこめるかもしれん
けど、XSLTを埋めこんだ場合にどう動くかというのは誰も定義してない
し実装してない気がする。



160:デフォルトの名無しさん
06/04/05 20:11:15
>>159
勘違いしておりました。xhtmlからXPathを使うのは無理なのですね。
上記のようなことを実現するにはJavascriptとDOMを使うのでしょうか?
Web制作みたいな質問ですみません。

161:デフォルトの名無しさん
06/04/05 21:41:19
そうでございます。

162:デフォルトの名無しさん
06/04/06 00:11:35
横やりすんませんがさ
ブラウザってどこからxmlって判断してるの?
レスポンスヘッダで */xml かつ中身 <?xml なんちゃら見たらってこと?

URLリンク(www.w3.org)
これじかに開いた時のIEはきちがいなん?

163:デフォルトの名無しさん
06/04/06 00:35:21
整形式が崩れたときにエラーを返したらXML。
整形式が崩れたときに自力で何とかしようとしたらHTML。

164:デフォルトの名無しさん
06/04/06 08:14:28
>162
Firefoxしか知らんが、レスポンスヘッダ次第。
text/htmlで送ると整形式になってなくてもエラー出ないし、
text/plainで送るとそのまま表示されたり。

165:デフォルトの名無しさん
06/04/06 13:42:27
<?xml~は、xmlかどうかの判断には使ってない漢字。 エンコーディングだけ判断してるような。
これ無しで日本語使うと、IEではエラーになるしFirefoxでは文字化けする。
正しく設定してあれば、どちらでも正しく表示可能。 まあ当然か。

・ http経由なら content-type で判断
・ ローカルファイルなら 拡張子 で判断
って幹事かな。 Windowsでは。

166:デフォルトの名無しさん
06/04/06 20:03:52
XML宣言は省略可能。
ただし省略した場合はencoding="UTF-8"と見なされる。

167:デフォルトの名無しさん
06/04/07 16:21:48
HTTP経由でXMLをやりとりするときは

Content-Type: application/xml; charset=EUC-JP

<?xml version="1.0" ?>
...



Content-Type: application/xml

<?xml version="1.0" encoding="EUC-JP"?>
...

と、どっちが望ましいのかなあ

また、Content-Type:が application/x-hogehogeだったり
text/xmlだったりした時とか。



168:デフォルトの名無しさん
06/04/07 16:52:57
両方指定するのはだめ?
Content-Type: application/xml; charset=EUC-JP

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

169:デフォルトの名無しさん
06/04/07 17:03:04
>167
それはそれでいいんだけど、
そうなると、どっちが優先? っていう話あるし...

HTML(4.0?)だと
1. HeaderのContent-Type: charset
2. Bodyの<めた charset=...>
の順だから

これに合せると XML宣言の方を無視するってことになって
それはそれで変だろって。どっちかならXML宣言の方が優先かなあ。


170:デフォルトの名無しさん
06/04/07 18:55:21
RFC 2376 読みなされ。



171:デフォルトの名無しさん
06/04/07 19:05:36
村田真はどこかでContent-Type優先だろと言ってた。
だからなんだと言われても困るが。

172:デフォルトの名無しさん
06/04/07 19:37:57
>>170
お、そういうのを待っていたよ。2376ね。ありがとー



173:デフォルトの名無しさん
06/04/07 19:44:09
ここに解説あるね
URLリンク(www.fxis.co.jp)

>text/xmlの場合はXML文書中にある encoding declarationを
>無視することを明言しています

へえ

>application/xmlの場合もcharsetパラメタが推薦されています。
>ただし、こちらはcharsetパラメタが省略されるとXML文書中の
>encoding declarationを見て判定します。

ほう
勉強になりましたよ。Content-Type優先か。
application/x-hogehogeの場合は好きにしていいのかなあ。



174:デフォルトの名無しさん
06/04/09 11:34:13
まだ勉強し始めたばっかでよく理解してないのですが次の様なXSLTがあるとしますと
パーサ(IE6を使用してます)が</xsl:template>はMetaと一致しないとかエラーが返されてしまいます

<xsl:template match="Hoge">
<Meta http-equiv="Content-Type" content="text/html ; charset=Shift_JIS">
</xsl:template>

この問題は<Metaの行を<Meta http-equiv="Content-Type" content="text/html ; charset=Shift_JIS" />
と閉じれば解決されるのですが、Metaタグについて調べるとどこの解説ページもMetaを閉じていないようです
公式ではどのように説明されているのでしょうか

175:デフォルトの名無しさん
06/04/09 11:45:08
わからないけどとにかく閉じないと整形式が崩れて文書が成立しないね。
何処を参考にしたのかわからないが閉じないほうが間違いです。

176:デフォルトの名無しさん
06/04/09 12:23:38
閉じない方が間違いなのですか、ありがとうございます

適当にMetaタグとググったり他人様のソースを読んだりして勝手に勉強してたのですが・・・


177:デフォルトの名無しさん
06/04/09 17:45:22
そもそもXHTMLならばMetaタグなるものは存在しませんが。
metaタグの間違いでしょう。

#その調子だと<xsl:value-of select="<xsl:apply-…>"/>
#とか書く日も近いかも

178:デフォルトの名無しさん
06/04/09 18:12:49
HTMLに変換されるのでMetaも間違いではありません。

179:デフォルトの名無しさん
06/04/10 10:46:57
FirefoxのMIMEタイプ判断はこんな感じらすい
URLリンク(www-06.ibm.com)

180:デフォルトの名無しさん
06/04/10 14:01:27
すげー svg って image/svg+xml だったんだ
驚くところじゃないのかもしれないけど、xml は化けたね

181:デフォルトの名無しさん
06/04/11 11:02:09
XSLについて教えてください。
RSSを以下内容のXSLファイルで変換をかけてブラウザ上にItem一覧を
表示しています。
これをRSSのItem内のdc:dateが当日のものだけに絞りたいのですが
可能でしょうか?


XSLファイル

<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="uri:xsl">
<xsl:template match="/">
<html><body>
<xsl:for-each select="rdf:RDF/item">
<div><a target="blank"><xsl:attribute name="href"><xsl:value-of select="link"/></xsl:attribute><xsl:value-of select="title"/></a></div>
</xsl:for-each>
</body></html>
</xsl:template>
</xsl:stylesheet>


RSS XMLのItem部分

<item rdf:about="URLリンク(www.test.jp)">
<title>テストタイトル</title>
<link>URLリンク(www.test.jp)
<dc:date>2006-04-10T13:01:00+09:00</dc:date>
<description>テスト内容です</description>
</item>


182:デフォルトの名無しさん
06/04/11 13:07:32
>>181
rdf:RDFと書いてあるが、rdf:の名前空間はどこで定義してる?

んで、当日という日付に関しては外部から指定するか、
あるいはdc:dateが最大のものを選ぶか、どっち?

183:デフォルトの名無しさん
06/04/11 16:40:56
返事ありがとうございます。
名前空間はこんな感じです。

<rdf:RDF
xmlns:rdf="URLリンク(www.w3.org)"
xmlns="URLリンク(purl.org)"
xmlns:taxo="URLリンク(purl.org)"
xmlns:dc="URLリンク(purl.org)"
xmlns:syn="URLリンク(purl.org)"
xmlns:admin="URLリンク(webns.net)"
>

日付に関しては、外部から渡せそうにないので最大のものという方が良いです。



184:デフォルトの名無しさん
06/04/11 17:47:29
う~ん。
どう考えても汚くなりそうだなあ…

時間がないので、詳細書けたら後で書けるが、ロジックとしては

for-eachでソートされたitem/dc:dateをxsl:value-ofで取り出して、それを変数に一度格納。
(便宜的にconcatDateとする。ソートはもちろん、item/dc:dateで降順に。)

↓中身はこんな感じ
$concatDate = "2006-04-10T13:01:00+09:002006-04-10T01:01:00+09:00…"

というようになっているような感じ。そこから先頭10文字を取り出して、
それと合致するdc:date要素を持っているitemノードを取り出す。

ノイズがあると即アボン。

どうみてもお粗末です。ありがとうございました。

185:184
06/04/11 17:48:51
それと合致する ⇒ それを含む

にしておいてください。

186:デフォルトの名無しさん
06/04/11 19:15:23
>>184
今のところソートまでしか理解できていませんが、もうちょっと勉強してみます。
丁寧にありがとうございます。

187:デフォルトの名無しさん
06/04/11 19:22:27
無駄に俺まで考えたけどだめだ、xslだけだとそんぐらいえぐくなる
<xsl:key name="today" match="item" use="substring-before(item/dc:date,'T')"/>
こゆーのて取れないのかな?まー取れてもな

ブラウザで表示だけなら無理に減らさないでCSSで今日以外隠す?
ごめん論点すりかえた

188:デフォルトの名無しさん
06/04/11 21:01:22
もうDOMでいいじゃん


189:デフォルトの名無しさん
06/04/12 00:58:41
E4Xで、要素名や、要素のローカル名が予約後の時ってどうすればいいのでしょうか?

<var xmlns:p="puge">
 <p:function>ぢ</p:function>
</var>

var p=new Namespace("puge")
var func = var.p::function ←エラー


190:デフォルトの名無しさん
06/04/13 12:27:18
>>189
俺はE4X使ったことなかったけど、その例を使って、Firefox1.5で試してみた。

var xml = <var xmlns:p="puge">
  <p:function>ぢ</p:function>
  </var>;
var p = new Namespace("puge")
var func = xml.p::["function"];

["function"]は連想配列でのプロパティの参照って言うのかな。
名前空間からのアクセスにも使えるみたいね。

191:デフォルトの名無しさん
06/04/16 16:58:16
なんだ、ただの(?)プロパティだったのか。
サンクス…って、
xml.var.p::["function"]
だよな?


192:デフォルトの名無しさん
06/04/25 02:34:30
おまいらは、XSLT プロセッサなに使ってんの?
XT?
Xalan?


193:デフォルトの名無しさん
06/04/25 09:41:05
Xalanだよん。アスランXalan。

194:デフォルトの名無しさん
06/04/27 19:33:20
>>193
thx。

このスレ人気ない w

ついでに質問。

xalan に -xml、-html、-plain フラグがあるけど、
デフォルトは -xml ですよね?
スタイルシート内に <HR> って書いたら怒られた。

195:デフォルトの名無しさん
06/04/30 04:18:58
質問です
XSLTで名前つきテンプレートの引数に文字定数"a"を渡したいのですが
<xsl:with-param name="b" select="a"/>
と書くと"a"がパスと解釈されてしまってうまくいきません
解決策教えてください

196:195
06/04/30 07:45:21
自己解決しました.
<xsl:with-param name="b">a</xsl:with-param>

197:デフォルトの名無しさん
06/04/30 13:01:11
<xsl:with-param name="b" select="'a'"/>
あるいは、
<xsl:with-param name="b" select="&quot;a&quot;"/>
とすればよかったものを…。

>>194
<hr>はXML?

198:デフォルトの名無しさん
06/05/01 16:57:15
XMLの仕様書よんでもよくわからないので教えてください。
XMLの処理命令には < や > や & をそのまま含めても仕様上は問題ないのでしょうか。
処理命令というのは例えばPHPの<?php echo $var; ?>というやつですけど、
この中に例えば
<?php if ($i > 0 && $i < 100) { ?>OK<?php } ?>
のように < や > や & を、< や > や & にエスケープせずにそのまま埋め込んでもいいのですか。
XML仕様書読んでみたのですが難しすぎてわかりませんでした。

199:デフォルトの名無しさん
06/05/01 17:08:42
>>198
PIデータの中ではエスケープする仕組みがないので、<>&などはそのま
ま書いていい。

ちなみに、「?>」という文字列はどうやっても入れられない(PIターゲッ
トで独自の解釈方法を定義してない限りは)。


200:デフォルトの名無しさん
06/05/02 17:56:05
>>199
さんくすです。助かりました。
今、PHPを使っているんですけど、「?>」という演算子はないので、大丈夫っぽいです。
でもPHPは値を表示するのに「<?php echo $var; ?>」としなきゃいけないんですけど、
これだと属性値のときに困るんですよね。
<span class="<?php echo $class; ?>">text</span>
みたいなかんじで、この部分がHTML的に構文エラーになってしまいます。
ここだけなんとかしてほしいよー。

201:デフォルトの名無しさん
06/05/07 11:27:17
しかし、アレだね
XMLスキーマの章、問題が長文すぎてスクロールしまくりなのはキツイね
紙で欲しい


202:デフォルトの名無しさん
06/05/09 23:34:41
>>201
なんかの本の話?

203:194
06/05/12 04:20:20
>>197
XSLT 内の HTML の話なんでしたが、自己解決しました。

テンプレート定義内に HTML の空タグ (BR、HR 等) を書くときにも、
XML 仕様に従って、バックスラッシュを入れないとダメなんですね。

気付けば簡単な問題なんですが、
気が付かないとわけが分かりません。
盲目。

204:デフォルトの名無しさん
06/05/12 12:12:13
>>203
(俺の脳内統計によると、)九割の初心者がそういうミスしてきてるから安心汁!

XMLを知る

XSLTをやってみる

ミスをする。
・<xsl:value-of select="<xsl:apply-templates select="" />"/>
・HTMLをべた書き

XSLTもXMLなんだと自覚し始める。

XPathやDOMなどが役割を果たす階層を意識しはじめる。

ほかのXMLの語彙も同じように認識できるようになる。
名前空間もよく理解できるようになり、「拡張できる言語」というXMLへの
幻想も消え、正しくXMLを使えるようになる。

205:デフォルトの名無しさん
06/05/12 12:16:49

でも、冗長だから、面倒なんだよ。
使えるか、こんなモン!!

206:デフォルトの名無しさん
06/05/12 12:23:03
>>205
強力なインフラが欲しくなければ使わなければいいと思うぞ。
まあパフォーマンス上いろいろ問題あるしな。

俺は別にファイルサイズとかタイピング数とか気にしない口なので、
XSLTでdocument関数から要素を取得しつつその値で再起構造書くとか平気。
f( URI ) = f(document( URI )/someElement)

↑こんなの。さすがに重くなる。

207:デフォルトの名無しさん
06/05/12 23:19:31
XMLデータをインデントする時に、
空白の影響をなくすために、
<p
>hoge</p
>
とするのが良いという話をどこかで読んだ記憶があるのですが、
どなたが言っていたか、誰かご存知じゃないでしょうか?
こうしている人いますか?

208:デフォルトの名無しさん
06/05/13 11:55:31
XSLの開発環境ってあるんですか?
コーダー出身なのでDreawerverでやっていますが
テキストエディタ同然なので効率が悪いです。

209:デフォルトの名無しさん
06/05/13 12:47:58
>>208
作ったり、提案してみては如何かな?

210:デフォルトの名無しさん
06/05/13 13:05:30
>>208
XML SpyにXSLTデバッガがある。俺はこれがないと
XSLTなんて書けない。

211:デフォルトの名無しさん
06/05/15 11:37:56
>>207
ジェームズ・クラーク式記法
URLリンク(jp.rubyist.net)
とあるけど他に情報が出てこない
URLリンク(jp.rubyist.net)
って突っ込まれてるし

James Clark氏の書いてる文書だと
URLリンク(www.jclark.com)
で不完全だけど扱っている様子が分かる

212:207
06/05/17 20:03:19
>>211
XML の偉い人だというのは記憶があるので、
James Clark で間違いないと思います。
ありがとうございます。助かりました。

213:デフォルトの名無しさん
06/05/18 22:27:23
質問なんですが、今、JAVAをやっててその中でXMLやXSPもやっているんですが、
その中でXSP中に<xsp:logic>内でJAVAを使うんですが、そのときどうしても
IF文で < や > 比較演算子が使えません。
他に ==や ||は使えるんですが、教えてくださいペコm(_ _;m)三(m;_ _)mペコリ

214:デフォルトの名無しさん
06/05/18 22:58:55
そういう質問はJavaのスレッドに行ってください。
あと日本語でおkwww

215:デフォルトの名無しさん
06/05/19 00:58:15
xspってなんだかしらんが(cocoonか?)、<と>じゃないの?
というか、釣りとしか思えんが。

216:215
06/05/19 01:50:06
2chて、文字参照そのままなのかよ…。
×<と>じゃないの?
○&lt;と&gt;じゃないの?

217:デフォルトの名無しさん
06/05/19 06:10:17
>>213
JSPなら < や > や <= や >= のかわりに lt や gt や le や ge が使えたと思ったけど。

>>215
そうみたいだね。
URLリンク(www.onjava.com)


218:デフォルトの名無しさん
06/05/19 06:13:05
>>213
>>217の2ページ目にのってあったわ。<や>のかわりに&lt;や&gt;をつかうみたい。

219:デフォルトの名無しさん
06/05/19 11:01:22
&amp;lt;を書こうとして、&amp;amp;lt;を書こうとして

220:デフォルトの名無しさん
06/05/19 11:03:52
>>216
最強に細かいことだが:
×文字参照 (Character Reference) ○実体参照 (Entity Reference)

221:デフォルトの名無しさん
06/05/25 03:25:33
<product>
<name>PC</name>
<assembly>memory</assembly>
<assembly>HDD</assembly>
<assembly>CPU</assembly>
</product>

↑のようなXML文書を

<xsl:value-of select="assembly">
というXSLTにかけたら、最初の要素しか
表示されないのですが、全部の要素を表示することは
できないのでしょうか?
できればカンマで区切って表示したいのですが・・・

よろしくお願いいたします。

222:デフォルトの名無しさん
06/05/25 04:42:20
>>221
URLリンク(www.google.com)

223:デフォルトの名無しさん
06/05/25 06:39:07
>>222
<xsl:value-of select="."/>っていうのを使いましたが、
これは任意のノードにヒットするという意味ですか?

224:デフォルトの名無しさん
06/05/25 07:30:53
>>223
カレントのノード。

225:デフォルトの名無しさん
06/05/25 15:58:44
XML って人気なさげ。
でも age。

226:デフォルトの名無しさん
06/05/25 17:35:23
人気…?

227:デフォルトの名無しさん
06/05/25 22:14:41
これだけそこら中で使われてるものが人気がないって・・・

228:デフォルトの名無しさん
06/05/25 22:15:42
>>225
大人気だと思います

229:デフォルトの名無しさん
06/05/26 00:13:00
人気(にんき)はあるが人気(ひとけ)は無い。それがXML。

230:デフォルトの名無しさん
06/05/26 00:20:07
>>229
多くの人がXMLについて研究している(た)と思います

231:デフォルトの名無しさん
06/06/07 10:24:05
Microsoft Core XML Services (MSXML) 6.0
URLリンク(www.microsoft.com)

バージョン : 6.0
公開された日付 : 2006/06/06
言語 : 日本語
ダウンロード サイズ : 1.5 MB - 7.6 MB*


232:デフォルトの名無しさん
06/06/07 10:56:26
スキーマ言語(?)って、今から使うとしたら、どういうのがいいのかな
XML Schema? RELAX NG?

233:デフォルトの名無しさん
06/06/07 11:40:33
どんなXML文書のルール書きたいの?

ガチガチに固い構造でなきゃならなくて、そのためには難解な仕組みの理解を惜しまないか、W3Cの作ったものしか信じないならXML Schema

そんなでもないならRELAX NG

あるいはスキーマはツールが自動生成してくれて触る必要がないなら、それに越したことはない

234:デフォルトの名無しさん
06/06/07 12:07:07
俺アプリで SVGもどきを設計しているんだけど、
そのデータを XMLで保存しようとしているのね。

* ストロークデータ(x:float, y:float, pressure:float)
* カンヴァスデータ(演算式)
* ペンデータ(演算式)
* アンカー ← HTMLの Aタグっぽいやつ

こんな感じ。
それで、データ構造の仕様をどう表現しようかなと考えて、
今使われているスキーマ言語は何なのかな、と質問した次第。

235:デフォルトの名無しさん
06/06/07 12:58:41
スキーマ言語としてはRELAXNGの方が優れてるらしいけど、
標準ボキャブラリは大抵DTDかXML Schemaで書かれてるからね。
ネットワーク外部性って奴か。

236:デフォルトの名無しさん
06/06/07 23:33:12
XML Schemaにしておいたほうが無難。
本当に簡単な文法ならDTDのほうがより無難。

237:デフォルトの名無しさん
06/06/07 23:36:34
XML Schemaはとんでもない長さになる

238:デフォルトの名無しさん
06/06/08 01:03:25
そんな隙間だらけのXML Schemaなんて…!!

239:デフォルトの名無しさん
06/06/08 01:04:34
>>238
>>238
>>238


240:デフォルトの名無しさん
06/06/08 20:18:31
使ってもないのに質問なんだけど、XML SchemaやRelaxNGでスキーマ書いたとして、
バリデーションってどんなかんじで実行するんでしょうか。
XMLをパースするときに同時にバリデーションも行われるのか、それとも
パース後のDOMツリーに対してバリデーションをするんでしょうか。
前者ならXMLパーサがスキーマ言語を理解してないといけないのでパーサとバリデータが一体化するので
パーサが肥大化するのかなと思って、あまり現実的じゃないような気がします。
だから後者のほうで実装されているのかなとも思ったけど、それだとDOMパーサでしか使えないことになるし、
どっちなんでしょうか。

241:デフォルトの名無しさん
06/06/08 20:48:49
>>234
なぜSVGを使わないのか

242:デフォルトの名無しさん
06/06/08 21:06:51
後生だから読んでくれ。皆の力が必要なんだ!

朝鮮人を日本に大量移住させる法案、今月中に成立予定
スレリンク(news板)

    簡単にまとめると

北朝鮮への経済制裁等を行なう為の 「北朝鮮人権法案」だが
           ↓
「脱北者を出さないように北朝鮮の人権状況を改善させることが主眼」(与党関係者)とし
経済制裁のみの法案となった。
           ↓
一方、民主党が二月に国会提出した北朝鮮人権侵害救済法案は脱北者を
「難民に準じた扱いをする」ことで日本の定住資格を与える条項を盛り込んだ。
URLリンク(news.goo.ne.jp)

だったのだが 今回、白紙に戻して、自民・民主共同で
法案成立を目指すという事なので どんな中身かは不明

とりあえずは 自民党本部への「脱北者受け入れ反対」のメール、各板にコピペしてくれ。

243:240
06/06/09 22:16:29
うーむ、反応なし。だれもRelaxNG使ってないのかな。

244:デフォルトの名無しさん
06/06/09 22:32:28
DOMが便利すぎるからSAXを習得するのが苦痛だ

245:デフォルトの名無しさん
06/06/10 00:59:37
横着な俺は、DOMもめんどくさいけど…。
XPathとかE4Xじゃないとやってられない。

246:デフォルトの名無しさん
06/06/10 09:47:45
DOMは確かに面倒。

247:デフォルトの名無しさん
06/06/10 10:42:02
>>240

貴族とボヘミアン

248:デフォルトの名無しさん
06/06/10 13:11:21
えっ!?
XPATHってDOMじゃないの??

249:デフォルトの名無しさん
06/06/10 14:14:07
えっ!?
XHTMLってXMLじゃないの??

250:デフォルトの名無しさん
06/06/10 14:17:05
えっ!?
米のとぎ汁って飲み物じゃないの??

251:デフォルトの名無しさん
06/06/10 15:20:30
えっ!?
Apache AntってEclipseじゃないの??

252:デフォルトの名無しさん
06/06/10 15:31:53
えっ!?
Apache ってインディアンじゃないの??


253:デフォルトの名無しさん
06/06/10 17:46:57
えっ!?
おまいらって仕事してないの??

254:デフォルトの名無しさん
06/06/11 11:03:08
えっ!?
土日くらい休ませてくれないの??


255:デフォルトの名無しさん
06/06/11 13:46:02
えっ!?
休みって存在しないんじゃなかったの??


256:デフォルトの名無しさん
06/06/11 23:59:16
えっ!?
マ○コって理論上のものだったんじゃなかったの??

257:デフォルトの名無しさん
06/06/13 01:16:35
まんこはホロコーストですよ、
戦勝国によるプロバカンダです

258:デフォルトの名無しさん
06/06/14 12:20:01
       |
   \  __  /
   _ (m) _ピコーン
      |ミ|
    /  `´  \
     ('A`)
     ノヽノヽ
       くく   

そうだ。 SAXで読んでいって木構造を作ればDOMより速くなるんじゃね?

259:デフォルトの名無しさん
06/06/14 16:57:39
>>258
そうやって木構造を作ってるのがDOMなわけだが。
DOMのライブラリがSAXに依存するのはよくあるよ。

260:デフォルトの名無しさん
06/06/14 17:43:39
('A`)マジレスありがとう

261:デフォルトの名無しさん
06/06/16 03:18:15
XSLT、xpathは使わないとすぐ忘れてしまう。


262:デフォルトの名無しさん
06/06/18 04:47:46
あるノードをグループ化して其々の値を元にカウントする処理は
作れたのですが、その結果をソートするというのは無茶な話なので
しょうか?
<a>
<b>ほげ1</b>
</a>
<a>
<b>ほげ2</b>
</a>
<a>
<b>ほげ2</b>
</a>
結果
 ほげ1 1件
 ほげ2 2件

 ほげ2 2件
 ほげ1 1件
に並び替えたい。。


263:デフォルトの名無しさん
06/06/18 12:44:05
decending

264:デフォルトの名無しさん
06/06/18 12:47:16
>>263
>>262が訊きたいのはそーゆーことではないような気がするんだが。

>>262
ソートのやり方自体はわかるんだよね?

265:262
06/06/18 14:04:42
はい、ソートはfor-eachの後にノードを指定するとありますが、
実際並べたいカラムというのは関数呼び出しをしているカラムなのです。
グループ化して其々をカウントするには他に方法が思いつかなかったのです。

下のような感じで「ここ」がソートできればいいんですが・・

<xsl:for-each selectほげ[not(id = preceding-sibling::ほげ)]">
<xsl:sort select="ここ" order="ascending" />
<xsl:variable name="ここ">
<xsl:call-template name="関数">
<xsl:with-param name="引数">
<xsl:value-of select="値"/>
</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="$ここ"/>
</xsl:for-each>


266:デフォルトの名無しさん
06/06/18 22:23:55
>>265
俺の場合、for-each のブロックを個別の xsl:template として外に出して
その xsl:template を呼び出す xsl:call-template の引数に中間結果を渡す。
イメージとしては同じ元データに対し二重にxsltをかけるようなもの。
ただ、今はどうか知らんが、以前試した時は msxml ぐらいでしかこの技は使えんかった。

267:デフォルトの名無しさん
06/06/19 09:55:40
XML初心者です。

複合型で値の制限は出来ますか?

268:デフォルトの名無しさん
06/06/19 21:21:54
XML初心者です。

わかりません!

269:デフォルトの名無しさん
06/06/19 21:41:53
>>262-266
はいはいワロスワロスwww

<xsl:for-each select="a">
<xsl:sort select="b" order="decending" />
<xsl:if test="not(preceding-sibling::a[b = current()/b])">
<!-- あとはご自由にどうぞ -->
</xsl:if>
</xsl:for-each>


270:デフォルトの名無しさん
06/06/19 22:07:55
スキーマとしてはどれがメジャーなんでしょうか
やっぱりXMLSchema?

271:デフォルトの名無しさん
06/06/19 22:08:28
はいそのとおりです。

272:デフォルトの名無しさん
06/06/19 23:02:10
レスありがとうです。
XMLSchemaが一番難しそうなんだよなぁ・・・
勉強してきます

273:デフォルトの名無しさん
06/06/19 23:27:46
>>269
お前馬鹿だろ?

274:デフォルトの名無しさん
06/06/20 00:04:40
>>273
馬鹿でーす★ 何か問題あるのー?

275:デフォルトの名無しさん
06/06/20 17:26:19
馬鹿ってだけで周囲には有害だからね。自覚できないからこそ馬鹿なんだろうけど

276:デフォルトの名無しさん
06/06/20 20:38:15
馬鹿を語る馬鹿にはなりたくないものだ

277:デフォルトの名無しさん
06/06/20 20:46:11
馬鹿がいるw

278:デフォルトの名無しさん
06/06/20 22:45:07
俺の事馬鹿って言うなー!

279:デフォルトの名無しさん
06/06/21 00:16:45
頭がいいのは俺だけか?

280:デフォルトの名無しさん
06/06/28 01:24:22
「200万円以上の車は●台あります」 と表示させたいのですが
carsの中にpriceが200であるcarがひとつでも入っていたら全てをカウントしてしまうみたいで困っています
どうしたらいいのでしょうか?
<?xml version="1.0" encoding="Shift_JIS" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="URLリンク(www.w3.org)
<xsl:output method="html" encoding="Shift_JIS"/>
   <!--文章-->
<xsl:template match="/">
<html>
<xsl:apply-templates select="cars"/>
</html>
</xsl:template>

<!--  車 -->
   <xsl:template match="cars">
    200万円以上の車は
     <xsl:if test="(car/price) > 200">
      <xsl:value-of select="count(car)"/>
     </xsl:if>
    台あります。
</xsl:template>

281:デフォルトの名無しさん
06/06/28 01:27:04
XMLファイルはこれです。
この場合cars以下にprice200以上がひとつでも含まれていたら
台数が3台とカウントされてしまいます。

<?xml version="1.0" encoding="Shift_JIS" ?>
<!-- 作成日:2005年10月6日 -->
<!DOCTYPE cars SYSTEM "Sample1_DTD.dtd">
<cars>
<car>
<name>乗用車</name>
<price>150</price>
</car>
<car>
<name>トラック</name>
<price>500</price>
</car>
<car>
<name>オープンカー</name>
<price>200</price>
</car>
</cars>

282:デフォルトの名無しさん
06/06/28 01:56:36
>>280-281
確かめてないけど、これでどう?

<!--  車 -->
<xsl:template match="cars">
200万円以上の車は
<xsl:value-of select="count(car[price >= 200])"/>
台あります。
</xsl:template>


283:282
06/06/28 02:08:26
「gt;=」で投稿したんだけど勝手に「>=」になってる。
(↑また置き換わるといけないので全角に)

逆向きのときもあるだろうから念のため・・・

284:デフォルトの名無しさん
06/06/28 04:59:35
&amp;gt;

285:282
06/06/28 09:42:16
>>284
ん?と思ったけど、なるほど。

一応もう一回書き直し。
<!--  車 -->
<xsl:template match="cars">
200万円以上の車は
<xsl:value-of select="count(car[price &gt;= 200])"/>
台あります。
</xsl:template>

#284は&amp;amp;gt;と書いて投稿して&amp;gt;となってるわけか
#ややこしいね

286:280
06/06/28 23:30:04
ありがとうございます。
無事正しく2台と表示させることが出来ました

287:デフォルトの名無しさん
06/06/29 00:56:21
xsl:keyって使います?
行き当たりばったりの酷いソースの修正でもない限り使う場面はないような。。。
ピンポイントで引っ張らなくてもXSLならいくらでも取り出すチャンスがあると思うの。

288:デフォルトの名無しさん
06/06/29 01:39:07
>287
xsl:keyは、XMIファイルのparsingの前処理として、idrefを解決するために使った。


289:デフォルトの名無しさん
06/07/09 15:23:16
<xsl:output method="html" encoding="Shift_JIS"/>
<!--文章-->
<xsl:template match="/">
<html>
<xsl:apply-templates select="cars"/>
</html>
</xsl:template>
<!--  車リスト -->
<xsl:template match="car">
<body>
<xsl:apply-templates select="car"/>
</body>
</xsl:template>
<!-- 車 -->
<xsl:template match="cars">
<div>
<xsl:apply-templates select="name"/>
<xsl:apply-templates select="price"/>
</div>
</xsl:template>
<!-- 品名 -->
<xsl:template match="name">
<xsl:copy-of select="."/>
</xsl:template>
<!-- 価格 -->
<xsl:template match="price">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
上記のxslファイルで「2台目以降のcar要素」を、<xsl:if >を使って
抽出したいのですがどうすればいいのでしょうか?


290:デフォルトの名無しさん
06/07/09 15:40:30
なんかソースがおかしい気がして俺の頭じゃ変換結果が見えないが
position関数を使えばいいよ。

291:デフォルトの名無しさん
06/07/09 19:29:23
たぶんカーズという映画のカース(呪い)なんだろう

292:デフォルトの名無しさん
06/07/09 19:56:36
<xsl:output method="html" encoding="Shift_JIS"/>
<!--文章-->
  <xsl:template match="/">
   <html>
    <xsl:apply-templates select="cars"/>
   </html>
  </xsl:template>
<!--  車リスト -->
  <xsl:template match="cars">
   <body>
    <xsl:apply-templates select="car"/>
   </body>
  </xsl:template>
<!-- 車 -->
  <xsl:template match="car">
   <div>
    <xsl:apply-templates select="name"/>
    <xsl:apply-templates select="price"/>
   </div>
  </xsl:template>
</xsl:stylesheet>

とりあえずこれで全てのcarを表示できますが
挿入するのは
<xsl:if car[position() &gt;= 2]>
であってるんでしょうか?
いろいろな場所で入れてみましたがうまく表示されません

293:デフォルトの名無しさん
06/07/09 20:11:36
>>292
何食わぬ顔してさっきとソースが違うじゃねーかw

<xsl:apply-templates select="car[position() > 1]"/>

294:デフォルトの名無しさん
06/07/14 11:23:56
VB.NET2003でXMLをインデント付きでファイルに出力したいのですがどのようなやり方がありますでしょうか?
XMLはDOMになってます。

295:デフォルトの名無しさん
06/07/14 12:21:16
フォーマットを扱うインタフェースがフォーマットに下克上か。

296:デフォルトの名無しさん
06/07/15 01:44:57
一刀両断

297:デフォルトの名無しさん
06/07/31 23:28:00
hosyu

298:デフォルトの名無しさん
06/08/01 07:12:14
一般的なインデントってのを
なんでもいいから誰か決めてほしい

目が慣れない

299:デフォルトの名無しさん
06/08/06 14:25:06
ShaniXMLParserってどうよ?
URLリンク(journal.mycom.co.jp)

300:デフォルトの名無しさん
06/08/10 21:31:10
どっこいしょっと300げと


301:デフォルトの名無しさん
06/08/29 14:11:23
ちょっとまて、パーサはinvalidなXMLをパースしちゃいけない(MUST NOT)んじゃなかったっけ

302:デフォルトの名無しさん
06/09/02 20:40:20
語弊がある

303:デフォルトの名無しさん
06/09/10 01:31:53
inlineで処理する場合、属性を継承させたいのだが、
同じタグがネストすることに
問題はあるだろうか、パースはできるが。

<A attr1="true">XX<A attr2="true">YY</A>ZZ</A>
XXはattr1がtrue
YYはattr1とattr2がtrue
ZZはattr1がtrue

304:デフォルトの名無しさん
06/09/12 01:07:21
XML覚えたらどんな仕事に就けるんですか?

305:デフォルトの名無しさん
06/09/12 01:28:41
>>304
XMLを使う仕事に就ける可能性が有る

306:デフォルトの名無しさん
06/09/12 01:34:23
>>303
属性の継承自体はそのデータを扱うアプリ次第としか言いようが。
あとは、ループ可能なネスト構造なんて許容しちゃうと、あとで処理するのがめんどうだと思う…

>>304
XMLダケじゃなんにも

307:デフォルトの名無しさん
06/09/12 01:51:05
>>304
RDBMSの世界で例えるとXMLはテーブルにすぎない。
はっきりいってXML*だけ*知ってても糞の役にも立たない。
ちなみにXSLはRDBMSの世界でのSQLに相当する。

308:デフォルトの名無しさん
06/09/12 01:52:32
>>307
> ちなみにXSLはRDBMSの世界でのSQLに相当する。
ま、まじで?!XPointerとかだとおもってたぉ (;^ω^)

309:307
06/09/12 02:02:27
>>308
感覚でテキトーに吹いただけだから
厳密に捉えちゃいや~んw

310:デフォルトの名無しさん
06/09/12 10:52:58
XQueryとか使ってる? Oracleは結構前から、最近DB2、あとさっぱり知らんが
T1とかEsterraだっけ? 使えるようだけど。
それで楽になったこととか、支障ない範囲で具体的に教えてくれると嬉しい。

311:デフォルトの名無しさん
06/09/12 15:11:10
>>307
outputがXMLなXSLTって言ってほしかったなあ。

SELECT文もテーブルを生成するように、
XSLTもXMLを生成するという意味では似ている。

>>310
多分ほとんどの業務系でOracleのXMLとかの機能使われて無い(´・ω・`)

312:デフォルトの名無しさん
06/09/12 17:41:49
SQLはXPathだ!

313:デフォルトの名無しさん
06/09/12 19:10:40
SQLに相当するのはXQueryかXPathだと思うお。


XQuery使ったこと無いけど…

314:デフォルトの名無しさん
06/09/12 21:38:31
JavaでXML操作する方法勉強したいんですが良書はありますか?
オライリーのJava&XML第2版2002年発行なんですがこの内容はもう古いんでしょうか?

315:デフォルトの名無しさん
06/09/13 11:40:10
>>311,313
やっぱそうなんかねえ。ありがとう。

>>314
あんまり最近の本読んでないけど(いかんなあ)、Java と書いて無くても
XML と書いてある本って大体 Java 使ってる場合が多い気がする。
特に DOM 操作あたりとか。たまーに Javascript とかも見た気がするけど。

読んだことありませんし何となく叩かれそうな売れ線の本に見えるけど
URLリンク(www.pro.or.jp)
見ると Java 入門 + XML みたいなこと書かれてますね。

316:デフォルトの名無しさん
06/09/13 20:47:23
>>315
ありがとうございます。XMLの本も見てみます。

その本は第1版持ってるんですがAPIが古くて本のとおりような記憶が・・・

317:デフォルトの名無しさん
06/09/30 23:45:31
XSLTをHTML整形以外に使ってる実例ってある?

318:デフォルトの名無しさん
06/09/30 23:47:59
なんかSNMPの方でXML-SNMPとかいうのがあるらしい

319:デフォルトの名無しさん
06/10/01 00:02:14
ネットワーク監視せんからそのプロトコルが何をするものか知らないけど
いちおう使われてるんだなと思うと嬉しいね。

320:デフォルトの名無しさん
06/10/01 00:14:36
>>317
GRDDLとか

321:デフォルトの名無しさん
06/10/01 01:45:10
>>317
たぶん、規格乱立で収拾のつかなくなったRSS(+ATOM)のバージョンの違いを
吸収するために各種RSSリーダーでXSLTが利用されているハズ。

322:デフォルトの名無しさん
06/10/01 13:45:36
そうでもない

323:デフォルトの名無しさん
06/10/01 17:27:12
>>322
じゃぁどうやってんの?
XSLTでRSSのバージョンの違いを吸収させずに他の方法使うなんてアホとしか思えんのだが。
俺が知らないだけでもっといい方法でもあんのか?
あ、サーバサイドのプログラムだと重いXSLTを使うわけにはいかんかったりするか。
それでもクライアントサイドでやる場合は確実にXSLTだろ~

324:デフォルトの名無しさん
06/10/01 17:57:43
話の流れぶった切るけど
mozilla系列のxul 面白いよね
豪快にrdf使ってプチrdbとかも最高

325:デフォルトの名無しさん
06/10/02 16:42:21
XSLTぐらいで吸収できるのかな?

326:デフォルトの名無しさん
06/10/02 19:30:03
>>325
お前では無理かもしれんが、フツーにできる。
というか、ここで使わないでどこでXSLTを使うんだよってくらいキまる。

327:デフォルトの名無しさん
06/10/02 21:19:23
詰まらん煽りいれる奴の肩もつ気はないが
XSLTの表現力は、その印象ほど貧弱じゃないよ。

328:デフォルトの名無しさん
06/10/03 02:47:17
わざわざXSLTに分離する意義があるかどうかは別だけどね。

329:デフォルトの名無しさん
06/10/03 03:04:42
>>328
日本語でおk

330:325
06/10/03 10:14:43
>>327
いや、俺がXSLT使いまくった経験で言わせてもらってるよ。
ほかのフォーマットとやらには詳しくないんだ。すまない。

>>328
うん。そう思う。
XSLTは存在としては面白いけど、利点はすぐに書き換えられることぐらい…。
使う言語としてはいろいろ面倒すぎるだろう…。

あんまり存在意義がわからない。

331:デフォルトの名無しさん
06/10/03 19:35:51
>>330
>利点はすぐに書き換えられることぐらい…。

ぐらい...って、おまい、それ、チョー重要だぞ。
すぐに書き換えられるってことはそもそも最初バージョンを書き起こすのも楽ってことだし、
デバッグもメンテナンスも楽ってことだぞ。

332:デフォルトの名無しさん
06/10/03 19:37:38
大幅賛成だけど、

つ 諸刃の刃
ソースコードだって直ぐ書き直せるし、interfaceだってプログラマの意思で書き換えることができる
便利だけど怖い

333:デフォルトの名無しさん
06/10/03 23:15:46
流れぶった切ってすみません。
URLリンク(www.xmlmaster.org)
にあるITunesのXMLをHTMLに変換するXSLTに手を加えて
アーティスト名でソートしようと思い、
<xsl:for-each select="plist/dict/dict/dict">
の下に
<xsl:sort select="key[text()='Artist']" data-type="text" order="descending" lang="ja" />
と加えてみたのですが、ソートされません。
ただ漠然とxsl:sort select=の指定(ロケーションパス?)が誤っている気がするのですが、
具体的にどうすれば良いのかがわかりません。
どなたかご教示いただけませんか。

334:デフォルトの名無しさん
06/10/04 15:51:03
string[preceding-sibling::key = 'Artist']

335:333
06/10/04 19:48:54
>334
ありがとうございます。目的は達成できました。
コンテキストノードの前の兄弟ノードでkeyがArtistの
stringを指定している?
答えを頂いてもよく理解できてません。もっと勉強します。

336:デフォルトの名無しさん
06/10/04 20:30:44
とうとうProperty Listが「ITunesのXML」なんて呼ばれる時代がきたのか。

337:デフォルトの名無しさん
06/10/07 21:41:45
ライブラリのマニュアルをRDFとDublinCoreで記述しようと思うんだけど、
どんな構造にしたらいいのかよくわからないからどうか教えてくれないか?

言語はCとC++でヘッダファイルごとに分けようと思っている。

338:デフォルトの名無しさん
06/10/09 11:19:14
質問です。
XML自体には、フラグメント識別子の扱いに関する定義はないと考えて良いのでしょうか?

339:デフォルトの名無しさん
06/10/09 22:16:57
>>338

DTDで定義するが、それだと不便なので、
xml:idが勧告されている。

340:デフォルトの名無しさん
06/10/10 00:38:08
>>339
どうもです。

341:デフォルトの名無しさん
06/10/10 22:07:45
ODFの仕様書邦訳ってない?

342:デフォルトの名無しさん
06/10/11 09:49:51
Javaとかで、XMLの構造を単純なコレクションに吐き出すAPIって無いもんでしょうか?
InputStreamやStringそのままとかDocumentFragmentとかでなしに。

何がしたいかというと、外枠の仕様だけ決めておいて、
中にメタデータをボキャブラリを問わず格納できるようにしたいのですが、
外枠だけを管理するライブラリとしては、中のメタデータには触らずに、
それを処理できるほかのライブラリに処理を渡すといったことができないかと。

343:デフォルトの名無しさん
06/10/11 12:30:43
Digesterは?

344:デフォルトの名無しさん
06/10/11 21:42:50
よさそげですね、使ってみます。

345:デフォルトの名無しさん
06/10/11 23:01:08
Digesterの後継たるBetwixtはいつリリース版になるのかねぇ

346:デフォルトの名無しさん
06/10/17 03:57:45
Digesterのpluginパッケージを使った事ある方っていますか?

347:デフォルトの名無しさん
06/10/19 20:51:32
>>14
LISPってS式だと思ってるの?

348:デフォルトの名無しさん
06/10/30 17:47:27
XSL-FOをつかって
XMLからPDFを作ったりできるんだよね?

Office2007からはXMLを使うみたいだから
XSL-FOと組み合わればPDFつくれるんちゃう?

349:デフォルトの名無しさん
06/10/31 08:35:52
OfficeがXML使うとか一体何度聞いたことか

350:デフォルトの名無しさん
06/10/31 12:31:32
Office2003でもXML形式はサポートしてるぞ。
Office2007ではそれを(確かZIPで)圧縮した形式がデフォルトになるだけ。

351:デフォルトの名無しさん
06/11/01 00:57:56
XMLのスキーマ?は違うものになるんじゃないの?

352:デフォルトの名無しさん
06/11/01 01:56:21
>>351
そうかも。詳しくは知らないけど、確かそのZIPにはドキュメントに埋め込んだ
画像やらがフツーの画像ファイルの形式で保存されててその画像ファイルだけ
そこらの画像編集ソフトで開いて編集したりとかってこともできるようになるらしいね。

353:デフォルトの名無しさん
06/11/01 23:17:52
そういやVistaはファイル形式の一つにパッケージを採用するんだっけ?

354:デフォルトの名無しさん
06/11/07 16:43:11
浅海智晴事務所って消えたんでしょうか。
Relaxer、もう終わりなんかなあ。好きなのに。

355:デフォルトの名無しさん
06/11/08 05:41:50
>>354
Relaxerはどうか知らんが、URLリンク(www.xmlsmartdoc.org)は終わってるようだ。


356:デフォルトの名無しさん
06/11/08 10:53:35
XMLラベリング手法の「Dewey Order」ってどう読むの?
カタカナで全然書いてなくて分からん

357:デフォルトの名無しさん
06/11/11 00:29:44
dewey decimal classification~♪

358:デフォルトの名無しさん
06/11/11 01:04:23
>>354
バグ修正だけど、Relaxer更新されたみたいだな。

359:デフォルトの名無しさん
06/11/12 04:17:39
XMLを勉強しようと思った。

サンプルファイルを開いて意気込んだ。

2,3回開いて、IE、explorer.exeが落ちた。


     ,.――-、
     ヽ / ̄ ̄ ̄`ヽ、        勇者トンファーパーマン惨状
      | |  (・)。(・)|
      | |@_,.--、_,>         俺が着たからにはもう色々と駄目だ
      ヽヽ___ノ          
        /:::::::::::::::::l   /77
       /::::::::::i:i:::::::i,../ / | 
       l:::/::::::::i:i:::、:::/ / |  
       l;;ノ:::::::::::::::l l;.,.,.!  |  
        /::::::::::::::::l/ /  冂 
       /:::::::;へ:::::::l~   |ヌ|
      /:::::/´  ヽ:::l   .|ヌ|  
      .〔:::::l     l:::l   凵
      ヽ;;;>     \;;>

360:デフォルトの名無しさん
06/11/12 20:36:16
XMLの勉強を始めたばかりの初心者なのです.
私が作成したXMLファイルのエラーをチェックするために
コマンドプロンプトから
java dom.Counter (XMLファイル)
という風にやっているのですが、次のようなエラーが出てしまいます。
[Fatal Error] :-1:-1: Premature end of file.
開始タグと閉じタグが一致してないのが原因なのかとソースを何回も
チェックしましたが、そのような記述ミスはありません。
他に原因として考えられること、またはこのエラーの指す意味が
お分かりでしたら教えていただけませんか?

よろしくお願いします。



361:デフォルトの名無しさん
06/11/13 12:20:41
エンコーディングに問題がないか、
XMLの記述に本当に問題がないかを調べる。

パーサによっては utf-8 でも BOM ついてると弾くとか、いろいろだよ。

362:デフォルトの名無しさん
06/11/13 12:34:25
BOMはまじで引っかかるね。
あると怒るやつ、ないと怒るやつ… 狂ってるとしか思えない。

363:デフォルトの名無しさん
06/11/13 14:14:23
BOMが狂ってるのは確か。
そんなに必要だったら必須にすりゃ良いのに
あったりなかったりとか、もう何考えてるのか。

364:デフォルトの名無しさん
06/11/14 01:27:36
UTF-8の文字列はBOMガないのが正しいはず。

365:デフォルトの名無しさん
06/11/14 06:19:58
OfficeがXMLでデータ保存するようになると、
データをCVSで管理できるようになるってのがいいな。

366:デフォルトの名無しさん
06/11/14 06:46:23

<?xml version="1.0" encoding="Shift_JIS" standalone="yes"?>
<hoge>ほげほげ</hoge>

というファイルを、
 .load パス
 .loadxml .xml
 .save パス
すると、

<?xml version="1.0" standalone="yes"?>
<hoge>ほげほげ</hoge>

になってしまいます。encodingが変わってしまう理由と
loadxmlを使っても、encodingが保持される方法について教えてください。
(実際には上記例のように、単純に読み直して保存するだけではありません)

WSHからMSXML2.DOMDocumentを利用しています。

367:デフォルトの名無しさん
06/11/14 08:37:31
MSXMLのxsltプロセッサではJavaによる拡張は可能ですか?

368:デフォルトの名無しさん
06/11/16 01:18:57
>>367
ActiveScriptか.NETを使える。
beansとして作って、ActiveX化すれば可能なんじゃね?
素直には無理。

369:デフォルトの名無しさん
06/11/16 11:56:45
Cなどでいうdefineのようなものはありませんか?
設定ファイルの動作を切り替えたいんだけどコメントアウトの修正だとまんどくさいです。

370:デフォルトの名無しさん
06/11/16 12:37:41
ありますよ。
DTDを解釈するパーザなら使える。


371:デフォルトの名無しさん
06/12/07 22:43:42
XMLSchemaでDTDのENTITYみたいな実体参照を表現するには、どう書けばいいんでしょうか。
DTDのENTITYだけ使おうかとも思ったんですが、うまくいきませんでした。


372:デフォルトの名無しさん
06/12/17 19:42:10
Schema知らないからわかんね。

373:デフォルトの名無しさん
06/12/17 23:11:36
巨大なXMLテキストを、XPATHで高速に検索して引っ張ってくれるオープンソースな
XMLデータベースってありませんか?
Javaは重いのでできれば遠慮したい、データ本体は静的でReadOnly可、事前にインデックス
作成も可、という条件で。

374:デフォルトの名無しさん
06/12/18 22:58:28
別に、最近のJavaは気にするほど重くはないと思うけどな。

375:デフォルトの名無しさん
06/12/18 23:23:24
メモリ大量に食うから仮想メモリのスワップや強制GCが発生して結局重くなる
演算とかの速度は速いと思うんだけどね

376:デフォルトの名無しさん
06/12/19 01:15:00
>>375
仮想メモリのスワップとかJavaに限った話じゃないような・・・

GCもスカベンジならそれほどコスト高くないし。
あとは、フルGCをなるべく発生させないようにチューニングとか。

すれ違いスマソ

377:デフォルトの名無しさん
06/12/19 01:39:12
巨大なXMLならXMLDB使うしかないんじゃない?
オプソでもxindiceだっけ?いくつかあるんじゃない?

378:デフォルトの名無しさん
06/12/19 18:35:13
>>376
JavaVMのメモリ使用量がでかいから他よりスワップがおきやすい。

379:デフォルトの名無しさん
06/12/19 22:14:16
まぁ、それは理屈だが。

380:デフォルトの名無しさん
06/12/19 22:25:05
URLリンク(www.excite.co.jp)

381:デフォルトの名無しさん
06/12/22 23:45:16
XMLから脱線しまくりな気もするが
JavaDBは速い奴は無駄に速いぞ。H2はMySQLより速いというくらいだ。

382:デフォルトの名無しさん
06/12/23 00:27:55
ほぅ…それは凄い。
出来ればソースが欲しいけど、自分で探しにいく。

383:デフォルトの名無しさん
06/12/24 06:48:10
XHTMLをXSLで変換したいのですが、次のような文書からtitleを抜き出すことが
できないでいます。
この場合、XSLをどのように書けばいいのでしょうか?
XSLTプロセッサはJava6SEに標準でついているものを使用しています。
□htmlファイル(これを修正することはできない)
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"URLリンク(www.w3.org)
<html xmlns="URLリンク(www.w3.org)
<head>
<title>ほげ</title>
</head>
<body>
</body>
</html>
□xslファイル(これがうまくいかない)
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="2.0" xmlns:xsl="URLリンク(www.w3.org)
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="/">
<result>
<title>
<xsl:apply-templates select="html/head"/>
</data>
</result>
</xsl:template>
<xsl:template match="html/head">
<xsl:copy-of select="title"/>
</xsl:template>
</xsl:stylesheet>


384:383
06/12/24 06:51:36
すいません、XSLの修正です。
□xslファイル(これがうまくいかない)
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="2.0" xmlns:xsl="URLリンク(www.w3.org)
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="/">
<result>
<title>
<xsl:apply-templates select="html/head"/>
</title>
</result>
</xsl:template>
<xsl:template match="html/head">
<xsl:copy-of select="title"/>
</xsl:template>
</xsl:stylesheet>


385:デフォルトの名無しさん
07/01/03 23:47:14
URLリンク(d.hatena.ne.jp)

こういうの見るとXSLTがいかにキチガイじみているかわかる。
スゲーとは思うけど。

386:デフォルトの名無しさん
07/01/04 01:36:43
>>385
別にその程度じゃそんなにキチガイじみてるとは思わんが。
てか、XSLTはもっといろんなことができる。
データ入力まわりの問題をうまく解消しないまま途中でほったらかしにしちゃったけど
XSLTでタスク管理のツールを作ったこととかあるぞ。ちゃんとタスクの親子関係に
基づいてツリー表示もできるヤツ。同じデータをいろんな組み合わせ or いろんな見せ方を
したい場合に XSLT はとっても重宝する。

387:デフォルトの名無しさん
07/01/04 08:39:30
なんか普通にコード書いたほうが早そうだな・・・

388:デフォルトの名無しさん
07/01/09 11:54:30
もっとシンプルなテンプレート言語使って、
複数テンプレート用意する方を俺は選ぶ。
あるいは XML 丸投げして、
クライアント側で勝手に描画してください形式にする。

XLST の方が素晴らしいケースってどんな場合?

389:デフォルトの名無しさん
07/01/13 02:46:50
XMLはD言語みたいなネストできるコメントが欲しい

390:デフォルトの名無しさん
07/01/13 05:28:39
>>389
同感
あとCDATAセクションもどうにかしてほしかった

391:デフォルトの名無しさん
07/01/13 08:27:32
>>388
>>385の人も言ってるように形式的な変換なら、XSLTで一発の方がいいかな。
間にいろいろ挟みたくない場合は少なくないし。
他の言語でも変換は出来ると言われたら確かにそうだけど

392:デフォルトの名無しさん
07/01/13 12:30:47
>>388
>もっとシンプルなテンプレート言語
ちなみに今何を使ってる?


393:デフォルトの名無しさん
07/01/15 16:23:27
>>392
velocity 使ってます(java)。

利点は構文がシンプルなのと、
変数は #var の形式だから < > で囲う系と比べて
ブラウザでの確認がしやすい点。

難点はホワイトスペースが意味を持つ場合、
改行その他が表示されないように工夫する必要があって
かえって読みにくくなる点。

テンプレート言語ではないけど e4x も重宝してます。

394:デフォルトの名無しさん
07/01/15 22:42:16
>>391
ちょっと本筋から外れるが、「形式的定義」の意味を間違えてないか?
中の人はこういう感じの意味で言ってると思う。
URLリンク(www.chimaira.org)

395:デフォルトの名無しさん
07/01/24 20:10:15
SAXにおいてスキーマはどのような位置づけになるのでしょうか?
DOMの場合は解析を終えた状態ですが、SAXはインタプリタですよね?

396:デフォルトの名無しさん
07/01/24 22:49:13
XSLTを使って
<A>
foo
 <B>
  <C> bar </C>
  <D> baz </D>
 </B>
 qux
 <B>
  <C> hoge </C>
  <D> fuga </D>
 </B>
 piyo
</A>
から<A>foo bar qux hoge piyo</A>
を抜き出したいんですが、どう書けばいいのでしょうか?

397:デフォルトの名無しさん
07/01/24 22:59:46
>>393
ども。velocityはちょっといじって投げちゃってた。

398:デフォルトの名無しさん
07/01/24 23:26:24
>396
xsl:value-of はテキストノードだけ残るんでは。


399:396
07/01/25 00:52:59
>>398
<xsl:template match="/">
 <xsl:apply-templates select="A"/>
</xsl:template>

<xsl:template match="A">
 <xsl:copy>
  <xsl:value-of select="."/>
 </xsl:copy>
</xsl:template>

という感じで書いてみたんですが、Aの子ノードの内容を全部取ってくるので、
必要ないbazやfugaが入ってしまいます。

400:デフォルトの名無しさん
07/01/25 01:56:54
質問があります。 Xalan-C 1.10 を使っています。
入力として以下のような XML があります。
<?xml version="1.0" ?>
<article>
  <title>プログラム技術板について</title>
  ここの板の住人はとても親切です。
  <photo file="hiroyuki.png" />
  こんな人にも親切に質問に答えてくれます。きっと。
</article>

これを整形して

<html>
  <head><title>プログラム技術板について</title></head>
  <body>ここの板の住人はとても親切です。<img src="hiroyuki.png" />こんな人にも親切に質問に答えてくれます。きっと。</body>
</html>

こういう出力を得たいのですが上手くいきません。
具体的には間に別のノードが挟まったテキストノードの扱い方がわかりません。

~続きます~


401:400
07/01/25 01:58:41
~続きです~ 以下のように書いてみたのですが、テキストと区切りが別々になってしまいます。
<?xml version="1.0" encoding="Shift_JIS" ?><xsl:stylesheet xmlns:xsl="URLリンク(www.w3.org) version="1.0">
  <xsl:output method="xml" encoding="utf-8" /><xsl:template match="/"><xsl:apply-templates /></xsl:template>
  <xsl:template match="article">
    <xsl:element name="html">
      <xsl:element name="head">
        <xsl:element name="title">
          <xsl:value-of select="title" />
        </xsl:element>
      </xsl:element>
      <xsl:element name="body">
        <xsl:for-each select="../*">
          <xsl:apply-templates select="text()"/>
          <xsl:apply-templates select="photo"/>
        </xsl:for-each>
      </xsl:element>
    </xsl:element>
  </xsl:template>
  <xsl:template match="text()">
    <xsl:value-of select="."/>
  </xsl:template>
  <xsl:template match="photo">
    <xsl:element name="img">
      <xsl:attribute name="src">
        <xsl:value-of select="@file" />
      </xsl:attribute>
    </xsl:element>
  </xsl:template>
</xsl:stylesheet> ~続きます~

402:400
07/01/25 01:59:28
~続きです~

text() と photo を別々に apply している部分を * にすると欲しいテキストが処理されず、代わりに title の中身のテキストを拾ってきてしまうようです。

このような場合、どう記述すればよいでしょうか?
宜しくお願い致します。


403:デフォルトの名無しさん
07/01/25 13:11:15
>>395
なんか認識を間違えてる気がする。DOMだろうとSAXだろうとStAXだろうとパース手法とデータの扱い方の違いの問題だろうな。

>SAXにおいてスキーマはどのような位置づけになるのでしょうか?
多分欲しい回答は自分で文書型をパースしてそれにしたがってバリデートするって言って欲しいんだろう。

>DOMの場合は解析を終えた状態ですが、
それは内部で既にパース済みだからだよ。既にパース結果をDOMインターフェイスから扱える形になってる。

>SAXはインタプリタですよね?
そこまで高度なものじゃなくてポピュラーなXML APIは全て字句解析機。
トークナイズしてトークンをハンドラにディスパッチする事によってデータを扱う。
SAXの場合はハンドるした生のデータをプログラマが扱うがDOMの場合はDOMインターフェイスから扱えるように加工されたデータを扱う。
SAXの場合はトークナイズしてディスパッチした時点でデータを破棄するがDOMは
"後で"扱うために保持するのでデータの持ち方をどうするかという観点からも加工されている。
データの持ち方までDOMは関与しないからどう持つかは実装次第で必ずツリーかは別だけどな。

多分>>395はPLインタプリタやコンパイラみたいな物を想像しててSAXがインタプリタと言ったんだろうな。
そこまで複雑なものじゃないよ。その中の字句解析機に当たる。
その次の構文解析と意味解析辺りがバリデータと言えるか。
XMLパーサはフレームワークとかじゃなくてただのレイヤーだ。

何やっててスキーマは~って思ったんだ?何をしたいのか聞いた方が早いと思う。
自力でパーサ実装した事ないだろ?


404:デフォルトの名無しさん
07/01/26 01:47:23
>>400
元のXMLの構造を見直したら?

<article>
  <title>プログラム技術板について</title>
  <body>ここの板の住人はとても親切です。</body>
  <photo file="hiroyuki.png">こんな人にも親切に質問に答えてくれます。きっと。</photo>
</article>

とかさぁ。

405:デフォルトの名無しさん
07/01/29 11:39:14
複数ある項目に対してCGIを呼び出すボタンをつけるというのを
XML+XSLTでやろうと思っているのですが
サンプルページなどを見ると、
表示するだけで項目の編集などをやっていません

項目ごとにCGIなり編集なりを行いたい場合
どのようにするのが一般的でしょうか?


406:デフォルトの名無しさん
07/01/30 20:59:04
>>400
>  <xsl:for-each select="../*">
>    <xsl:apply-templates select="text()"/>
>    <xsl:apply-templates select="photo"/>
>  </xsl:for-each>

もう見てないかもしれないけど、一応。
上の4行を<xsl:apply-templates select="text()|photo"/>の1行だけに書き換えればいい。
もし余計なスペースと改行が邪魔なら
>  <xsl:value-of select="."/>
を<xsl:value-of select="normalize_space(.)"/>にでもするといいよ。

>>405
<form>と<input>でボタンをつければいいだけでは?

407:デフォルトの名無しさん
07/02/02 14:53:40
XFormsでRDFを生成したいんですけど、
namespaceのところでおかしくなるんです。
仕様で無理なのでしょうか?
ちなみにFirefoxの拡張で試しています。

408:デフォルトの名無しさん
07/02/03 14:03:34
>>407
何も知らない俺からすれば

鉛筆でノートに図形を描きたいんですけど、
指先のところでおかしくなるんです。
仕様で無理なのでしょうか?
ちなみに100¥ショップので試しています。

みたいにおもえた

409:デフォルトの名無しさん
07/02/03 14:18:48
>>407
>>408は煽ってるわけじゃないぞ。
もう少し問題の切り分けをしてみ?

410:407
07/02/04 05:17:55
すみませんでした。状況説明を補足します。
XFormsでRDFを生成したいのですが、インスタンスに名前空間があると
例)
"RDF/Description/creator"というXPathで参照すると入力欄は出ず、
"rdf:RDF/rdf:Description/dc:creator"というXPathで参照すると入力欄は出るけれども
エラー: XForms Error (15): Could not bind control to instance data と怒られてしまいます。
XFormsで生成したXMLには、インスタンスで指定した名前空間接頭辞の設定が消えてしまうのですが、
そこが問題なのでしょうか?
解決策をご教授いただければ幸いです。

411:デフォルトの名無しさん
07/02/05 15:47:18
>>406
XSLTを切り替えたいのでASP.NETを使って
FormとInputでやってみたのですが
xsl:elementとxsl:attributeでinputタグを書くと
終了タグが閉じないinputタグが生成されたり
ASP.NET用のformタグ内で宣言すると
Validateエラーが出たりとなかなか上手くいきません。

asp.netなんて使うなって話ではあるんですが・・・

412:デフォルトの名無しさん
07/02/21 11:12:47
Microsoft MSXML6SP1 (WindowsVistaに同梱)
URLリンク(www.microsoft.com)

Microsoft XML Notepad 2007
URLリンク(www.microsoft.com)

413:今日の日記
07/03/15 04:20:42
「XMLマスター教科書 ベーシックV2」という参考書で、
参考書の間違いに気づいた俺に感動した。
参考書だだ暗記癖が抜けてきたよい傾向と受け止めよう。

414:デフォルトの名無しさん
07/03/15 09:59:38
xmlとhtmlの本て嘘ばっかだぞ。仕様書嫁って言いたくなる。

教本じゃなくて紙媒体の参考書が欲しいだけの人間にはこういうのは困る。


415:デフォルトの名無しさん
07/03/15 20:25:39
古いアプリ(改訂)で売られてることが多いから、
正誤表(パッチ)で上書きしてから使うのが大切ってこったね。

416:デフォルトの名無しさん
07/03/15 20:26:18
()の中と外があべこべになっちゃった。恥ず。

417:デフォルトの名無しさん
07/03/17 19:58:15
XML Schemaは結構強力だな
うちもC、Java、VB(VBA)と手広い環境でやってるんで
XMLの導入を勧めたいところだ。

418:デフォルトの名無しさん
07/03/17 21:41:10
スキーマ書くよさげなツールある?
ヒューマンフレンドリーな方法で編集したいんだが

419:デフォルトの名無しさん
07/03/17 22:06:38
>>417
あんまり高度な書き方すると読む側が大変だから程ほどにね。

420:デフォルトの名無しさん
07/03/18 01:22:59
>>417
WXSは強力すぎてそこら辺の要件には一致しないし、仕様がでか過ぎて実装も困難なんだけどねw

421:デフォルトの名無しさん
07/03/18 01:34:48
>>418
Altova XMLSpyがおすすめ。

>>420
実装するのは俺じゃないしナー。
世の中の対応もだいぶ進んできた。Eclipse WTPの
XMLエディタはおすすめ。ばりばり補完してくれる。

422:デフォルトの名無しさん
07/03/18 05:59:36
>>421
スキーマバリデータ書いてみ?死ねるw
文法が可変の言語インタプリタ書いてるみたい。


DTD→RELEXNG→WXSの順に仕様がでかくなるんでDTDじゃ物足らず、WXSじゃでか過ぎるって場合が良くある。

RELEXNGは両端の架け橋として良く出来てる。

423:デフォルトの名無しさん
07/03/18 10:17:00
Schemaじゃでかすぎるって印象は無いな
complexTypeひとつにrestriction施したsimpleTypeを項目数分書くとかで十分だ

424:デフォルトの名無しさん
07/03/18 14:29:28
>>422
バリデータとか書く側ならともかく、フツーに使う側からしてみりゃ
別に仕様が大きすぎて困ることはないけどね。

425:デフォルトの名無しさん
07/03/18 19:58:26
既存のバリデータの実装に不具合が多かったりするんじゃないかとか。

URLリンク(www.horobi.com)
> このあたりは XML Schema ワーキンググループのメンバーが開発した
> XSV でさえ、部分的にしかサポートしていないんだ。
みたいな。

まあ、安全そうな機能だけ使っておけばよいのだろうけれど。

426:デフォルトの名無しさん
07/03/19 02:44:40
XSLTでtext要素のトリム(前後の空白文字の削除)
とかするにはどうするの

427:デフォルトの名無しさん
07/03/19 14:20:13
途中の連続した空白が1個になっていいなら normalize-space

428:デフォルトの名無しさん
07/03/19 21:00:00
ありがとー

429:デフォルトの名無しさん
07/03/21 09:09:33
ちょっとvipperが尋ねるお?

今、XMLをメタモデル化してそのモデルに自由にアクセス出来るライブラリ作ってんだけど総称符号化について日本語で読める文書知らない?論文でも良いんだけど・・・。

もう一つ、XML::Twingのようなハイブリッドパーサの実装他に知らない?

一応仕様だけは完成したけど煮詰めたくて、けどやってる事がメタ過ぎて参考になる資料がなくて困ってる。

当方オライリーの入門XML2版だけある。

#簡単に言うとXMLに対してランダムアクセスと順次・逆順次アクセスが自由に可能になる。
但しアクセスのみに焦点を置いてるので生成機能はない。

実装してる人間からすればプログラミング単位がメタ過ぎて発狂する・・・


430:デフォルトの名無しさん
07/04/10 22:35:44


431:デフォルトの名無しさん
07/04/10 22:41:17
XMLで質問なのですが、よろしくお願致します。
<?xml version="1.0"encoding="shift_JIS"standalone="yes"?>
<books>
<book isbn = "ISBN4-7980-0137-6">
<name>今日から使えるAPS3.0サンプル集</name>
<author>Yoshinori.Yamada</author>
<category>ASP</category>
<price>2800</price>
<publish>昭和システム</publish>
<pDate>2003-08-05</pDate>
</book>
<book isbn = "ISBN4-7980-0095-7">
<name>今日から使えるXMLサンプル集</name>
<author>Nami Kakeya</author>
<category>XML</category>
<price>2800</price>
<publish>昭和システム</publish>
<pDate>2003-12-04</pDate>
</book>
<books/>
を実行すると、

432:デフォルトの名無しさん
07/04/10 22:42:59
スペース、タブ、および改行または疑問符 (?) が必要です。リソース 'file:///C:/Documents and Settings/aaa/XML/books.xml' の実行エラーです。ライン 1、位置 20

<?xml version="1.0"encoding="shift_JIS"standalone="yes"?>
-------------------^

とエラーが出てしまいます、何処がどう違うのか、
わからないのでご指摘お願い致します

433:デフォルトの名無しさん
07/04/10 22:44:47
"1.0"の後。encoding=の前。

434:デフォルトの名無しさん
07/04/10 22:46:53
スペース、タブ、および改行または疑問符 (?) が必要です。

4択問題だなw

435:デフォルトの名無しさん
07/04/10 23:04:27
2択だろ。
white space or ?

436:431
07/04/10 23:10:10
ごめんなさい、どうしても変わりません・・・・
訂正箇所を記述して頂けると幸いです。
直しても変わらないです

437:デフォルトの名無しさん
07/04/10 23:11:26
直してないから変わらないんです

438:431
07/04/10 23:22:04
<?xml version="1.0" encoding="shift_JIS"standalone="yes"?>
これでも、結果は同じです。


439:デフォルトの名無しさん
07/04/10 23:49:26
>>438
standaloneの前も

440:431
07/04/11 00:06:27
できました!!!ありがとうございました!!!

441:デフォルトの名無しさん
07/04/11 22:17:10
XML レ0・ク0・h・yg0M0~0[0・
XSL ケ0ソ0、0・ キ0・ネ0・O(uW0_0 XML eQ娚o0h・yg0M0~0[0・0 ィ0・・・劃kW0f0O0`0U0D00 [ーe] ワ0ソ0・・ッ0・テ0ッ0Y0・K00~0_0o0契g0・・W0f0O0`0U0D00


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

ニ0ュ0ケ0ネ0n0・ケ[k0!qケRj0㌃W[L0級d0K0・~0W0_00 ・ス0・ケ0 'file:///C:/Documents and Settings/Yousuke1/ヌ0ケ0ッ0ネ0テ0ラ0/XML/text.xml' n0歇L葵0・・g0Y00 ・、0・ 40MOn 8


name="

こんなエラーを起こしてしまうのですが、何処の箇所が違っているのでしょうか?


442:441
07/04/11 22:20:30
IEを使っています。

443:デフォルトの名無しさん
07/04/11 23:32:10
>>441
[表示(V)] - [エンコード(D)]

444:デフォルトの名無しさん
07/04/26 01:28:29
ソースXMLの一部だけ変更する、というのはXSLT向きでしょうか。
他は変えずに/x:abc/y:def@hoge の値だけを書き換えるとか、/x:abc/y:def/hoge にappendChildするとか。

出来ないことはないのかも知れませんが、上記の様なのにXSLTを使うのは適切でしょうか。

matchが、明示より*が強くて /x:abc/y:def だけ引っ掛けてあとはcopy-ofというのができず、悩んでいます。

priorityを明示すれば良いのかも知れませんが、それはまっとうな使い方でしょうか。
(*の方が強いのは理由があるのではないか、それに反するのではないか、と気にしています)

445:デフォルトの名無しさん
07/04/26 03:48:16
XMLで
DOMプログラミングの段階まで行きましたが
そこで、JavaSprictを使い、XMLの内容を
ダイアログを表示させるという事なのですが
ダイアログが、どうしても表示されなく
普通にHTML形式で普通に出力されてしまいます。
自分のソースに誤りがあるのかと思い
サンプルでやっても同じです。
因みにIEでXPのサービスパック2です。
ご助言、宜しくお願い致します。


446:デフォルトの名無しさん
07/04/26 08:56:47
拡張子がtxtとか。適当ですまん。

447:デフォルトの名無しさん
07/04/26 11:38:31
>>444
priorityは値が大きい方が優先だぞ。逆だ。
適切かどうかはほかの奴に任せる

448:445
07/04/26 18:48:03
やはり解決しません

449:デフォルトの名無しさん
07/04/26 18:53:26
>>448
あんたが何をして何ができないのかがわからんよ。

alert("XMLの内容"); じゃだめなの?

450:445
07/04/26 19:08:08
JavaSprictを使いダイアログの中にXMLの内容を出力さしたいのですが
それができません…サンプルからやってもです

451:デフォルトの名無しさん
07/04/26 19:10:56
Q. できません
A. 頭が悪いからです

としか答えようがないんだが

452:デフォルトの名無しさん
07/04/26 21:16:18
自分のやりたい事をだらだらと書くだけで実際に何をやってどうなったのか具体的な事が書かれてないからなぁ。

>Q. できません
>A. 頭が悪いからです

今のところ模範回答だよな・・・。

それにサンプルって何よ?
そもそも、ブラウザ実装のjavascriptでxml扱う場合はxmlの話じゃなくてブラウザのjavascriptのお話じゃないか?

板違いではなくて?
どうせ何処でも同じ事言われるんだが。


453:デフォルトの名無しさん
07/04/26 23:26:31
>444
そーゆー、XMLの構造を認識しなければいけないけど、やってること自体は大したこと無い、という領域こそ、XSLT でさくっと済ますべきところだと思う。

>447 も書いてるけど特定が厳しいルールほど優先度が高いから

<xsl:template match="@*|node()">
 <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
  </xsl:copy>
</xsl:template>
<xsl:template match="/x:abc/y:def/@hoge">
  <xsl:attribute name="hoge">foo</xsl:attribute><!-- やりたいことに置き換える-->
</xsl:template>

で、いいんじゃねーの?

454:デフォルトの名無しさん
07/04/26 23:29:43
XML-FOってどこまで対応してるんだろうか。
PDFは行けるみたいだけどWinHelpとかは厳しい?

455:デフォルトの名無しさん
07/04/27 00:22:29
XSL-FOは中間フォーマットそのものの仕様。変換への対応をしなけらばならないのはアプリケーション側。

XSL-FO自体は印刷物用途に耐えられるほどの仕様。PDF位にしか変換できないのはアプリケーション側の実装の都合によるもの。

よってその質問は的を射てない。

456:デフォルトの名無しさん
07/04/27 00:27:59
つまり実装するには無駄な仕様が多いってことだな。

457:デフォルトの名無しさん
07/04/27 01:56:01
>>451->>452
サンプルとは、この本のです
10日でおぼえるXML入門教室 第2版 (単行本)
山田 祥寛 (著)

>>ブラウザ実装のjavascriptでxml扱う場合はxmlの話じゃなくてブラウザのjavascriptのお話じゃないか?
たぶん、そうだと思います・・・・


458:デフォルトの名無しさん
07/04/27 02:08:40
>>ブラウザ実装のjavascriptでxml扱う場合はxmlの話じゃなくてブラウザのjavascriptのお話じゃないか?
もし、これだとしたら、どうすれば宜しいでしょうか?

459:デフォルトの名無しさん
07/04/27 02:11:24
>>458
その行の下に書いてあるじゃん。

460:デフォルトの名無しさん
07/05/04 02:14:56
質問です。

↓のRelaxNG文書のrefを展開した形はどのようになるのでしょうか?


<?xml version="1.0" ?>

<grammar
xmlns="URLリンク(relaxng.org)
datatypeLibrary="URLリンク(www.w3.org)

<start>
<ref name="hoge"/>
</start>

<define name="hoge">
<element name="hoge">
<choice>
<ref name="foo"/>
<ref name="hoge"/>
</choice>
</element>
</define>

<define name="foo">
<element name="foo">
<text/>
</element>
</define>
</grammar>


461:デフォルトの名無しさん
07/05/04 09:14:01
再帰的な構造になる

462:460
07/05/04 10:28:15
refを展開して、elementだけで書くことができますよね?

463:デフォルトの名無しさん
07/05/04 12:42:38
理論上は書ける。無限の長さになるが。

464:デフォルトの名無しさん
07/05/07 19:50:38
しろんぼが規格作るとどうしてなんでもぐちゃぐちゃ奇奇怪怪になるの?

465:デフォルトの名無しさん
07/05/07 21:55:05
くろんぼの規格よりはましじゃ

466:デフォルトの名無しさん
07/05/10 21:22:13
保守点検

467:デフォルトの名無しさん
07/05/11 14:55:34
多分初歩的な質問だけど、いい感じの答えが見つからんのでき尋ねさせてもらうよ。

サーバにXMLファイルを置いて、chmod 600にした場合、同じサーバにおいてあるプログラムは基本的にXMLの読みができるよな。
んでもブラウザのジャヴァスクからアクセスしようとすると、クライアント側で全ての処理が行われるからXMLにアクセスできなくなっちゃう。
今んとこXMLHTTP使ってデータ取得してるんだけど、できることならXMLのデータをユーザ以外が読めないようにしたいわけなんだわ。
ジャヴァあたりのサーブレットが標準ぽいけど、それやると使えるサーバが少し限られてるからできるだけ避けたいんだよね。
誰かこれやる方法しってる人いない?

468:デフォルトの名無しさん
07/05/11 15:34:25
スレの趣旨と違うだろ・・

469:デフォルトの名無しさん
07/05/14 02:36:26
XML(XLS)テーブル表示を作っています。
alldata.xmlでテーブルを表示し、そのリンクがクリックされると、onedata.xmlを表示するという単純なものです。
alldata.xmlはDTDが定義され(alldata.dtd)、その中でENTITYとして、onedata.xmlを持っています。
データを増やすときは、onedata.xml、twodata.xml・・・のようにして対応するENTITYを作ってやれば、
リンク先のページができると同時に、自動的ににalldata.xmlテーブル表示が拡張される、という仕組みを考えています。

実際に作り始め、alldata.xmlの表示はできたのですが、
リンク先のonedata.xmlを作成し(その中でonedata.dtdも定義)、allldata.xmlを表示しようとすると、
「DOCTYPE 宣言は複数行えません」と出てきてしまいます。
onedata.xmlからDTDを削除すれば、alldata.xmlは表示されるのですが、今度はonedata.xmlの表示が真っ白・・・。

この場合、どうやればalldata.xmlとonedata.xmlを両立できますか?
(特に複雑なデータ構造ではないと思っていますので、XML使い始めて早々にこんなところで躓くとは・・・。)


470:デフォルトの名無しさん
07/05/16 16:21:19
javaで入力されたxmlにxsdを使用して検証を行おうとしています。

xsdは2種類あり(a.xsd, b.xsd)、a.xsdからb.xsdをincludeしています。
SchemaFactory#newSchema(new Source[]{a.xsdのソース, b.xsdのソース});
でSchemaを取得し、Schema#newValidator()でValidatorを取得しています。
取得できたValidatorで入力されたxmlの検証を行うと以下の例外が発生します。
org.xml.sax.SAXParseException: src-resolve: Cannot resolve the name 'b.xsdで宣言されている要素名' to a(n) 'element declaration' component.

newSchema(new Source[]{b.xsd, a.xsd})でa.xsdとb.xsdの順番を入れ替えると今度は
org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'xmlのルート要素名'.

newSchema(a.xsdのみ)とすると
org.xml.sax.SAXParseException: src-resolve: Cannot resolve the name 'b.xsdで宣言されている要素名' to a(n) 'element declaration' component.

xsdが複数になってしまった場合の検証方法を教えていただけないでしょうか。


471:デフォルトの名無しさん
07/05/19 16:45:56
XMLとXSLでページを作っています。
XSLでは、さらに他のXMLのデータをdatafldで表示しています。

おそらく、内部ではXML→XSL→他XMLの順に読み込まれていると思いますが、
一旦XSLが表示された後、データバインドするときにリフレッシュが走ってしまいます。

画面をリフレッシュすることなくデータバインドさせたいのですが、何か方法はありますでしょうか?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch