【XML】xmlns, XSLT, RelaxNG, JAXP, etc.【総合】at TECH
【XML】xmlns, XSLT, RelaxNG, JAXP, etc.【総合】 - 暇つぶし2ch263:デフォルトの名無しさん
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が表示された後、データバインドするときにリフレッシュが走ってしまいます。

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

472:471
07/05/19 18:52:54
自己解決した。
画面をひとつの巨大なテーブルで作っていて、そのテーブルの最後にデータバインドしていたのがいけなかった。
データバインドをそのテーブルの外に出したらあっさりと解決。


473:デフォルトの名無しさん
07/05/20 00:41:04
みんなXMLで難しい事やってるなぁ・・・、まじでついていけないよ。

ところで、UMLとXMIとコード生成の話なんだけど、XMIってクラスの雛形みたいな
ものや継承関係・属性なんかは網羅できているけど、逆にシーケンス図やアクティビティ図
みたいな動的な図に関しては規定が無いようなんだけど。

業界標準みたいなもの無いんですかね、誰か知ってたら教えてください。

474:デフォルトの名無しさん
07/05/20 15:53:20
Windows XP Home EditionでIISを使い
サーバーサイドでXMLプログラミングを行いたいのですが
調べたところPrpfessionalにアップデートしなとできないとの
事でしたが、Windows XP Home Editionではできないのでしょうか?

475:デフォルトの名無しさん
07/05/21 04:06:53
>>474
Home Edition じゃ IIS 使えないんだっけ?
Windows コンポーネントの追加と削除で IIS がなければそうかも。

476:デフォルトの名無しさん
07/05/21 11:14:13
XPHomeにアプリケーションサーバ入れてだれが使うんだよ?
IISのクライアント版は制限つきでXPpro,鯖2kだな。

てかわざわざ、IISなんて使うって事は結局ASPってことでしょ、スレチじゃね?
鯖立てたいだけならlinuxでhttpd走らせるよろし。
もし、その程度ができんなら鯖には手を出すな。

477:474
07/05/21 16:10:35
ないので、できないみたいですね

入門書ではASPを使う事になっていました

478:デフォルトの名無しさん
07/06/01 01:41:27
↓のやり方を真似て、データ構造を分割したんだが、
URLリンク(www.atmarkit.co.jp)

<xsl:for-each select="document(books/book/@href)/book">がFireFoxで動かネェ。
関数の引数を↓のようにシングルクォートで囲めばFireFoxではOKだが、今度はIEがダメだァ・・・
<xsl:for-each select="document('books/book/@href')/book">



479:デフォルトの名無しさん
07/06/04 23:17:51
そもそもFirefoxって外部のXMLって読み込めないんじゃないか?

480:デフォルトの名無しさん
07/06/05 00:56:30
XSLTにCSSを適用したんだが、font-familyだけ効かないのはなぜ?
サイズも色も変更できるのに・・・。

481:デフォルトの名無しさん
07/06/08 15:35:29
TCP/IP 上の通信プロトコルで、階層構造をもつテキストデータをやりとりしたいのだが、
この目的のために XML よりもよい選択肢はあるかな?

482:デフォルトの名無しさん
07/06/08 18:11:59
S式

483:デフォルトの名無しさん
07/06/08 18:13:56
【ヤパーリ】XMLをS式に置換えていくスレ【LISP最強】
スレリンク(tech板)

484:デフォルトの名無しさん
07/06/10 07:23:33
>>481
その階層構造が属性付き文章の様な陳述文章ならxmlベースの直列化形式で
良いと思うがそうじゃなきゃそれ以外でなんでも良い。

つーか、総称符合化が理解できんならxml使い方間違えるに10000ペソ賭けるぜ
ruby圏でxml批判してるやつらとかさ。
SGMLの時におなじこと聞いたぜ。


485:デフォルトの名無しさん
07/06/10 09:59:29
総称符合化って何だ?
ググっても一件も引っかからないぜ

486:デフォルトの名無しさん
07/06/10 11:38:36
汎用符号化?

487:デフォルトの名無しさん
07/06/10 22:57:30
【IT】サイト上の財務諸表、専用言語の使用を[07/06/10]
スレリンク(bizplus板)

XMLがこんなに普及するとはなぁ

488:デフォルトの名無しさん
07/06/11 16:28:01
普及すると面白いかも
あ、義務なのか
ウホッ

489:デフォルトの名無しさん
07/06/16 14:59:50
XML文書から必要な部分をHTML化したいと思いまして苦戦しております。
XSLTを書いて、ブラウザ上でXMLを表示させることは可能ですが、
これがXMLからのHTML化ということなのでしょうか?

ソースを見てたらXML文書が全部見れてしまいます。
ソースも必要なところだけ表示させてみたいのですが・・・。

490:デフォルトの名無しさん
07/06/16 15:00:14
あげ

491:デフォルトの名無しさん
07/06/16 15:01:45
>>489
XSLTでXMLからXHTMLに変換するんだろうが。

