【XML】xmlns, XSLT, RelaxNG, JAXP, etc.【総合】at TECH
【XML】xmlns, XSLT, RelaxNG, JAXP, etc.【総合】 - 暇つぶし2ch449:デフォルトの名無しさん
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にする場合が多いと思いますが、
]]> が入るかもしれない場合、可読性は捨てて全部エスケープするしかないですか?

640:デフォルトの名無しさん
07/09/19 02:47:27
所詮世間一般ではxmlはデータコンテナのフォーマットか・・・。
PIのdataに突っ込んでアプリケーション側で処理させれば良いじゃない。

641:デフォルトの名無しさん
07/09/19 03:08:54
]]> を ]]>]]&gt;<![CDATA[ にするとか

642:デフォルトの名無しさん
07/09/19 08:36:42
エスケープしたら結局戻す処理はアプリケーション依存だろ。
だからPIで良いよ。

643:デフォルトの名無しさん
07/09/19 13:07:01
] と ]> にわけてCDATA2つにするのが普通じゃね?

644:デフォルトの名無しさん
07/09/27 23:37:51
騙された!PIって何を指してるの?
639じゃない俺が<?ここ?>になんでも含められるの??!と驚き
試してしまったので敗北感があります

645:デフォルトの名無しさん
07/09/28 04:30:43
何一人でファビョってんだ?
どうせエンコーディングが一致せずに

<?ここ?>
~~~~
Fatal Err: not well-formed. Line n, Col 3
ってオチだろ。文字化けするから↓か。

<??????>
_ _^

646:デフォルトの名無しさん
07/09/28 13:58:41
エスケープ処理なんて O/X マッピングライブラリに任せてしまうよろし。
人間がやろうとするにはあまりに単純処理だし、
単純処理の割に手間を食うので馬鹿馬鹿しい。

647:デフォルトの名無しさん
07/09/28 22:37:33
たかだか文字参照ごときにマッピングライブラリは大げさだろ。

それに、質問はエスケープしなきゃいけない文字がテキスト中に大量に入る可能性があって
CDATAセクションを使いたいけど]]>が入る可能性もあるから代替策が必要って話で
その方法がいくつもあるけど質問者が出てこないから話が代替策ないですか?って所で止まってるんだろう。
まだ、エスケープされた文字をどうするかの問題じゃない。

648:デフォルトの名無しさん
07/10/31 16:57:30
気がついたらJ2SE 6.0でJAXB 2.0がサポートされていたわけですが、
バインディングツールとしてJiBXとどっちがいい感じか、使ってる方使用感などを教えていただけませんか。

649:デフォルトの名無しさん
07/10/31 19:10:52
JDOMいいよJDOM

650:デフォルトの名無しさん
07/10/31 21:43:57
>>649
パーサーではStAXもサポートされたみたいですけど、どんな感じでしょうか。

651:デフォルトの名無しさん
07/11/01 01:21:38
J2SE 6.0

652:デフォルトの名無しさん
07/11/01 17:12:21
StAX最高だよ。

653:デフォルトの名無しさん
07/11/02 19:43:14
URLリンク(www.w3.org)
これどう?
すげー使いてー、どこぞで実装してんすかー

654:デフォルトの名無しさん
07/11/02 21:47:25
まだドラフトなのに実装とかするところあるのか?

655:デフォルトの名無しさん
07/11/03 00:45:24
W3Cは変なもの作りすぎです。

656:デフォルトの名無しさん
07/11/04 02:15:38
WDで実装が作られるって別に珍しくない。
けど、これの実装は知らん。

657:デフォルトの名無しさん
07/11/05 00:26:33
URLリンク(norman.walsh.name)
URLリンク(nwalsh.com)

658:デフォルトの名無しさん
07/11/07 13:01:25
XMLスキーマで、要素集合を定義するときにxs:sequenceとxs:allがあるけど、
いろいろと解説を読んだ感じでは、特別な理由がない限りは順序を指定する
xs:sequenceを使え、ということだと理解したんだけど。

ということは、そもそもXML自体が要素の順番を重要視する規格だということ
になると思うんだけど、そういう理解であってる?

659:デフォルトの名無しさん
07/11/07 17:39:15
>>658
そんなことはないと思う。
単に要素の出現順序が決まっていれば処理が楽だからじゃないか?

660:658
07/11/07 18:08:16
あと、そもそもDTDだと順番自由な要素集合を定義する方法がないことを初めて知った。

もちろん、処理が楽だからというのはそうなんだろうけど、世のパーサー実装がそれを
前提に書かれてるとしたら、俺のXML理解がかなり変わってくるので。

661:デフォルトの名無しさん
07/11/08 02:31:05
xmlスキーマからどんなxmlがくるか解析するツールって何かありませんか?

662:デフォルトの名無しさん
07/11/09 11:17:17
どんなxmlがくるか解析したものがスキーマじゃね?
データを解析するの?

663:デフォルトの名無しさん
07/11/09 11:54:00
XMLスキーマからサンプルとしてインスタンスを生成するってこと?
XML Spy, oXygenなんかにはそういう機能があったはず
フリーソフトウェアも探せばあるかもしれないね

664:デフォルトの名無しさん
07/11/10 00:45:23
Sun XML Instance Generatorというのがある。

665:デフォルトの名無しさん
07/11/12 03:56:16
例えば URL なんかをこんな感じで表したい場合:

<url scheme="http">
  <host>www.foo.com</host>
  <port>80</port>
  <path>/hoge/unko.txt</path>
</http>

<url scheme="mailto">
  <mail>hoge@foo.com</mail>
</url>

属性の値によって子要素の定義が変わるような定義を Schema で記述できるんでしょうか?
どう表せばよいか悩んでいます。

666:デフォルトの名無しさん
07/11/13 20:29:25
>>665
ちょっと余計なものが付くがこれで良ければ。

<xsd:element name="url" type="urlType" />
<xsd:complexType name="urlType" abstract="true" />
<xsd:complexType name="httpType">
 <xsd:complexContent>
  <xsd:extension base="urlType">
   <xsd:sequence>
   <xsd:element ref="host" />
   <xsd:element ref="port" />
   <xsd:element ref="path" />
  </xsd:sequence>
  <xsd:attribute name="scheme" type="schemeType" use="required" fixed="http" />
 </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>
<xsd:complexTpe name="mailtoType">(略)</xsd:complexType>

