【XML】xmlns, XSLT, ..
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を処理するためのツールを紹介します。
809:本田
08/02/05 20:08:36
XMLの論考: RELAX NGによる逆襲: 第3回
短縮構文とXML構文
レベル: 上級
David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.
2003年 5月 14日
URLリンク(www.ibm.com)
RELAX NGの短縮構文は冗長性があまりないので、
RELAX NGのXML構文で同じ意味制約を記述した場合に比べて読みやすく形式も簡単です。
今回の記事では、この2つの構文形式をサポートして構文形式を変換するツールを考察します。
810:本田
08/02/05 20:10:54
XMLの論考: PythonにおけるElementTreeのXMLプロセス
APIは、類似のライブラリに匹敵するか
レベル: 上級
David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.
2003年 6月 24日
URLリンク(www.ibm.com)
Fredrik LundhのElementTreeモジュールは、Pythonでの軽量で高速なXML文書の操作性により、人気を呼んでいるAPIです。
今回Davidは、オブジェクト・ツリーとしてのElementTreeとXMLインスタンスの処理に専念した他の幾つかのライブラリ
(特に彼自身のgnosis.xml.objectifyモジュール)を比較します。
811:本田
08/02/05 20:12:56
XMLの論考: RXPパーサ
Pythonバインディングによる超高速妥当性検証パーサ
レベル: 中級
David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.
2003年 8月 04日
URLリンク(www.ibm.com)
RXP は、XML文書の非DOMツリー表現を生成する、Cで書かれた妥当性検証パーサです。
RXP 自体は詳しく説明されているとは言えません(きっと臆病な人には向きません・・・)、
けれど少なくとも2つの優秀で高度なAPIがRXP 上に作られています。
PythonバインディングであるpyRXP と、ユーティリティやライブラリ群であるLT XML です。
この記事でDavidは、RXP の紹介、expat パーサとの比較を行います。
そして、RXP の複雑さに踏み込まずにRXP の高速性を利用する方法としてpyRXP とLT XML について簡単に説明します。
812:本田
08/02/05 20:14:43
XMLの論考: テキスト・エンコーディング・イニシアチブ
記録文書や複合文書のためのXML方言
レベル: 初級
David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.
2003年 9月 04日
URLリンク(www.ibm.com)
最近XMLは、プログラマがコンピュータ向きのデータをコード化するためのマークアップ技法であるとみなされているようです。
DocBookや類似の文書化指向のDTDも、技術文書の作成に焦点を絞るようになっています。
しかしながら、XMLは本来、(出版社や文書保管者、図書館司書、学者などから構成される)SGMLコミュニティに根ざすものです。
今回の記事でDavidは、文学的、言語学的文章のマークアップに特化したXMLスキーマである、
TEI (テキスト・エンコーディング・イニシアティブ)をとり上げます。
TEIは、原文書の印刷上の特徴を抽象化するものですが、
効果的な検索や索引作成、比較、そして印刷出版などを行うことが可能です・・・こんなことは、
出版物を単に画像として保管している場合には不可能です。
813:本田
08/02/05 20:17:49
XMLの論考: SXMLとSSAXの調査
Schemeプログラミング言語でXMLを操作する
レベル: 中級
David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.
2003年 10月 23日
URLリンク(www.ibm.com)
前回の記事でDavidは、各種プログラミング言語のXMLライブラリと、それらの長所と短所を考察しました。
今回は特に教育の場や純粋主義者の間で相変わらず人気のあるLisp/Schemeファミリーの言語を調べます。
ここでとりあげるのは、SchemeのSSAXライブラリ(効率的で純粋に関数型のパーサ)と、
(DOMに似た)SXMLツリー・ライブラリ、
また関連ツールとしてそれらで動作するSXSLTとSXPath等を含めて検討します。
Davidは強力な関数型の言語で構文解析を行う利点を説明し、
そしてSSAXを他の言語のライブラリと比較します。
814:本田
08/02/05 20:19:02
XMLの論考: XOM Java XML API
厳格で正確なツリー指向のXMLモデル
レベル: 上級
David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.
2003年 12月 17日
URLリンク(www.ibm.com)
今回の記事でDavidは、Elliotte Rusty HaroldによるXOMを見て行きます。
大まかに言えば、これもまた、いくらかDOMのスタイルを持つオブジェクト指向XML APIの一つですが、
XOMには他と一線を画すいくつかの特徴があり、そうした特徴は重要な設計要素だとHaroldは言っています。
そうした特徴の中で最たるものは、XOMインスタンスが常に正しいXMLにシリアル化されるように、
メモリ内オブジェクトにおいても変わらずに維持されるように厳格さを追求するという点です。
さらに、XOMは他のJava XML APIよりも大幅な単純化と高度な規則性を狙っています。
815:デフォルトの名無しさん
08/02/05 20:31:16
今起きたのか
816:本田
08/02/06 00:18:41
XMLの論考: ワード・プロセッサとXML
オープン・ソースがネイティブな文書フォーマットとしてXMLを採用
レベル: 初級
David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.
2004年 2月 25日
URLリンク(www.ibm.com)
フリーソフトとして公開されている主要なワープロソフトの3種類が、
どれも最近のバージョンで、ネイティブな文書フォーマットとしてXMLを採用しました。
XMLをどのように扱うかはその3種類(AbiWord、KOfficeのKWord、そしてOpenOffice.org Writer)
のそれぞれで少しずつ異なっていますが、
その違いは主として各プロジェクトがどこに焦点を当てて開発を行っているかによるものです。
XML の利点には、”パーサやライタ(解析、展開したり保存したりする機能)”
がコンポーネント化されていること、
フォーマット仕様がオープンであり正式になっていること、
XSLTやその他の変換APIが適用できること等がありますが、
今回Davidは、
上記プロジェクトやその他オープン・ソースのワープロソフト開発者達が
文書フォーマットとしてXMLの利点をどのように認識したのかを見て行きます。
817:本田
08/02/06 00:20:47
XMLの論考: GUIとXML設定データ
Mac OS XとKDEでのXMLの使われ方を見る
レベル: 中級
David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.
2004年 4月 28日
URLリンク(www.ibm.com)
XMLは時間とともに、多くの最適な分野に浸透してきました。
XMLが次第に使われるようになってきた分野の一つにGUIの設定があります。
特に、永続的であったとしてもコンパイル時に固定してしまっては不都合なGUI要素の設定に
XMLが使われています。
今回の記事でDavidが目を向けるのは、Mac OS XのAqua GUIと、
最近の大部分のLinuxディストリビューションで標準または使用可能となっている
Kデスクトップ環境 (KDE)でのXMLの使われ方です。
818:本田
08/02/06 00:23:01
XML Matters: GUIs and XML configuration data, Part 2
The Mozilla Project and XUL
Level: Intermediate
David Mertz (mertz@gnosis.cx), Browser, Gnosis Software, Inc.
26 May 2004
URLリンク(www.ibm.com)
David continues his discussion of how XML is used in the configuration of GUI interfaces.
He looks at Mozilla's XML-based User Interface Language (XUL)
which allows you to write applications that run without any particular dependency
on the choice of underlying operating system.
This may seem strange at first,
but you'll soon see that this Mozilla project offers powerful tools for GUI building
that allow you to develop for an extensive base of installed users.
819:本田
08/02/06 00:24:23
XML Matters: Practical XML data design and manipulation for voting systems
EVM2003 brings XML to the democratic process
Level: Intermediate
David Mertz (mertz@gnosis.cx), Muckamuck, Gnosis Software, Inc.
28 Jun 2004
URLリンク(www.ibm.com)
In this installment,
David discusses his practical experiences developing interrelated XML data formats
for the EVM2003 Free Software project to develop voting machines
that produce voter-verifiable paper ballots.
Some design principles of format subsetting emerge. In addition,
David looks at how an application-specific meaning for XML document equivalence can be programmed,
and why canonicalization is insufficient.
820:本田
08/02/06 00:26:04
XML Matters: Describe XML content with the Dublin Core Metadata Initiative
Reuse metadata in broader XML vocabularies
Level: Intermediate
David Mertz (mertz@gnosis.cx), Metaphilosopher, Gnosis Software, Inc.
06 Aug 2004
URLリンク(www.ibm.com)
The Dublin Core Metadata Initiative (DCMI) is a standardized vocabulary for handling information about documents.
In general, the DCMI vocabulary defines a hierarchy of terms that describe the purpose, context,
and origin of a document (rather than describing the document itself).
David shows you how DCMI provides a set of metadata primitives
that you can reuse (through namespaces) in broader XML vocabularies,
such as RSS variants. Various standards, including those from ISO and NISO, have adopted parts of DCMI.
821:本田
08/02/06 00:27:59
XML Matters: OASIS Election Markup Language
Standardization of XML formats for voting and elections
Level: Intermediate
David Mertz (mertz@gnosis.cx), Bean Counter, Gnosis Software, Inc.
15 Oct 2004
URLリンク(www.ibm.com)
The Organization for the Advancement of Structured Information Standards (OASIS) has developed many XML standards
in use within government, law, and business.
Election Markup Language (EML) is OASIS' foray into the world of elections
-- with an emphasis on voting within governmental jurisdictions.
In this installment,
David gives readers an introductory look at the structure and purpose of EML,
with an eye toward how this standard, which is now used largely in Europe,
will substantially influence future data standards in the United States.
822:本田
08/02/06 00:29:11
XML Matters: Get the most out of gnosis.xml.objectify
Use utility functions for enhanced object behavior
Level: Advanced
David Mertz (mertz@gnosis.cx), Protagonist, Gnosis Software, Inc.
23 Nov 2004
URLリンク(www.ibm.com)
The XML binding gnosis.xml.objectify was designed, in many ways, more as a toolkit than as a final tool.
But this leaves some (potential) users confused about how to specialize it for some common tasks.
In this article,
David shows readers how very thin wrappers can customize gnosis.xml.objectify to perform actions such as:
Provide XPath access to child objects; automatically reserialize objects to XML;
modify the syntax of access to nodes.
Some of these techniques involve rather trivial specialization of provided parent classes.
Others involve small utility functions.
823:本田
08/02/06 00:30:15
XML Matters: Program with SVG
Make the most of this flexible, portable XML language for graphics
Level: Introductory
David Mertz, Ph.D (mertz@gnosis.cx), Author, Gnosis Software, Inc.
15 Apr 2005
URLリンク(www.ibm.com)
Scalable Vector Graphics (SVG) is an XML format that describes scale-independent graphics,
with good support in free software and commercial tools.
In this installment, David introduces scripting and animation with SVG,
and touches on manipulating SVG through DOM. Because SVG is XML,
it lends itself to transformation and/or generation with any of the tools
and libraries you might use for XML generally.
824:本田
08/02/06 00:31:40
XML Matters: Beyond the DOM
Tips and tricks for a friendlier DOM
Level: Intermediate
Dethe Elza (delza@livingcode.org), Senior Technical Architect, Blast Radius
20 May 2005
URLリンク(www.ibm.com)
The Document Object Model (DOM) is one of the most widely implemented tools for manipulating XML and HTML data,
but it is rarely used to its full potential.
By taking advantage of the DOM and extending it to be even easier to use,
you gain a powerful tool for XML applications, including dynamic Web applications.
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4880日前に更新/254 KB
担当:undef