492:デフォルトの名無しさん
07/06/16 16:04:51
XMLソースを見せたくないなら
サーバで(X)HTML化するスクリプトでも動かせ

493:デフォルトの名無しさん
07/06/16 19:22:02
サーバに変換後のHTMLだけUPすれば万事解決。

494:デフォルトの名無しさん
07/06/16 22:42:22
むしろ>>493の方が望ましい。
現在XSLTのクライアントサイド駆動での動かし方としては
RSSのXHTML表示ぐらいなもんだ。

495:489
07/06/17 22:03:57
>>491-494
ご回答ありがとうございました。

ローカルでXSLTファイルにXML文書を
D&DすればHTML出力(生成)できるものなのでしょうか?

496:デフォルトの名無しさん
07/06/18 23:19:55
(#^ω^)ピキピキ

497:デフォルトの名無しさん
07/06/19 00:45:22
>>495
なんかもう質問がしょーもなさすぎるので細かいところは勝手にしらべろ。
結論だけ教えてやろう。 できる。

498:489
07/06/19 11:28:26
>>497
出来ることが分かっただけでもうれしいです。
ありがとうございました。

499:デフォルトの名無しさん
07/06/19 17:17:29
>>497
たしかにできるっちゃ出来るけどw
スタイルシートとソース文章をトランスフォーマに渡すスクリプト書かなきゃ。

>>498 まあ、がんばってここに来ないようにしろ。

500:デフォルトの名無しさん
07/06/19 22:58:03
スクリプト書くの面倒ならApache Antのstyleタスクで終わらせてもOK

501:デフォルトの名無しさん
07/06/20 00:40:25
msxsl

502:デフォルトの名無しさん
07/06/20 02:00:15
MSのxml周りの実装・・・

503:デフォルトの名無しさん
07/06/20 10:12:03
高速な XML DOM パーサには何がある?Xerces でいいと思う?

504:デフォルトの名無しさん
07/06/20 11:44:48
使ってる言語は何よ?

505:デフォルトの名無しさん
07/06/20 11:50:09
日本語

506:デフォルトの名無しさん
07/06/20 12:59:44
C++ です。

507:デフォルトの名無しさん
07/06/20 13:30:55
C++ならどれ使っても一緒だと思うぞw
実装にexpat使ってるライブラリが早いとかその程度の違いでしかないと思う。

508:デフォルトの名無しさん
07/06/20 14:13:37
そうですか。ありがとう。

509:デフォルトの名無しさん
07/06/20 16:21:07
Xerces-C++ を使うと、MSXML と名前が衝突するね。DOMDocument とか。
わざわざ xerces:: を付けるのも面倒だし、using namespace xerces しても解決しないし、
何かいい方法はありませんですか?

510:デフォルトの名無しさん
07/06/20 17:53:11
それくらい付ければいいじゃん。
javaで限定名がぶつかる時、完全修飾名で書くとC++の比じゃないぞ。
それにxml関係ない。

511:デフォルトの名無しさん
07/06/20 20:45:57
まあそのための名前空間だし
ところで、MSXMLも#importで読み込めば名前空間MSXML2に入ったと思うが

512:デフォルトの名無しさん
07/06/21 00:00:34
javascriptで作成したxmlファイルに対してencodingを指定したいんだけど
どうやってやるの?
Javaでのやり方が分かるんだけど・・・

513:デフォルトの名無しさん
07/06/21 01:28:34
javascriptは入出力の制御は出来ん。
cgiに渡してそっちでcharset見てエンコードするしかない。

514:デフォルトの名無しさん
07/06/21 12:36:36
method=“xml”を”html”にして、<books>および<book>のテンプレートを次の出力が得られるように変更せよmatch="/", match="books", match="book",
<HTML><HEAD></HEAD><BODY>
<UL>
<LI>本一冊を選びました</LI>
<LI>本一冊を選びました</LI>
<LI>本一冊を選びました</LI>
</UL>
</BODY></HTML>
上記に出力するには下記を用いて修正するみたいです
<?xml version="1.0" encoding="shift_JIS" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="URLリンク(www.w3.org)
<xsl:output method="xml" encoding="shift_JIS"/>
<!-- 文書 -->
<xsl:template match="/">
<root>
<xsl:apply-templates select="book"/>
</root>
</xsl:template>
<!-- 書物リスト -->
<xsl:template match="book">
<book>
書物リストを処理しました。
<xsl:apply-templates select="book"/>
</book>
</xsl:template>
<!-- 書物 -->
<xsl:template match="book">
<book>書物を一冊処理しました。</book>
</xsl:template>
</xsl:stylesheet>
どう修正すれば良いのでしょうか。

515:デフォルトの名無しさん
07/06/21 14:10:32
そういやXMLの宿題スレがないよね。
かなり専門的な世界だから別れてても良いけど需要ないだろうね。

516:デフォルトの名無しさん
07/06/21 15:03:17
宿題一つ見ても「普通にスクリプト書いた方が早くないか?」感が漂う。

517:デフォルトの名無しさん
07/06/21 15:12:33
まあしかしこの程度のことを聞かなきゃできないようじゃ
一から勉強しなおした方がいいような

518:デフォルトの名無しさん
07/06/21 15:38:52
windows環境にはろくなスクリプトエンジンがなくてだね・・・。
WSH?何を言ってるんだいチミは?

519:デフォルトの名無しさん
07/06/21 16:46:28
         ∧_∧   ┌──────
       ◯( ´∀` )◯ < 僕は、PowerShellちゃん!
        \    /  └──────
       _/ __ \_
      (_/   \_)
           lll

520:デフォルトの名無しさん
07/06/21 17:22:20
PowerShell、RCとれたのか。やっぱWindows PowerToys シリーズ?

つか、MSは実装が信用できないw
特にMSXMLとかTrident・・・.netつかってる連中はよくあんな糞実装使ってられるよ。
tasman結構まともなのに。

521:デフォルトの名無しさん
07/06/21 20:52:02
.NETは前者二つに比べて比較的マシだがな

522:512
07/06/21 23:00:19
>513
まじですか?
困ったなー。

523:デフォルトの名無しさん
07/06/21 23:26:29
>>521
やたら変な独自拡張多くない?

>>521
つーか常識、クライアントサイドが勝手にディスク読み書きしたら危ないだろ?

524:デフォルトの名無しさん
07/06/23 12:43:14
独自拡張が多いと糞実装なのか……?

525:デフォルトの名無しさん
07/06/23 14:13:28
読み込んだXMLからルートの要素名のみを取得したい場合って
Domでルート要素.getElementNameより
Saxで1回目のstartElementで取得するほうがいいよね?

526:デフォルトの名無しさん
07/06/23 15:50:30
いいか悪いかはしらんが、それのほうが処理量少ないことは明らか

527:デフォルトの名無しさん
07/06/23 16:04:17
始めまして、初心者です。
どうしても解らないので教えてもらいたいです。

XMLファイル内容を、XSLを使って表示することは出来ました。
それなのにXML内にある改行文字のところが改行されていません。
どうしたら改行を表示できるのでしょうか?

528:デフォルトの名無しさん
07/06/23 17:38:12
>>525
何の効果を期待してるか知らんがメモリの消費量が少ない、か演算量が少ない、
ってんならストーリーム(pull)型も良い。

DOMは結果を保持する必要がある場合、
pushは最終的には文書のすべてについて処理する必要がある場合。
pullはアプリケーション側で処理タイミングを制御したい場合。
xpathはランダムアクセスしたい場合。
JDOMはpullとxpathの性質を併せ持つと言った感じ。

こんな感じで使い分ければいいんじゃないかい?
すべての要求を同時に満たすのは難しいだろうね。

#俺は自前のAPI持ってるから可能だけど。


>>527
空白の扱いはアプリケーション次第。確実にやりたいならまず変換先に空白を保持して
任意の空白の扱いを定義可能なスタイルシートを埋め込む。
意味が分からんなら仕様書読み直すかHTMLで吐け。


529:527
07/06/23 17:57:32
>>528
すみません、良くわからないのでソースをあげます。
したいことは<br/>の場所で改行をすることです。
お願いします。

diary2000.xml
======================================================
<全体>
<年月>2007年6月24日</年月>
<日記>今日は図書館に行った。<br/>本を2冊借りた</日記>
</全体>
======================================================

template.xsl
======================================================
<xsl:template match="全体">
<table border="3">
<tr>
<td><xsl:value-of select="年月" /></td>
<td><xsl:value-of select="日記" /></td>
</tr>
</table>
</xsl:template>
======================================================

530:527
07/06/23 19:31:07
なんどもすみません。
URLリンク(oshiete1.goo.ne.jp)を参考に。

diary2000.xml
<日記>今日は図書館に行った。<BR/>本を2冊借りた</日記>

template.xsl
<td><xsl:value-of select="日記" disable-output-escaping="yes"/></td>

としましたが・・・、<br/>と表示されます・・・。
なにが違うのでしょう・・・。

531:527
07/06/23 19:42:18
あ・・・、書き間違ってる・・・。
530はなしです。

diary2000.xml
<日記>今日は図書館に行った。<br />本を2冊借りた</日記>

template.xsl
<td><xsl:value-of select="日記" disable-output-escaping="yes"/></td>

が正しいです。

532:527
07/06/23 19:44:54
あぁ・・・、そゆことか・・・
&lt;BR/&gt;は勝手に、<br/>に変換されるのですね・・・。

<日記>今日は図書館に行った&lt;BR/&gt;本を2冊借りた</日記>

が正しいです。

533:デフォルトの名無しさん
07/06/23 21:06:54
>>528 じゃないけど、<xsl:value-of select="日記" /> で拾えるのは
``今日は図書館に行った。'' と ``本を2冊借りた'' を連結した文字列。
もっといい別解があるだろうけどとりあえず:

<xsl:stylesheet
xmlns:xsl="URLリンク(www.w3.org)
version="1.0"
>
<xsl:output method="html" encoding="UTF-8" />

<xsl:template match="全体">
<table border="3">
<tr><xsl:apply-templates /></tr>
</table>
</xsl:template>

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

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

<xsl:template match="br">
<br />
</xsl:template>

</xsl:stylesheet>

遠回りでも一度ちゃんとXSLT勉強したほうがいいかもしれない。
ハマリどころが結構多いから、下手すると時間めちゃくちゃ食うよ。

534:デフォルトの名無しさん
07/06/23 23:59:41
Cでなんとなくlibxmlを使ってプログラムを書いているのですが、
2つのXMLを「接ぎ木」したい場合にどうしたらいいのかよくわかりません。

B-B' と A-C-D みたいな構造のXMLがあったときに前者を後者に接ぎ木して
|-B'' |-B

A-C-D
|-B-B'
|-B''

みたいな構造のXMLを生成したいのです。あ、単に接ぎ木の操作をどうしたいいか
ということなんですが。

535:527
07/06/24 03:04:42
>>533さん、お返事ありがとうございます。
あげたソースは短く解りやすくした例のものでした。
本物は表の連結などをしていて、形も固定のものになっています。

なのであげたものから、外れないようにしたいのです。
そうするのは難しいのでしょうか?

それと参考になるサイトがあれば教えてもらいたいです。
よろしく、おねがいします。

536:デフォルトの名無しさん
07/06/27 22:55:57
XML Webサービスで何が凄いのか良く分かりません。

537:デフォルトの名無しさん
07/06/27 23:03:11
マジレスして良いのか?

変なふうに流行ってるだけだからそんなageるほどの事でもないな。
XMLは直列化形式として採用されてるだけで、直接技術的に関係はない。
そもそも、その技術がすでに枯れきっててなんの目新しいものもない。

Ajaxに限った話じゃない。

538:デフォルトの名無しさん
07/06/27 23:10:00
ただ、決まったライブラリを使えば楽にネットワーク越しにやりとりできるというだけで、
ネットワーク越しに色々処理できるのが時代の進歩を感じさせる、すごいねえ、

みたいな感じ。

539:デフォルトの名無しさん
07/06/29 00:38:39
そうなんだけど、「じゃあ、Webサーバ無しでやってくれ」とか
無茶言う上司がいるのはお約束。

540:デフォルトの名無しさん
07/06/29 01:05:11
無理に決まってんだろwプギャー

といって勇者として語り次がれてみるとか。

541:デフォルトの名無しさん
07/06/29 01:55:43
echoサーバでやるよ

542:デフォルトの名無しさん
07/06/30 17:34:12
止まってるついでにネタ投下するけどXMLエディタは何使ってる?
シェアは格が違うのでシェア以外で・・・。

543:デフォルトの名無しさん
07/06/30 17:38:03
URLリンク(www.excite.co.jp)
以下文章を上記翻訳サイトにて中→日にせよ

スゲиシギゝ,ザァ,ユЮ.
θイ,ゎモモモモマいデ.
びデた,ゝС,さーモモモモデゝねг

544:デフォルトの名無しさん
07/07/17 10:30:59
検索しても見つからない・・ここでいいのか分からないが、質問させておくれ

<emp>
 <name></name>
 <salary></salary>
 <age></age>
<emp>

※<age>要素はあったりなかったりする

↑こんな感じのがつらなってるテーブルから、
<age>要素のない<emp>だけを取り出したいんだが、どう書けばいいのか分からないorz

//employees[!age]  //employees[age=null]  //employees/!age ・・・orz

545:デフォルトの名無しさん
07/07/17 10:43:44
ごめん。出直してくる
//employees[not(age)]

546:デフォルトの名無しさん
07/07/20 11:11:38
XPathインジェクションってありますか?
あるとすれば、サニタイズはどういうロジックでやればよいでしょうか?


547:デフォルトの名無しさん
07/07/20 15:54:09
それはXPathエンジンかアプリの実装の問題だろ。
ていうかググればいくらでも出てくるわけだが?

インジェクション対策なんてどれも同じ、外から入力される場合は不適切な文字は受け付けないorエスケープする。

548:デフォルトの名無しさん
07/07/20 23:45:44
URLリンク(www.ibm.com)

549:デフォルトの名無しさん
07/07/21 00:13:33
>>547
不適切な文字は受け付けないと書くよりも、
適切な文字だけを受け付けると書くようにしたほうがいいと思う。

そのほうがホワイトリスト方式を連想しやすいはず。

550:デフォルトの名無しさん
07/07/21 16:46:42
普通は不適切な文字のほうが圧倒的に少ないだろ。

551:デフォルトの名無しさん
07/07/22 00:48:22
だからどうした?

552:デフォルトの名無しさん
07/07/23 10:19:19
併用が望ましい。

553:デフォルトの名無しさん
07/07/27 10:18:45
下記のXMLファイルから、XPATHを使用して「inst_gif1」を取得したくて下記を実行したのですが、
「inst_gif1」と「inst_gif2」の両方が取れてしまいます。
正しいXPATHを教えていただけないでしょうか?

XPATH = /sqlMap[select = 'SELECT']/select/@id

<?xml version="1.0" encoding="Shift_JIS" ?>
<sqlMap namespace="xxx">
<select id="inst_gif1" >SELECT</select>
<select id="inst_gif2" >UPDATE</select>
</sqlMap>


554:デフォルトの名無しさん
07/07/27 10:22:27
/sqlMap/select[text() = 'SELECT']/@id

555:デフォルトの名無しさん
07/07/27 10:36:25
>>554
うおおおおお。迅速な回答ありがとうございます。

556:デフォルトの名無しさん
07/07/28 11:04:25
sqlMap要素をフィルタリングしてもどうしようもない。

557:デフォルトの名無しさん
07/07/28 20:38:36
DBが文字のバイト単位で決められているから、データ交換でXMLを使用する場合、文字データをバイト数単位で制限したいんだけど、xml schemaでそういう制約はできないですよね?

558:名無しさん@そうだ選挙に行こう
07/07/29 01:26:03
レイヤが違うと思う、と仕様を読まずに言ってみる

559:デフォルトの名無しさん
07/07/30 01:07:34
文字数で制約か、hexBinary,base64Binaryに変換しておいてバイト数で制約。

560:デフォルトの名無しさん
07/07/30 07:37:29
unicodeをそのままバイト単位で制限するとコードポインタの途中でブッタ切るw

561:デフォルトの名無しさん
07/07/30 10:30:33
っ UTF-32

562:デフォルトの名無しさん
07/07/30 21:33:19
文字数単位でしていしないでバイト単位で指定するDBなんて、今時存在するのか?

563:デフォルトの名無しさん
07/07/30 23:12:42
えーっと、どんな資料を見てそう言っているの?

564:デフォルトの名無しさん
07/07/31 22:07:06
557だけど。
最近は文字数指定がでふぉなの?
postgresql,UTF8でつかったときは文字数?だったけど。
ちなみに今はOracleです。

565:デフォルトの名無しさん
07/08/01 01:15:59
DB の文字コードが Unicode 系エンコーディングなら大抵文字数。
それ以外なら、バイト数が多いと思う。
>>564
Oracle を Unicode で使ったこと無いんだが、
多分、文字コードの設定次第だろ。


566:デフォルトの名無しさん
07/08/02 18:00:09
VB6でn階層のXML書込みをしたいのですけど 参考になるコードなど
りませんでしょうか?お願いいたします。再帰する関数になると思います。
(MSXML使用)

567:デフォルトの名無しさん
07/08/02 20:50:34
>>566
再帰関数書いたことありますか?
もう少し詳しく自分の状況は書けますか?
少なくとも↓のXMLをMSXMLで書き出すぐらいのコーディングはできますか?
<root attribute="value"><child-elem/></root>

568:デフォルトの名無しさん
07/08/03 02:04:53
MSXMLてDOMの書き出しサポートしてないの?

569:デフォルトの名無しさん
07/08/05 20:09:20
最低限、DOMを文字列型に直すのは用意されてたと思うよ。

570:デフォルトの名無しさん
07/08/06 11:01:45
>>566
読込は再帰処理でしていますが、サンプルコードを改造したものです
書込みはスキーマが決まっているXMLならできますが、さすがに
状況によって階層がまちまちな書き出し処理は再帰関数を使って標準化しないと
無理そうですので。

571:デフォルトの名無しさん
07/08/06 16:37:35
再帰すらろくにできないならプッシュ型パーサに
XMLストリーム渡してハンドリングしながら順次書き出すのが一番楽だね。

書き出しならDOMかE4X、読み出しならプル型かXPathってところか。
XPathは構文特殊だがハイブリッド型の実装って少ないからなぁ。

特殊な事するならパーサ部分から自前でした方が早いね。

572:デフォルトの名無しさん
07/08/06 17:16:00
>>571
回答ありがとうございます。ただその回答内容を理解できる知識があれば
こんな質問はしていないと思います。学生じゃないのでXMLについて勉強して
なんてちんたらやってられないのが現実です。勉強してもだれもお金
くれないですからね。読込はネットを見てたら誰かが書いてたのでそれを
参考にして作りました。書込み処理もあったような気がしたんですが、
チェックしとけばよかったですね、後悔先に立たず。とりあえず先人が
やってることを真似、使いまわしすればできるのであって、
極端に言うとプログラム作るのに、コンパイラから作成するのは時間が
もったいないですから。VBが2万円ならそっちの方が効率がよい。
XML読込処理も社長が普通にTEXT読込してやろうとしてたので
(MSXMLを知らなかったみたい)
そりゃあんさん無理でっせということでぼくが作りましたが。

573:デフォルトの名無しさん
07/08/06 18:38:39
仕事でPGする奴ってのはこういう考え方が普通なんだな。オレの周りもそうだし。
理解しなきゃいけないんだろうな…。

574:デフォルトの名無しさん
07/08/06 19:30:52
仕事だったらこんな愚痴だけの長文書いてる暇はないだろ。

575:デフォルトの名無しさん
07/08/06 19:48:34
>>572
> XML読込処理も社長が普通にTEXT読込してやろうとしてたので
ということは、
1. ファイルとして保存されたXML文書がまず存在する
2. それをMSXMLで読み込んでDOMに変換する
3. 何らかの操作をDOMに加える
4. そのDOMをまたXML文書としてファイルに書き出す
こういう処理がしたいということ?だったら
URLリンク(msdn2.microsoft.com)

>>573
ピンキリ。

576:デフォルトの名無しさん
07/08/06 21:58:05
>>573
ふつうじゃないよ。みんな考え方違うよ。
そもそも>>572の会社自体が相当な問題だと思う。

577:デフォルトの名無しさん
07/08/07 03:28:46
下請け辺りの土方なんじゃない?

XMLの読み書きだけなら巨大になりがちなXML APIリファレンス理解する
間にXMLの概念勉強する暇があると思うんだが。
XML API理解してもXML理解してないと使えないよ?
多分DOMで改行しようしてハマルのがオチだと思う。

XML理解する気もAPIも使えんなら初めから他の形式使った方が時間の無駄がないよ。

多分元々、学術的・技術的な問題を解決するための
SGML/XMLなのにただのデータフォーマットだと思って使おうとする奴がこういう羽目になるんだろうな。

578:デフォルトの名無しさん
07/08/07 04:57:45
XML は、ただのデータフォーマットだろ

579:デフォルトの名無しさん
07/08/07 07:42:46
SGML/XMLはdocuments

580:sage
07/08/07 14:02:23
一応できたみたい 参考にならなかったけど ありがとう

581:デフォルトの名無しさん
07/08/07 14:09:38
そもそも再帰も出来ん奴が参考になるスレじゃないだろ。

582:sage
07/08/08 09:45:27
いや、だから、できたいうとるでしょ。プログラミングって要は知識よりも
CREATIVEな思考能力の方が重要ってことかな。まあIT用語を多発されて
さぱりわかんねーってのもNGかもしんねーけどね。


583:デフォルトの名無しさん
07/08/08 20:35:35
いんや。
職業プログラマにクリエイティビティはそんなにいらないと思うよ。
知識の方がよっぽど大事。知識のないクリエイティビティなんて害悪そのもの。
人それを『思いつき』という。

584:デフォルトの名無しさん
07/08/08 20:44:29
つうかxmlまわりの専門用語をIT用語だと思ってる奴はマスコミに汚染されすぎ。
そもそも出てきてんのはAPIの固有名詞と一般的なxml parse 方法だろ。

2chに書き込む暇があったら仕様書と本読め。

585:デフォルトの名無しさん
07/08/08 21:07:59
俺の会社は馬鹿が多いが、流石にこれほどのはいないな。

586:sage
07/08/09 10:05:48
いや、これには根拠がある。うちの会社に関○大学出身の偏差値ある教科では
100を超えたという人材が来た。すげーやつが来たと喜んだが・・・・。
いざ仕事をやらせるとまず最初の一言目が「ちゃんとした仕様書がないのでできません」
「あ、そうf(^^;じゃあきちんとかくからちょとまってね」で渡す。
「あのー、ここの部分の表題はこうじゃなくてこういう感じでかいてもらえませんか」
ばかかおめ~そんなんどうでもええじゃねぇかさっさと作業しやがれorz
そんな調子だからついに社長も怒らせてくびになった。
知識は豊富でも手取り足取りの作業指示を与えなければ仕事ができない、
つまり自分で「これから何をすればいいのか」「どうすればいいのか」
を考えない、というか考えることができない。常に受身的で能動的でない。
これで知識の方が大事と言えるか?
わしの知ってる強力なプログラマーって高卒が多い。勉強ができる、つまり
教えられたことはできるが、それ以外は???な人間は結局仕事なんて
できない。必要なのは応用力と適応力、想像力だ。

587:デフォルトの名無しさん
07/08/09 10:40:07
>>586
一人だけをサンプルにして言われてもなあ。
あなたの会社にまともな人材が来るとでも思ってる?

というよりスレ違い。あなたを見てると品性も大切だと気づかされるよ。

588:デフォルトの名無しさん
07/08/09 11:19:36
xqueryが使えるフリーソフトって知ってますか?
XpathはXPathToolというのがvectorにあって、結構使い勝手がよかったです。

589:デフォルトの名無しさん
07/08/09 12:05:54
>>587 品性「も」大切ということで、応用力と適応力、想像力が大事
という点は納得ですか?

590:デフォルトの名無しさん
07/08/09 18:29:51
白馬に乗った王子様を待っててもしょうがないよ。

591:デフォルトの名無しさん
07/08/09 19:39:28
>xqueryが使えるフリーソフト
ってなに?XQueryはソフトウェアアプリケーションじゃないだろ。
何したいの?

592:デフォルトの名無しさん
07/08/09 20:48:29
ホワイトナイト

593:デフォルトの名無しさん
07/08/10 09:41:00
>>591
すいません。
xml用のアプリケーション(xml用でなくてもいいのですが)で、要素の検索とかしたいときに
xpath、xqueryを使いたいなと・・・
Xindiceはxpathしか対応していないらしいですね・・・

594:デフォルトの名無しさん
07/08/10 12:06:41
>xml用のアプリケーション というかXQueryがxmlアプリケーションなんだが。

>要素の検索とかしたいときにxpath、xqueryを使いたい
ここはそういうソフトを作りたい人がXML関連技術やAPIの話をするところだから、
出来合いの品の話(エンドユーザー向けのソフト話)ならスレチじゃない?
俺だったらそれくらい自分で作れって言うが。

595:デフォルトの名無しさん
07/08/10 22:36:27
この板としては「ないなら作れ」でいいだろ。

596:デフォルトの名無しさん
07/08/11 17:58:01
XQuery2.0を全部実装って相当大変じゃね?

597:デフォルトの名無しさん
07/08/11 18:00:55
>>586みたいな、サンプル拾って何となく改造したらできたよ、わーい、ってタイプは、
トラブルシュートが一切出来なくて終盤苦しむんだよなー。


周りを巻き込んで。

598:デフォルトの名無しさん
07/08/11 21:19:54
XSLTなのですが、属性名を動的に記述する方法ってないのでしょうか。
例えば以下のような処理を期待しています。(当然エラーになりますが)

<xsl:for-each select="attr">
    <xsl:attribute name="@name">
        <xsl:value-of select="@value"/>
    </xsl:attribute>
</xsl:for-each>

599:デフォルトの名無しさん
07/08/11 21:26:36
{@name}
じゃダメだっけ。

600:デフォルトの名無しさん
07/08/11 21:37:21
>>599
ありがとう、できました!

参考書に載ってないから諦めてたんですが、
実は属性値 XPath でぐぐると出てきますね・・・
ネットよりショボイ参考書買っちゃったorz

601:デフォルトの名無しさん
07/08/12 02:31:24
技評の完全解説がオヌヌメ

602:デフォルトの名無しさん
07/08/12 09:41:42
>>596
相当大変だからすでに実装されたライブラリを探す。
XQueryの実装ライブラリ探してますって話ならここだが、
XQueryが使えるソフト探してますは板すら違うかも。

XQueryってW3CのRI出てなかったけ?

603:デフォルトの名無しさん
07/08/12 22:45:11
Rはないような気がしないでもない。
URLリンク(www.w3.org)

604:デフォルトの名無しさん
07/08/13 01:10:03
XML Schemaは「それら以外の属性」のような定義って出来ますか?
例えば type や uuid などの属性名にはルールを設けるけど、
それ以外の属性は好きに書いていいよ。っという書き方です。

605:604
07/08/13 02:10:12
自己解決。xs:anyAttributeってのがありました。

606:デフォルトの名無しさん
07/08/14 16:45:49
XMLの規格ってなんで規格ごとに記法に統一性がないんだろう。
schemaのrestriction用に変数や関数が使いたい。
xslやxpathの資産が何も引き継げないとは。。。

607:デフォルトの名無しさん
07/08/14 18:16:58
>>606
> schemaのrestriction用に変数や関数が使いたい

ただでさえ特盛りのXML Schemaにそれつけたら
完璧なバリデータを書くのが不可能に近くなるぞ。

608:デフォルトの名無しさん
07/08/14 19:19:12
統一性がないんじゃなくてSGMLで統一して何でも出来るようにして
大失敗したから目的ごとに別の仕様を作るようにしただけ。

以下、>>607。WXSなんてW3CのRIですら仕様のフルサポート出来てないけどアレが一番再現度高いんだから。
あれがほしいこれがほしい言ってたらSGMLの二の舞。

609:デフォルトの名無しさん
07/08/16 11:47:34
むしろWXSはもっとシンプルにすべきだった。

610:デフォルトの名無しさん
07/08/16 12:01:00
SGMLは複雑、XMLはシンプルなんてよく言われるけど
いまじゃXMLのほうがはるかに複雑だよなぁ

611:デフォルトの名無しさん
07/08/16 15:25:56
XMLでキモく感じるのは属性と要素を区別してしまったことだ。
それでもまだXML自体はマシじゃなかろうか。
関連技術のカオスっぷりには閉口するが。

612:デフォルトの名無しさん
07/08/16 21:07:35
schemaって属性版のchoiceってないの?

613:デフォルトの名無しさん
07/08/16 22:49:26
>>612
enumeration?

614:デフォルトの名無しさん
07/08/16 23:38:23
それは単純型の値じゃね?

615:デフォルトの名無しさん
07/08/17 13:13:22
javaで↓を取ると
<a>
1111
2222
3333
</a>

値が
1111
2222
3333
になります。

↓で取れないですかね
1111
2222
3333


616:デフォルトの名無しさん
07/08/17 13:15:18
javaで↓を取ると
<a>
  1111
  2222
  3333
</a>

値が
1111
  2222
  3333
になります。

↓で取れないですかね
  1111
  2222
  3333

617:デフォルトの名無しさん
07/08/17 15:58:55
>>611
属性と要素の交換を可能にしたSGMLは見事に実装が困難になった訳だが・・・。

618:デフォルトの名無しさん
07/08/17 16:10:30
>>616
> 1111
>   2222
>   3333
> になります。

ならないだろ。
\n
  1111\n
  2222\n
  3333\n
になるはず。




619:デフォルトの名無しさん
07/08/17 17:35:45

APIはなんですか?

そんなにマイナーなものですか?

JAXPもJDOM有名なのがいろいろあるのに

APIはなんですか?

結局実装次第でry・・・・


空白の扱いをxml側で指定がなければ事実上、空白をどう扱うかは実装依存だろ。


620:デフォルトの名無しさん
07/08/17 23:56:01
>>617
>>611 は XML 仕様策定時に「属性などイラン。すべて要素にしる!」話が
結局そこまで踏み切れなかったことを言ってると思われ。

621:デフォルトの名無しさん
07/08/18 02:14:41
xsltだけどxsl:variableにDOMを詰める方法ってあります?
もしくは文字列をDOMに変換する方法でもいいんですが。

622:デフォルトの名無しさん
07/08/20 12:12:46
>>620
フォローサンクス。そゆことっす。なんで残したんだろ。

623:デフォルトの名無しさん
07/08/20 19:06:11
HTMLにあったからじゃない?

624:デフォルトの名無しさん
07/08/20 20:24:51
データ記述言語として考えれば属性なぞ要らんけど
テキストマークアップ言語として考えれば属性がないと不便極まりない

625:デフォルトの名無しさん
07/08/20 23:13:27
だからSGML/XMLはデータ記述言語じゃないとry
アトリビュート付き文書を扱うためのフォーマットだ。

アップルはそこら辺分かってない。

626:デフォルトの名無しさん
07/08/21 02:59:46
マークアップにはXMLよりSGMLの方がはるかに便利
せめてXMLでもNETが使えたらなぁ

627:デフォルトの名無しさん
07/08/21 12:26:52
現実問題、データ記述に使われてしまってるのがやるせない。
テストデータを YAML で書いてたら
なんだコレ、XML にしろと言われて一悶着。
権力に負けた。

628:デフォルトの名無しさん
07/08/21 18:51:28
目先のベンチマークより、「より標準である」ことを選ぶのは普通でしょ

629:デフォルトの名無しさん
07/08/21 20:16:24
分野が全くの別もんなんだから適材適所だろ。
そこを理解してない奴が居るとxmlかyamlで揉める。

630:デフォルトの名無しさん
07/08/21 20:44:12
そこでJSONですよ

631:デフォルトの名無しさん
07/08/21 22:42:00
つ RSD

RSDはデータ記述フォーマットだが文章をヒアドキュメントとして埋め込めるからデータと文章を同列に扱いたいとき良いよ。

文書主体ならやっぱSGMLかXMLしかフォーマットがないけど。独自以外。

632:デフォルトの名無しさん
07/08/22 11:02:11
>>619
commonsのconfigurationとjxpathです。
両方とも、最初の文字までがクリアされてしまいます。

633:デフォルトの名無しさん
07/08/22 21:44:17
十分マイナーじゃねーかw
普通、API側にも空白制御を指定できるメソッドかなんかあるはずだけど、
高レベルAPIだと無いかな。リファレンス嫁としか言いようがない。

634:デフォルトの名無しさん
07/08/23 23:31:44
URLリンク(www.infoteria.com)

635:デフォルトの名無しさん
07/08/24 00:26:11
>>634
それ固有の実装の話な。
ここでそんな話しても意味ないのは分かるかな?

636:デフォルトの名無しさん
07/08/25 04:59:17
>>631
>RSDはデータ記述フォーマットだが文章をヒアドキュメントとして埋め込めるからデータと文章を同列に扱いたいとき良いよ。

RSDってこれかな?
URLリンク(dev.zeraweb.com)
でもヒアドキュメントで埋め込んだ文章には<strong>や<em>といった要素を入れられるわけではないよね?
単なるテキストに過ぎない。
これだったらJSONやYAMLでよくね?特にYAMLならブロックテキストがあるし。



637:デフォルトの名無しさん
07/09/01 14:19:28
漫画で学ぶXML
URLリンク(www.geocities.jp)
URLリンク(www.geocities.jp)

638:デフォルトの名無しさん
07/09/01 14:44:02
>>635
DOM3以前は実装依存だぞ。という事を示したのだが、それくらい読み取れないのか? 頭ワルッ

639:デフォルトの名無しさん
07/09/19 02:14:31
テキストデータをXMLの中に入れる場合、可読性を考えてCDATAにする場合が多いと思いますが、
]]> が入るかもしれない場合、可読性は捨てて全部エスケープするしかないですか?


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