<url scheme="http" xsi:type="httpType">
 <host>www.foo.com</host>
 <port>80</port>
 <path>/hoge/unko.txt</path>
</url>
<url scheme="mailto" xsi:type="mailtoType">(略)</url>

xsi:typeが省略されるとurlTypeはabstractなのでエラーになる。


667:デフォルトの名無しさん
07/11/13 20:42:36
>>666
なるほど、ベースを abstract で宣言しておいて、拡張のほうで "http", "mailto" を
fixed 指定にしておけば属性値ごとに中の定義が変更できるような使い方になりますね。
帰って試してみます。schemaType は string じゃダメなんでしょうか?

668:デフォルトの名無しさん
07/11/13 21:12:20
>>667
schemeTypeはenumerationにしてたんだが行数の都合で省略したのを忘れてた。
もちろんstringでいいと思う。

669:デフォルトの名無しさん
07/11/14 04:02:31
高橋麻奈の「やさしいXML 第2版」という本で、ちょうどXSLの操作を勉強しています。

練習問題での自分の回答と巻末の模範解答が違うことがあるのですが、同じことができる
スタイルシートを作れていれば「正解」としていいのでしょうか?

たとえば、
<xsl:template match="car">
  <car>
    <xsl:attribute name="file">
       <xsl:value-of select="img/@file"/>
    </xsl:attribute>
    <xsl:apply-templates select="name"/>
    <xsl:apply-templates select="price"/>
 </car>
</xsl:template>

とするべき(?)ところで、<car>のかわりに、<xsl:copy>と書いてしまったのですが、
XMLの理解の上では問題ありませんよね?

他にも
<xsl: copy-of select="."/>と書く方法と、

<要素>
   <xsl:value-of select="."/>
</要素>

と丁寧に書く方法がありますが、XMLの勉強では好きな方選べばよいのかな・・・


670:デフォルトの名無しさん
07/11/14 07:14:27
>>669
与えられた入力と求める出力(いずれもXMLか)を貼らないと
XSLT知ってる人でも答えにくいと思うぞ。

671:デフォルトの名無しさん
07/11/14 16:45:43
まずはやさしいシリーズを捨てる所からだな。
悲しいけどこれってマジレスなのよね。

672:669
07/11/15 00:03:12
>>671
やさしいXML、Java活用編ともに終盤にさしかかっているので・・・
結局3冊買っちゃいました

673:デフォルトの名無しさん
07/12/01 18:03:12
<foo:bar>ほげほげほげ
ふーばー
おっぱっぴー</foo:bar>

みたいなのを、

<xhtml:div>ほげほげほげ<br/>
ふーばー<br/>
おっぱっぴー<xhtml:div>

みたいにしたいんだけど、どう書けばいいんでしょうか。

674:デフォルトの名無しさん
07/12/01 18:04:55
あ、XSLTの話です。

675:デフォルトの名無しさん
07/12/01 18:59:26
substring-before, substring-afterでも駆使して再帰的に変換すればいいんじゃなかろうか。

とはいえ、データ構造から見直したほうがいいとおもうよ

676:デフォルトの名無しさん
07/12/01 19:11:18
>>673
やってやれないことはないがあまりオススメしない。
HTMLにするならpreじゃいけないのか?

<xsl:param name="line.delimiter" xml:space="preserve">&#xD;&#xA;</xsl:param>

<xsl:template match="foo:bar">
 <xhtml:div>
  <xsl:call-template name="substitute">
   <xsl:with-param name="str" select="text()" />
  </xsl:call-template>
 </xhtml:div>
</xsl:template>

<xsl:template name="substitute">
<xsl:param name="str" />
 <xsl:choose>
  <xsl:when test="contains($str, $line.delimiter)">
   <xsl:value-of select="substring-before($str, $line.delimiter)" />
   <xsl:text disable-output-escaping="yes">&lt;br /&gt;</xsl:text>
   <xsl:value-of select="$line.delimiter" />
   <xsl:call-template name="substitute">
    <xsl:with-param name="str" select="substring-after($str, $line.delimiter)" />
   </xsl:call-template>
  </xsl:when>
  <xsl:otherwise>
   <xsl:value-of select="$str" />
  </xsl:otherwise>
 </xsl:choose>
</xsl:template>

677:デフォルトの名無しさん
07/12/04 00:05:29
XSLTで
<a>
<elem-a/><elam-b/>
</a>
<b>
<elem-1/><elem-2/>
</b>

<c>
<elem-a/><elam-b/>
<elem-1/><elem-2/>
</c>
に書き換えたいのですが、
<template match="a|b">
<c>
<apply-template select="*"/>
</c>
</template>
とやったら(記憶で書いてるので細かい点、ちょっと嘘かも)
<c>
<elem-a/><elam-b/>
</c>
<c>
<elem-1/><elam-2/>
</c>
となってしまいました。どのように書けばよいのでしょう?

678:デフォルトの名無しさん
07/12/04 23:34:32
んー、OPMLをXHTMLに変換するXSLT書いてるんだけど、
outlineがexpansionStateに含まれているかどうかってどうすれば知ることができるんだろうか

679:デフォルトの名無しさん
07/12/04 23:42:40
>>677
<a>と<b>の親にテンプレート適用して、
<a>と<b>の子とってくればいいんじゃなかろうか

680:デフォルトの名無しさん
07/12/05 00:35:14
>>679
なるほどそう書くのですか。それで出来そうですね。

681:デフォルトの名無しさん
07/12/05 00:36:26
>>678
outlineの親要素のローカル名がexpansionStateかどうかを調べればよいのでは。
もしexpansionState要素の子要素であるoutlineに何かしたいなら
マッチングパターンを変えてテンプレートを作成すればいい。

682:デフォルトの名無しさん
07/12/07 19:54:39
libxml使ってるんだけど、xmlXPathContextPtrってxmlDocPtrがないと生成できないの?
xmlNodePtrからいちいちxmlDocPtr生成するの面倒い…

683:デフォルトの名無しさん
07/12/10 02:52:30
XMLスキーマでユーザー定義の型をつくるとき、同じ型のリストはxsd:list を使えばできますが、例えば int のあと float 2つみたいな型を定義するにはどうすればいいでしょう?
<hoge>1 2.0 3.0</hoge>
のような。
xsd:pattern で正規表現を指定する他に方法ありますか?


