【XML】xmlns, XSLT, ..
[2ch|▼Menu]
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なんて使うなって話ではあるんですが・・・


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

4879日前に更新/254 KB
担当:undef