【XML】xmlns, XSLT, ..
[2ch|▼Menu]
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 [fーe] ワ0ソ0・・ッ0・テ0ッ0Y0・K00~0_0o0契g0・・vW0f0O0`0U0D00


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

ニ0ュ0ケ0ネ0n0・ケ[k0!qケRj0eW[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>
どう修正すれば良いのでしょうか。


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

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