684:デフォルトの名無しさん
07/12/21 12:52:44
>>683
んーそもそも、XMLというかデータ構造的に、そうした型の設計は
好ましくない気がするんだけど、どうしてもそれじゃなきゃだめなのけ?

685:デフォルトの名無しさん
07/12/21 20:31:19
XML をいわば Unicode データのコンテナ的に使っていますが、
XML 1.0 で定義されている文字を外れるコードが含まれると(例えば 0x1f 以下の
制御文字とか)エラーになってしまうようで、困っています。
この手の問題ってどうしたらいいと思いますか? とりあえず自前の文字参照みたいのを
定義して、かませようかと思っていますが...

686:デフォルトの名無しさん
07/12/21 20:41:32
 じゃダメなのか。

687:orz
07/12/21 20:41:59
&#x1F; じゃダメなのか。

688:デフォルトの名無しさん
07/12/21 20:56:29
>>686
年の瀬も近くてまったりしようと思ってたのに、いまさら自前のコードを起こして
テストするのが面倒でw XML の範疇でなんとかならないかと思って。


>>687
それは「文字」参照なんで、XML の範疇で文字として扱われていないコードに対しては
駄目みたいです、というのが自分の理解。ちなみに CDATA も同様。

689:orz
07/12/21 21:00:17
じゃ Base64 でも何でも使えば良いじゃん。

690:デフォルトの名無しさん
07/12/21 21:01:12
ちなみに XML 1.1 だと文字コードの範囲が広がってるんですけど、
巷の XML ライブラリってまだ 1.1 をほとんどサポートしてないですよね?

691:デフォルトの名無しさん
07/12/21 21:04:56
>>689
はい、それもアリなんですが、可読性がなくなるのがちょっと不便というか...
その XML を生でみたいときもあるので。

692:デフォルトの名無しさん
07/12/21 21:08:12
<char codepoint="0x1f"/>
とか適当にでっちあげればいいじゃん。

693:デフォルトの名無しさん
07/12/21 21:19:41
quoted-printable か URL フォームエンコーディングとかでも。
ちなみに 「ダメです」 ってのは何かアプリ的な不具合なのか、それとも潔癖原理主義的なものなのか。

694:デフォルトの名無しさん
07/12/21 21:21:13
>>692
すみません、それってどうやって使うんですか?

例えば
<text>制御文字が入ったテキスト 0x1f</text> (0x1f は実際にはバイトデータ(で、不正))

<text>制御文字が入ったテキスト <char codepoint="0x1f"/></text>
みたいな?
で、このテキストを取り出すときに何らかの処理で元のバイトデータに戻す?
ちなみに今は XPath でこの要素を取り出したりしているんですが... 変更は簡単かな?

695:デフォルトの名無しさん
07/12/21 21:40:18
>>693
>quoted-printable か URL フォームエンコーディングとかでも。

日本語が結構入るんで、ちょっと厳しいですかね。 

>ちなみに 「ダメです」 ってのは

えっとその「ダメです」がどれを指しているかわかりませんが、要は XML のエラーを
XML を処理しているレイヤーの回りで、なるべく楽に、インパクトを少なく回避するか、
ということです。

696:デフォルトの名無しさん
07/12/21 23:53:07
PI使えばいんじゃね?
でアプリ側で自由に処理すればいい。

697:デフォルトの名無しさん
07/12/21 23:54:56
まあ、文章をデータコンテナなんかに使おうと思うからそんな矛盾が起きるわけで。
そもそも発想が間違ってる。

698:デフォルトの名無しさん
07/12/21 23:57:40
なんでもかんでも XML は良い事だ (2001年日経)

699:デフォルトの名無しさん
07/12/22 00:09:45
XML Schema的にはhexBinaryかbase64Binary

700:デフォルトの名無しさん
07/12/22 00:18:12
xmlなアプリ実装すると考えればPIのdataにBase64が鉄板か?

701:デフォルトの名無しさん
07/12/22 00:37:46
もう MD5 で良いじゃん。

702:デフォルトの名無しさん
07/12/22 15:24:41
>>701
え?w

703:デフォルトの名無しさん
07/12/22 15:51:07
きっと、逆変換するアルゴリズムを開発した超絶ウルトラスーパーハッカーなんだよ。

704:デフォルトの名無しさん
07/12/22 21:55:00
俺はエロ画像のSHA1で抜ける!

705:デフォルトの名無しさん
07/12/22 22:56:37
なんだこの流れ?

706:デフォルトの名無しさん
07/12/24 13:18:59
俺もそういう文字扱いたかったから、xml1.1にしたよ。

707:デフォルトの名無しさん
07/12/24 13:32:03
xml1.1まともに扱えるパーサ教えてください

708:706
07/12/24 14:07:21
まともの定義がわからないけど、俺はjavaでStAX使いたいからWoodstoxだよ。
URLリンク(woodstox.codehaus.org)
JDK6とか新しめのJAXPでもxml1.1は使えるでしょ?

709:デフォルトの名無しさん
07/12/30 18:02:23
<xsl:for-each> でノード集合を逆順に列挙するのってどう書いたら良いですか?

710:デフォルトの名無しさん
07/12/30 18:14:50
xpath2.0ならreverseが使える。1.0はよう知らん

711:デフォルトの名無しさん
07/12/30 18:39:07
>>709
<xsl:sort>でソートするんじゃダメ?

712:デフォルトの名無しさん
07/12/30 19:48:56
<xsl:for-each> の直下に <xsl:sort order="descending" /> 置いたらできますた。

713:デフォルトの名無しさん
07/12/30 23:36:32
XMLでbase64を使う意味が分からない。
Unicode使えるんだから、もっと膨張を抑えたエンコードも出来るはず。

714:デフォルトの名無しさん
07/12/31 05:28:28
別に必ずしもbase64でエンコードする必要はない。

715:デフォルトの名無しさん
07/12/31 09:58:36
ish?

716:デフォルトの名無しさん
07/12/31 11:34:27
イクラちゃんishで

717:デフォルトの名無しさん
08/01/01 20:37:49
XMLDBでxindiche以外でフリーでつかえるものってある?

718:デフォルトの名無しさん
08/01/03 16:53:52
libexpatw の最後の w って何ですかw

719:デフォルトの名無しさん
08/01/03 18:42:22
wchar_tのw

720:デフォルトの名無しさん
08/01/09 10:06:44
>>717
eXistかDB2のExpress-Cでも使っとけ

721:デフォルトの名無しさん
08/01/12 00:12:51
XPath, XQuery の仕様読んでるが何か SQL の再発明めいてきたなこれ。

722:デフォルトの名無しさん
08/01/12 01:01:46
似せたんじゃなかったけクエリー言語として。

723:デフォルトの名無しさん
08/01/12 01:48:41
XMLの検証で質問です。

<a>
<b>ABC</b>
<b>123</b>
</a>

このようなXMLで、1番目の<b>要素はstring型、2番目の<b>要素は
integer型であることを検証したいと思っているのですが、wxsでは
同名の要素を異なる型で定義することができません。
何かうまい方法はないでしょうか?

724:デフォルトの名無しさん
08/01/12 02:15:31
要素名を変える

725:デフォルトの名無しさん
08/01/12 03:04:09
string型はinteger型を包含するから無駄な検証だな。

726:デフォルトの名無しさん
08/01/12 08:37:20
というか1番目の要素はルート要素であるaじゃないの?
色々と間違ってる。

727:デフォルトの名無しさん
08/01/12 08:46:32
さすがにそうは読めんが。

728:デフォルトの名無しさん
08/01/12 10:19:15
名前空間を変える。

729:デフォルトの名無しさん
08/01/12 10:34:36
PIでやってもいいな。

730:デフォルトの名無しさん
08/01/12 13:49:14
PIって何?

731:デフォルトの名無しさん
08/01/12 13:53:49
Processing Instruction

732:デフォルトの名無しさん
08/01/12 15:16:25
>>725
well-formed XML は valid XML を包含するからvalidatorは必要ない?

733:デフォルトの名無しさん
08/01/12 16:36:44
>>723
そんなスキーマの設計になる納得の行く理由を聞きたいが。

734:デフォルトの名無しさん
08/01/12 17:12:28
>>732
うん。
non-valid XMLだったら、wel-formed XMLであることを調べる。← これは馬鹿げている。

もっとも、元質問は
> 同名の要素を異なる型で定義することができません。
ではなくて
< 要素の出現順で異なる型を定義したい
という事のようなので、オレの読み違いのようだけど。

735:デフォルトの名無しさん
08/01/12 18:43:46
>non-valid XMLだったら、wel-formed XMLであることを調べる。
今回は違うが、食わせるxmlが不定の場合、エラーハンドラくらい実装するから、
これはwel-formedかどうか調べる事になるから別に馬鹿げてる訳でもないと思うが。

馬鹿げてるのはnon-wel-formedなxmlでもパース出来るパーサかと。実際にあるが。

736:デフォルトの名無しさん
08/01/12 19:11:10
if ( i > 0 || i >= 0)
↑これを馬鹿げているといってるんだけど、コンパイラが最適化するから問題ないというならそれでもいい。

737:デフォルトの名無しさん
08/01/12 19:29:09
>>725が言っているのは、i の定義が「数値」であるならば「0より大きい数値」を
包含してるから、その比較自体無駄だということだろ?

738:デフォルトの名無しさん
08/01/12 21:24:23
そういう事か他言語にバインドした後の話ね。そういう使い方はした事ないな。

739:723
08/01/13 01:12:15
いろいろな意見ありがとうございました。
結局手はないようですね。

背景説明を端折っていましたが、このXML文書は外部で仕様が定められて
いるもので、それを定義したスキーマ文書は別に存在します。
ただし汎用的なフォーマットなのでかなり制約は緩いものとなっています。
逆にこれを利用するシステム/装置側はそのすべてのバリエーションを
許容することができないため、その特定用途向けの検証をwxsで行おうと
考えていました。
実際に要求されている制約は「name属性が"aaa"の場合はxxx属性が必須で
テキストはxx文字以内」などというものだったりするのですが、さすがに
それは無理だろうと考えていたので、要素の出現順を固定して「1番目の
要素はname属性が"aaa"に等しく、~」という形で検証しようとしていました。

実はその検証用のxsdを作成する際はSunのmsvを確認に使っていて、
そこでは意図したとおりの検証ができていました。ところがこれを利用する
プログラムが出来て、そちらに掛けてみたところスキーマ文書が受け付け
られず、問題が発覚しました。
ですのでxsdの記述だけで解決できればよかったのですが、別途チェック
プログラムを起こしたりする必要がありそうですね。

740:デフォルトの名無しさん
08/01/13 02:09:10
スキーマの設計が悪い。

741:デフォルトの名無しさん
08/01/13 02:12:42
すげぇ無駄な事してるな・・・何とかしようと思う723は凄い

742:デフォルトの名無しさん
08/01/13 02:14:41
>>739
ああ、よくある、上から降りてきた設計のしわ寄せが現場に来るの図ね。
まあそんなことだと思ったよ。
きっとスクリプトで楽することもできないんだろう。
頑張って追加のコードを組んでください。

743:デフォルトの名無しさん
08/01/13 03:00:20
あら

744:デフォルトの名無しさん
08/01/13 03:05:57
まぁ文章の完全な正当性なんて DB やホストに問い合わせてみないと保障できない
なんてのもよくある話だから、スキーマベースの検証の限界だと思ってプログラムで
確認しなはれ。

745:デフォルトの名無しさん
08/01/13 03:50:54
それとこれとは別だろ。どうみてもスキーマの設計ミス。
というかバカだろそのスキーマ作った奴。

746:デフォルトの名無しさん
08/01/13 09:19:36
Processing Instruction の位置づけがよく分からんのですが、例えばどういうときに
自分定義の PI を導入するもんですか?

747:デフォルトの名無しさん
08/01/13 10:58:16
適当な例が思いつかんが、たとえば、>>685の質問をPIで何とかしようと思うと、

<text><?[[Here is an U+00 ->]]><?character U+00?><?[[<-.]]></text>

こんな感じになるかもしれない。

748:デフォルトの名無しさん
08/01/13 11:06:09
ボケてたよー

<text><?[CDATA[Here is an U+00 ->]]><?character U+00?><?[CDATA[<-.]]></text>

749:デフォルトの名無しさん
08/01/13 11:06:53
ごめん。寝てないんだよー

<text><![CDATA[Here is an U+00 ->]]><?character U+00?><![CDATA[<-.]]></text>

750:デフォルトの名無しさん
08/01/13 11:40:19
まずその XML を特定のプログラムで加工処理するという前提があって、そのプログラム用に
データでも文章でもない制御系の情報を埋め込むためのもの、という感じで良いのかな?
C で言う #pragma 命令みたいな。<?compiler warning="suppress"?> とか
<?scanning very-very-secure?> とか <?verify hash="02F84298FEDFA" algorithm="md5"?> とか。

751:デフォルトの名無しさん
08/01/13 11:47:04
まあ、そんなもの。
XMLプロセッサは、対応していないPIは無視することになってるから、#pragmaと一緒やね。

752:デフォルトの名無しさん
08/01/13 13:52:12
XML デービー って何なの? 既存の XML ファイルに SQL で照会掛けたりできるの?

753:デフォルトの名無しさん
08/01/13 22:39:47
できるものもある。

754:デフォルトの名無しさん
08/01/14 16:25:07
XSL-FOの話題ってここでいいのか?
組版の話だから違うような気もするんだが。
もし妥当なスレがあったら教えてくれるとありがたい。

755:デフォルトの名無しさん
08/01/14 16:29:39
関連技術なら何でもいいと思うよ。

答えられる人がいるかどうかは、また別の話だけど。

756:デフォルトの名無しさん
08/01/14 21:23:35
XML関連の質問って、どこにもって行けばいいのか分からないよなぁ。
このスレではわりと勉強させてもらっているが。

あと、XML DBの話はこういうのがある。俺もまだ第一回しか読んでないんだが。
URLリンク(www.atmarkit.co.jp)

757:デフォルトの名無しさん
08/01/14 23:01:25
>>756
ソレ、役に立たない。

758:デフォルトの名無しさん
08/01/14 23:31:13
XSL-FOはここだろうけど実装が限られるし仕様自体も紙媒体への印刷を考慮されて巨大化してるから分かる人は少ないよ。

XSLとXSL-FOの関係もろくに理解してない奴らばかりだし。

とりあえず仕様書は嫁。でかいけど。

759:デフォルトの名無しさん
08/01/15 01:03:36
おまいさんが理解してるんだろう。

760:デフォルトの名無しさん
08/01/15 20:44:02
XSL で 0 パディングってどうやればいいの?

761:デフォルトの名無しさん
08/01/16 20:56:24
format-number

762:デフォルトの名無しさん
08/01/18 17:25:02
XML-FOなんて扱えるソフトすらもってねえ

763:デフォルトの名無しさん
08/01/18 19:38:02
PDF変換とかに使われてるくらいかな?
SVGは使われ始めてるのに、こっちは使われてないんだよな。
WYSIWYG特性はこっちのが強いはずなのに。

764:754
08/01/18 19:48:36
アクセス規制に引っかかって年末からずっと書けやしない。
今も自宅とは別のマシンから書き込んでる。

で、聞きたかったのはあるブロックがページをまたがないよう
に指定ってできるのかねってこと。
ちなみに俺が使ってるのはXSLFormatter体験版。

765:デフォルトの名無しさん
08/01/18 20:49:43
SVGはIEが対応してないからなぁ.
しかも Adobe が配布していた
SVG ビューアもなんかどっかいっちゃった.

766:デフォルトの名無しさん
08/01/18 21:38:15
IEなんてごみしらね。
xml絡みはまともな実装ができるまでサポートしないってIE7が出たとき開発陣が言ってたが・・・。

767:デフォルトの名無しさん
08/01/19 01:07:45
IEは、JavaScriptのメモリ関係の酷いバグをさっさと直せと言いたい。

768:デフォルトの名無しさん
08/01/19 18:55:51
XPath 2.0 でヤケクソ気味に関数増やしやがったな。

769:デフォルトの名無しさん
08/01/20 02:20:44
XSL って無限ループ書ける?
最悪でもスタックオーバーフローくらいの一時的なの済むなら
客に自由に作ってもらおうかと思ってるんだけど。

770:デフォルトの名無しさん
08/01/20 03:10:04
XSLT 1.0はチューリング完全。
URLリンク(www.unidex.com)

771:デフォルトの名無しさん
08/01/22 01:30:10
XSL か XPath 使って 「全角文字 (Unicode に全角文字も変だが; 日本語ね) に
囲まれた連続した空白は削除する」 って出来ない?

772:デフォルトの名無しさん
08/01/22 01:44:11
一応xpathには指定した文字のインデックスを得る関数と、部分文字列を得る関数はあるから、出来ないことはないと思うよ。

773:デフォルトの名無しさん
08/01/23 11:09:40
XPathで、
/list/item[number][date]
を、[]を含まない書き方にはどうすればいいんでしょうか?
parent axisを使えばいいらしいんですが、、、

よろしくお願いします。

774:デフォルトの名無しさん
08/01/23 13:38:21
そんなのないよ

775:デフォルトの名無しさん
08/02/03 03:55:31
DTD と XML 名前空間を混在させるにはどうしたら良いですか?
例えば↓のように書くと 「要素 foo に xmlns:bar 属性は使えない」 ということになってしまうんですが。

<!DOCTYPE foo SYSTEM "foo.dtd">
<foo xmlns:bar="URLリンク(...)">
...
</foo>

まぁ Eclipse の XML 構造化エディタ上の話で、Java から読む時は DTD 検証してないんで
問題ないっちゃないんですが。

776:デフォルトの名無しさん
08/02/03 11:50:07
名前空間が分離できねーからDTDダメダメ、XML Schema開発しようぜ。
という流れなので無理。

777:デフォルトの名無しさん
08/02/03 12:38:01
DTDにxmlns:bar属性の定義を追加しないと使えんわな

778:デフォルトの名無しさん
08/02/03 13:35:04
規則を表現する能力でいえば,Relax NG の方が高いよな.
でも XML エディタの多くは XML Schema 対応だから
そっちの方が無難だが.

RFC とか IETF での規格書は Relax NG Compact で
記述されていることも多くって,変換が必要.

779:本田
08/02/04 23:06:03
Text Processing in Python (ペーパーバック)
David Mertz (著)
URLリンク(www.amazon.co.jp)
# ペーパーバック: 544ページ
# 出版社: Addison-Wesley (C) (2003/6/2)
# 言語 英語, 英語, 英語
# ISBN-10: 0321112547
# ISBN-13: 978-0321112545
# 発売日: 2003/6/2
# 商品の寸法: 23 x 17.4 x 3.2 cm

780:本田
08/02/04 23:06:39
XMLの論考: 第1回

XML文書をオブジェクトとして'Python 的に'取り組む
developerWorks

レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2000年 8月 01日
URLリンク(www.ibm.com)
「XML の論考」コラムの最初の記事で、
David Mertz 氏は xml_pickle モジュールを紹介していますが、
これは、XML と Python を境い目を作らずに統合しようとする彼の継続的な探求の一部でもあります。
この記事で、Mertz 氏は、 xml_pickle に至った設計上の目標と決定について論じ、
考えられる使い方について説明します。

781:本田
08/02/04 23:07:05
XMLの論考: 第2回

XML文書をオブジェクトとして "Python 風" に処理する方法 (II)
developerWorks

レベル: 中級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2000年 8月 01日
URLリンク(www.ibm.com)
この記事は、『XML Matters』コラムの第 2 回目となりますが、
XML と Python の間のよりシームレスな統合を実現する絶え間ない探求の一環として、
David Mertz がxml_objectify モジュールを紹介します。
David は、xml_objectify の使用方法と、
XML 文書をオブジェクトとして処理する際にこの "Python 風" モジュールを使用する利点について説明します。

782:本田
08/02/04 23:07:29
XMLの論考: 第3回

XMLの派生語であるDocBookの紹介
developerWorks

レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2000年 10月 01日
URLリンク(www.ibm.com)
「XMLの論考」コラムの3回目のこの記事で、David Mertz氏は、
技術文書および他の文書を記述するDocBook (SGML/XMLの派生言語の1つ) について紹介します。
David Mertz氏は、DocBookを使うことの利点とともに、
大規模な文書の変換作業を計画しモジュール化する方法を解説してくれます。

783:本田
08/02/04 23:07:49
XMLの論考: 第4回

DocBookのXML版を楽しむ
developerWorks

レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2000年 10月 01日
URLリンク(www.ibm.com)
連載コラムの今回は、便利なDocBookを使えば、
さまざまに異なる文書形式を1つの 標準的なXML形式に変換できることについて説明を続けます。
さらに、いくつかのDocBookタグをより詳しく調べて、基本的なDocBook文書の作成方法も示します。

784:本田
08/02/04 23:33:57
XMLの論考: 第5回

XSLTを使ってDocBook文書を変換する方法
developerWorks

レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2000年 11月 01日
URLリンク(www.ibm.com)
DocBook のサンプルをもとに、David Mertz 氏が、
XSLT (Extensible Stylesheet Language Transformation) を使って、
XML 文書を HTML に変換する方法を示します。
その中では、XML 文書を変換する 4 つの代替手段を取り上げ、
いくつかのオープン・ソース・ツールの使い心地にまで触れているわけですから、
まさに勇気あるコラムニストです。
サンプル・コードとしては、XSLT 文書の断片、
シンプルな DocBook の 1 つの章を XSLT で記述した妥当な HTML 出力コード、
簡単な XSLT ループ例が掲載されています。

785:本田
08/02/04 23:34:25
XMLの論考: 第6回

さまざまなエディター
developerWorks

レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2001年 1月 01日
URLリンク(www.ibm.com)
この記事では、
10以上の主要なXMLエディターについての最新評価をDavid Mertzが示します。
とくに大量のテキストを含む一般的文章 (prose) のXML文書処理に関して、
それぞれのエディターの安定度、弱点、および機能性を比較します。
さらに、一般的文章のXML文書を作成、変更、保守するうえでの実際の問題にも答えます。

786:本田
08/02/04 23:34:46
XMLの論考: 第7回

W3C XML SchemaとDocument Type Definitions (DTD) の比較
developerWorks

レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2001年 3月 01日
URLリンク(www.ibm.com)
XML文書型の指定として、
XMLスキーマが間もなくDTDに取って代わると多くの開発者は考えています。
David MertzはXMLスキーマが開発者にとって非常に価値のあるツールだと考えますが、
これがDTDに取って代わるかどうかについては、懐疑的です。
「XMLの論考」の今回のコラムでは、
スキーマとDTDの比較という難題に取り組み、
XMLスキーマの世界で今何が起きているかを明らかにします。

787:本田
08/02/05 01:18:48
XMLの論考: 第8回

XMLを階層モデル、リレーショナル・モデル、オブジェクト指向モデルに適応させる
developerWorks
レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2001年 4月 01日
URLリンク(www.ibm.com)
XMLがどんなデータベースに最もよく適合するかを検討している著者David Mertzは、
階層、リレーショナル、オブジェクト指向のそれぞれのデータ・モデルの枠組みにXMLがどう適合するかを説明します。

788:本田
08/02/05 01:19:25
XMLの論考: 第9回

SQL照会からのDTDおよびXML文書の生成
developerWorks

レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2001年 5月 01日
URLリンク(www.ibm.com)
このコラムは、ポータブルXML結果セットをRDBMSの種類に依存せず生成できるようにする、
、パブリック・ドメイン sql2dtd および sql2xml ユーティリティーについての考察を取り上げています。
リレーショナル・データベースからデータを抽出するSQL照会は、
照会結果をXMLで表現するもので、
これによりきわめて実用的な形で、非定型の文書タイプの情報を提供できます。

789:本田
08/02/05 01:22:56
XMLの論考: 第10回

XML文書を索引付けする
developerWorks

レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2001年 5月 01日
URLリンク(www.ibm.com)
XML文書保管形式は、特に散文的で単純な文書向けに普及してきました。
しかし、それにつれて、XML文書の集合内の内容を探す作業は難しくなってきています。
このコラムでは、XML固有の検索および索引付け機能を含めて、
Mertz氏の「魅力的なPython第15回」のコラムで提示された汎用全文検索システム (indexer) について解説します。
このコラムでは、このツール設計が、いかにXML階層ノード構造の利点を生かす索引付けに取り組んだかについて議論します。

790:本田
08/02/05 01:27:58
XMLの論考 第11回: xml_pickleおよびxml_objectifyの再考

オープン・ソースのレッスンと常識

レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2001年 6月 01日
URLリンク(www.ibm.com)
著者のDavid Mertzが、高水準言語Pythonによる、
XML文書処理に便利なユーティリティーを初めて紹介して以来、
ユーザーや読者から非常に有用な拡張や提案が数多く寄せられました。
この記事では、彼のモジュール・スイートに対して行われた変更の一部をご紹介するほか、
これらのモジュールの高度な使用とカスタマイズに関するヒントも提示します。
コード・サンプルでは、py_obj._XML 属性、
オブジェクトやリストとして扱われるノード属性、
py_obj マジック属性の振る舞いなどのデモンストレーションを行います。

791:本田
08/02/05 01:29:07
XMLの論考 第12回: Pythonモジュールxml2sqlおよびdtd2sqlの使用

DTDおよびXML文書からのSQLステートメントの生成

レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2001年 6月 01日
URLリンク(www.ibm.com)
前回の記事では、SQL照会からのXML文書の生成について探りました。
今回、David Mertzは、それなりの制約と複雑さがあるものの、
XML文書およびDTDからRDBMSストレージ形式への逆方向の変換も同様に可能であることを示します。
ここで論じるPythonのパブリック・ドメイン・ユーティリティーxml2sql およびdtd2sql は、
整合性を保ち逆変換可能な方法で、
データベースを作成しデータを挿入するための、SQLステートメントを生成します。
この技法を7つのコード・サンプルによって示します。

792:本田
08/02/05 01:31:16
XMLの論考 第13回: XMLと圧縮

文書のエントロピーの調査

レベル: 中級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2001年 9月 01日
URLリンク(www.ibm.com)
今回のXMLの論考では、XML文書のいくつかの圧縮方法を調べます。
XMLは構造が特殊なため、単純な圧縮技法に対しては、いくつか改善が可能です。
それらの改善点を活用する方法を、コラムニストのDavid Mertzが説明します。
また、技法を示すためのサンプル・コードも含まれています。

793:本田
08/02/05 01:35:21
XMLの論考: DOM、SAX、およびXSLTの限界を超える

XML用のHaXml関数型プログラミング

レベル: 中級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2001年 10月 01日
URLリンク(www.ibm.com)
XMLデータを処理するとき、DOMやSAXやXSLTではなく、Haskellの使用を考慮してみてください。
HaXmlライブラリーは、XML文書を関数型言語Haskell固有の再帰的データ構造で表現します。
HaXmlには、こうした「データ構造化された」XML文書を処理するための、高次 (higher order) 関数が提供されています。
DOM、SAX、XSLTといったよく知られている技法と比べて、
HaXml技法は多くの点ではるかに洗練され、しかもコンパクトで強力です。
この技法をサンプル・コードによって示します。

794:本田
08/02/05 01:38:58
XMLの論考: オブジェクト・モデルとしてのXML-RPC

大衆のためのデータ・バンドルか

レベル: 上級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2001年 12月 01日
URLリンク(www.ibm.com)
間違いなくXML-RPCにも欠点がありますが、
この関数呼び出しプロトコルはさまざまな作業に適しています。
ここで、コラムニストDavid Mertzは読者のフィードバックに応え、
オブジェクト・データをモデル化する方法としてXML-RPCを調べます。
また、オブジェクトをシリアライズする手段として、
以前のコラムで説明したxml_pickle モジュールとXML-RPCを比較します。
この比較は、サンプル・コードによって詳しく示されます。

795:本田
08/02/05 01:40:41
XMLの論考: もう1つのPython/XMLツール・セット4Suite

体重400キロのゴリラのようなPython XMLツールの紹介

レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2002年 1月 01日
URLリンク(www.ibm.com)
Pythonモジュールからなる4Suiteセットは、「くろうとの選ぶ本格派」ツールです。
広範で洗練された機能を持つ4Suiteツールは非常にパワフルで、プログラマーの学習カーブも急上昇します。
4SuiteはPythonの最近のバージョンによって提供された基本的なXML機能以上のものを提供するだけでなく、
いくつかの役立つオプションも含んでいます。
著者Davidが4Suiteの最も注目すべき面を紹介し、
あなたのPython/XML ツール・セットが4Suiteによってますます多機能になる様子を示します。

796:本田
08/02/05 01:41:08
XMLの論考: PYX入門

行指向のXML

レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2002年 2月 02日
URLリンク(www.ibm.com)
XMLのフォーマットは非常にシンプルです。
XMLはバイナリー・エンコードではなくプレーンなUnicodeテキストを使用し、
構造はすべて推測しやすいタグで宣言されます。
にもかかわらず、
XML文書を処理するにはパーサーで注意深くデバッグする必要があるほど、
XML文法には多くの規則が存在します。
しかも、パーサーはそれぞれ独自のプログラミング・スタイルを強制します。
それに代わるのは、XMLをシンプルにすることです。
オープン・ソースであるPYX形式は、XML文書を表現する純粋に行指向の形式です。
この形式を使うことによって、grep、sed、awk、wc、および一般的なUNIXコレクションを使用して、
XML文書の内容を簡単に処理できるようになります。

797:本田
08/02/05 02:29:29
XMLの論考: REXMLライブラリー

Rubyプログラミング言語におけるXML処理

レベル: 中級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2002年 3月 01日

URLリンク(www.ibm.com)
XMLの処理に立ち向かうには、少なくとも2つの姿勢があります。
1つは、多くのプログラミング言語から呼び出することのできる標準的なAPIを採用するという姿勢です。
2つ目は、
XMLアプリケーションを開発するのに使用するプログラミング言語の力を借りてXML処理ライブラリーを作り出すという姿勢です。
この連載の最初の方の記事で、David Mertz氏は、
彼独自のPythonxml_pickle およびxml_objectify や、HaskellHaXml ライブラリーで、
この第2のアプローチのいくつかのバージョンを検討しました。
かなり新しく、しかも急速に発展しつつあるRubyプログラミング言語用のよく利用されるライブラリーも、
この第2のアプローチを採用しています。
この記事では、David氏が、Ruby Electric XML (REXML) という、
Rubyの機能を活用してXML処理を実行するライブラリーを紹介します。
REXML は、ストリーム・スタイルのSAXにも、ツリー・スタイルのDOMにも似ていますが、
どちらの種類のAPIにも直接には制約を受けていません。

798:本田
08/02/05 02:34:05
XMLの論考 第19回: 続・XMLと圧縮

ブロック・レベルのアルゴリズムとリソース負荷

レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2002年 4月 01日
URLリンク(www.ibm.com)
この連載の以前の記事で、Davidは、
圧縮率を改善するためにXML文書を可逆的に再構造化する技法について調べました。
しかし、大規模なXML文書と組み込みプロセスの場合、
圧縮パスに先立ってソース文書全体を再構造化するのは実用的でないことがあります。
この記事でDavidは、
再構造化の技法をブロック・レベルの処理にどのように適合させられるかについて、
圧縮率の改善とCPU/メモリーの所要量の面から調べます。

799:本田
08/02/05 02:53:50
XMLの論考: gnosis.xml.validityライブラリーによって妥当性を確保する

OOPデータをXMLの規則に押し込む

レベル: 中級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2002年 7月 01日
URLリンク(www.ibm.com)
既存のXML APIの大半は、
整形式であるかどうかの検証作業をプログラム的に実現できますが、
妥当性を保証できるものはほとんどありません。
XML処理の世界では、これが深刻な弱点になっています。
この記事では、
著者が開発したgnosis.xml.validity ライブラリーを取り上げます。
このライブラリーによって、
XMLの直列化を意図したPythonオブジェクトの妥当性を実現してみましょう。

800:本田
08/02/05 03:00:39
XMLの論考: XMLエディターの総まとめ: 第1回

JavaおよびMacOS用の製品を再び取り上げる

レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2002年 8月 01日
URLリンク(www.ibm.com)
Davidが以前XMLエディターの商用ツールのカテゴリーを調査してから1年半がたちましたが、
その後のXMLエディター商用ツールの進歩をDavid が2回連載で調べていきます。
これらのツールは、概してテキスト・エディターの表面的なラッパーであったものから、
XML指向のテクノロジーを使う作業プロセスをかなり簡単にできる具体的な開発環境へと進歩しています。
この第1回の記事では、JavaおよびMacOSアプリケーションを調べます。
具体的には、Morphon TechnologiesのMorphon 2.0.5、SyncROの <oXygen/> 1.2.1、
およびElfDataのXML Editor 1.14を取り上げます。

801:デフォルトの名無しさん
08/02/05 03:01:01
(・∀・) ニヤニヤ

802:本田
08/02/05 03:02:53
XMLの論考: XMLエディターの総まとめ 第2回

Windows用エディターを再び取り上げる

レベル: 中級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2002年 9月 01日
URLリンク(www.ibm.com)
DavidによるXMLエディターの検討の第2回目のこの記事では、Windowsベースの製品を調べます。
具体的には、AltovaのXML Spy、Wattle SoftwareのXMLwriter、NetBryx TechnologiesのEditML Pro、
そしてCorelのXMetalを取り上げます。
Davidが以前このカテゴリーのツールを調べてから1年半が経ちましたが、
その間にこれらのツールは、テキスト・エディターの表面的なラッパーといったようなものから、
XML指向のテクノロジーを使う作業が非常に楽になる具体的な開発環境へと進歩しました。

803:デフォルトの名無しさん
08/02/05 11:38:22
ひさびさに来たら荒らされてたw

カビの生えた記事ばかりひたすら列挙されてもなあ
Text Processing in Pythonなんかタダで読めるのに
Amazonへのリンクまで貼っちゃうとかもうね

804:デフォルトの名無しさん
08/02/05 17:41:26
大分前からpc11鯖にコピペまき散らすbotが出ててちょくちょく動いてるよ。

805:本田
08/02/05 20:00:57
XMLの論考: YAMLはXMLに改良を加える

YAML Ain't Markup Language (YAMLはマークアップ言語ではない)

レベル: 中級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2002年 10月 01日
URLリンク(www.ibm.com)
この記事では、DavidがYAMLを紹介します。
これは、人間にとって読みやすいデータ直列化フォーマットであり、
動的なプログラム言語で使用されるデータ型をエンコードするのにうってつけです。
XMLと対照的に、YAMLが使用する構造の標識は、クリーンかつ最小限のものです。
これは、ネストされた要素を字下げするという方法に主に頼っていることによります。
より重要なこととして、YAMLは構文が優れており、多くのタスクの場合に、
YAMLのデータ構造と「自然な」データ構造との間のセマンティックな適合関係は、
ずっとぴったりしたものとなっています。

806:本田
08/02/05 20:04:32
XMLの論考: reStructuredText

軽量で強力な文書マークアップ

レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2003年 2月 01日
URLリンク(www.ibm.com)
reStructuredTextという文書フォーマットはPython文書化の公式ソース・フォーマットの1つとして採用されていますが、
他のタイプの文書化でも役立ちます。
reStructuredTextは興味深いハイブリッド・テクノロジーであり、
構文と外観においては他の「ほとんどプレーン・テキストの」フォーマットと似ていますが、
セマンティクスとAPIにおいてはXMLによく似ています。
Davidはこのフォーマットを調べ、
既存のツールで reStructuredTextをいくつかのXML方言 (docutils、DocBook、OpenOffice) やLaTeX、HTML、
およびPDFなどの他の有用なフォーマットに変換する方法を示します。

807:本田
08/02/05 20:06:17
XMLの論考: RELAX NGによる逆襲 第1回

W3CのXML Schemaを打ち負かす

レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2003年 2月 15日
URLリンク(www.ibm.com)
RELAX NGのスキーマは、妥当なXMLインスタンスのクラスを記述する手段として、
W3CのXML Schemaのスキーマよりも強力で、厳密で、意味の記述が直接的です。
十分な実績のあるDTDの意味体系を拡張する一方で、データ型を直交的に拡張でき、
関連インスタンス・モデルを簡単に構築できるというのが、このRELAX NGの「売り」です。
この3回シリーズの記事では、David Mertz氏がRELAX NGを初めて取り上げます。
まずはその第1回をご覧ください。

808:本田
08/02/05 20:07:45
XMLの論考: RELAX NGによる逆襲: 第2回

ツールと特殊な問題点

レベル: 初級

David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.

2003年 3月 26日
URLリンク(www.ibm.com)
RELAX NGのスキーマは、妥当なXMLインスタンスのクラスを記述する手段として、
W3CのXML Schemaのスキーマよりも強力で、厳密で、意味の記述が直接的です。
RELAX NGシリーズの第2回の記事では、
David Mertz氏が意味の記述にかかわるいくつかの問題点を取り上げ、
RELAX NGを処理するためのツールを紹介します。


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