実例で学ぶXML

  • ただいまウェブストアではご注文を受け付けておりません。
  • サイズ B5判/ページ数 480p/高さ 24cm
  • 商品コード 9784844313816
  • NDC分類 547.48
  • Cコード C3055

出版社内容情報

米国No.1ベストセラー、待望の日本上陸!
これからの業界標準!

XMLをどんな場所にどのように利用するのか、電子商取引にXMLを利用する方法など、
XMLをより実践的に解説。ありがちなコーディングミスもサンプルで例示しています。
XML文書の「構造」も、図解ですっきり理解できます!

---------------<目次>---------------

監修のことば iii
著者/監修者/訳者紹介 iv
はじめに v
本書のコンセプト v
対象読者 v
本書の構成 vi
本書の表記形式 vi
動作環境 vii
最後に viii

第1章 XMLの小宇宙 1
1.1 はじめに 2
1.2 XMLとは 4
1.2.1 事前に定義されていないタグ 5
1.2.2 厳密性 6
1.3 文書構造の基礎 6
1.4 マークアップ言語の歴史 10
1.4.1 マークアップ 10
1.4.2 手続き型マークアップ 10
1.4.3 汎用コーディング 13
1.4.4 標準汎用化マークアップ言語(SGML) 14
1.4.5 ハイパーテキストマークアップ言語(HTML) 16
1.4.6 拡張可能マークアップ言語(XML) 22
1.5 XMLのアプリケーション 24
1.5.1 文書アプリケーション 24
1.5.2 データアプリケーション 25
1.6 関連規格 28
1.6.1 XML名前空間 28
1.6.2 スタイルシート 29
1.6.3 DOMとSAX 31
1.6.4 XLinkとXPointer 31
1.7 XMLソフトウェア 32
1.7.1 XMLブラウザ 32
1.7.2 XMLエディタ 33
1.7.3 XMLパーサー 33
1.7.4 XSLプロセッサ 33
1.8 まとめ 34

第2章 XMLの構文 35
2.1 XMLの構文について 36
2.1.1 XMLマークアップの使い方 36
2.1.2 要素の開始タグと終了タグ 38
2.1.3 XMLでの名前 39
2.1.4 属性 41
2.1.5 空要素 41
2.1.6 要素の入れ子 42
2.1.7 ルート 43
2.1.8 XMLの宣言 44
2.2 高度なトピック 45
2.2.1 コメント 45
2.2.2 Unicode 45
2.2.3 実体 47
2.2.4 特殊属性 49
2.2.5 処理命令 49
2.2.6 CDATAセクション 50
2.3 XMLについてのFAQ 51
2.3.1 コードのインデント 51
2.3.2 終了タグがある理由 52
2.3.3 XMLとセマンティック 54
2.4 よくある4つの間違い 54
2.4.1 終了タグの書き忘れ 55
2.4.2 大文字と小文字の書き間違い 55
2.4.3  要素の名前に空白を入れてしまう 56
2.4.4 属性値の前後の引用符の書き忘れ 56
2.5 XMLエディタ 56
2.6 XMLの3つの応用 58
2.6.1 出版関係 58
2.6.2 ビジネス文書の交換 59
2.6.3 チャンネル 61
2.7 まとめ 62

第3章 XMLのスキーマ 63
3.1 DTDの構文 64
3.1.1 要素の宣言 65
3.1.2 要素の名前 66
3.1.3 特殊なキーワード 66
3.1.4 アスタリスクとプラス記号と疑問符 67
3.1.5 カンマと縦棒 67
3.1.6 要素の内容とインデント 68
3.1.7 曖昧さのないモデル 68
3.1.8 属性 69
3.1.9  文書の型宣言 71
3.1.10 内部サブセットと外部サブセット 72
3.1.11 パブリック識別子の形式 74
3.1.12 独立した文書 74
3.2 スキーマがある理由 75
3.2.1 整形式文書と妥当な文書 76
3.3 DTDと文書の関係 77
3.3.1 DTDの利点 79
3.3.2 文書の検証 79
3.4 実体と表記 81
3.4.1 汎用実体とパラメータ実体 81
3.4.2 内部実体と外部実体 82
3.4.3 表記 85
3.4.4 実体による文書の管理 85
3.5 条件セクション 86
3.6 DTDの設計 87
3.6.1 既存のDTDを使う利点 87
3.7 オブジェクトモデルからのDTDの設計 88
3.7.1 要素と属性 92
3.8 一からのDTDの設計 93
3.8.1 柔軟性 93
3.8.2  XML文書のモデル化 95
3.8.3 要素の名前付け 99
3.9  役に立つツール 100
3.10 新しいXMLスキーマ 100
3.11 まとめ 101

第4章 名前空間 103
4.1 名前空間が解決する問題点 104
4.2 名前空間 108
4.2.1 名前空間の名前 109
4.3  URI 110
4.3.1 名前を構成する要素 110
4.3.2 ドメイン名の登録 111
4.3.3 目的に沿ったURLの作成 113
4.3.4 URN 113
4.4 範囲 114
4.5 名前空間とDTD 115
4.6 名前空間の応用 117
4.6.1 XMLスタイルシート 117
4.6.2 リンク 118
4.7 まとめ 118

第5章 XSLを利用した変形 119
5.1 なぜスタイルなのか? 120
5.1.1 CSS 120
5.1.2 XSL 120
5.2 XSL 121
5.2.1 LotusXSL 121
5.2.2 XSLTという概念 122
5.3 基本的なXSLT 123
5.3.1 ブラウザでのXMLの表示 123
5.3.2 単純なスタイルシート 126
5.3.3 スタイルシート要素 129
5.3.4 テンプレート要素 130
5.3.5 パス 130
5.3.6 属性の一致 131
5.3.7 テキストと関数の一致 132
5.3.8 より深いツリー構造 133
5.3.9 プロセッサの処理の手順 133
5.3.10 結果のツリー構造へのノードの作成 135
5.3.11 優先順位 136
5.4 異なるメディアのサポート 137
5.4.1 テキスト変換 137
5.4.2 表示のカスタマイズ 139
5.5 スタイルシートの適用できる場所 140
5.5.1 Internet Explorer 5.0 141
5.5.2 スタイルシートへの変更 144
5.6 より高度なXSLT 145
5.6.1 スタイルシート中でのHTML実体の宣言 148
5.6.2 ソースツリーの再構成 148
5.6.3 テンプレートの呼び出し 149
5.6.4 繰り返し 149
5.7 XSLTを用いた情報の抽出 150
5.8 まとめ 155

第6章 XSLFOとCSS 157
6.1 HTMLを使わないXMLのレンダリング 158
6.2 CSSの基礎知識 159
6.2.1 簡単なCSS 160
6.2.2 コメント 163
6.2.3 セレクタ 163
6.2.4 優先順位 164
6.2.5 プロパティ 165
6.3 フローオブジェクトとボックス 165
6.3.1 フローオブジェクト 166
6.3.2 プロパティの継承 166
6.3.3 ボックス 166
6.4 CSSのプロパティ値 169
6.4.1 長さ 169
6.4.2 パーセンテージ 170
6.4.3 色 170
6.4.4 URL 171
6.5 ボックスの各プロパティ 171
6.5.1 ディスプレイ用プロパティ 172
6.5.2 マージン用プロパティ 172
6.5.3 パディング用プロパティ 173
6.5.4 ボーダースタイル用プロパティ 173
6.5.5 ボーダー幅用プロパティ 173
6.5.6 ボーダーの省略形 173
6.6 テキストとフォント用プロパティ 174
6.6.1 フォントの名前 174
6.6.2 フォントのサイズ 174
6.6.3 フォントのスタイルとウエイト 175
6.6.4 テキスト揃え 175
6.6.5 インデントと行間 175
6.6.6 フォントの省略形 176
6.7 色と背景用プロパティ 176
6.7.1 描画色 176
6.7.2 背景色 176
6.7.3 ボーダー色 177
6.7.4 背景画像 177
6.8 より高度な機能 177
6.8.1 子セレクタ 179
6.8.2 隣接セレクタ 179
6.8.3 属性セレクタ 180
6.8.4 コンテンツの作成 180
6.8.5 スタイルシートの読み込み 180
6.9  CSSとXMLエディタ 181
6.9.1 テキストエディタ 181
6.9.2 ツリー構造エディタ 182
6.9.3 WYSIWYGエディタ 183
6.10 XSLFO 184
6.10.1 XSLTとCSS 184
6.10.2 XSLFO 186
6.11 まとめ 188

第7章 パーサーとDOM 189
7.1 パーサーとは 190
7.1.1 パーサーについて 190
7.1.2 検証パーサーと非検証パーサー 191
7.2 パーサーとアプリケーション 192
7.2.1 XMLプログラムのアーキテクチャ 192
7.2.2 オブジェクトベースのインターフェイス 192
7.2.3 イベントベースのインターフェイス 194
7.2.4 標準の必要性 195
7.3 文書のオブジェクトモデル 196
7.4 DOMの使い方 197
7.4.1 DOMアプリケーション 197
7.4.2 DOMノード 201
7.4.3 Documentオブジェクト 202
7.4.4 要素ツリーの利用 203
7.4.5 要素オブジェクト 206
7.4.6 テキストオブジェクト 206
7.5 状態の管理 207
7.5.1 状態を管理するDOMアプリケーション 207
7.6 属性 210
7.6.1 NamedNodeMap 215
7.6.2 Attr 216
7.6.3 構造についての注意 217
7.7 一般的なエラーと解決方法 217
7.7.1 厳密なXMLパーサー 217
7.7.2 エラーメッセージ 218
7.7.3 XSLTの一般的なエラー 219
7.8 DOMとJava 219
7.8.1 DOMとIDL 219
7.8.2 Java版のDOMアプリケーション 220
7.8.3 2つの大きな違い 222
7.8.4 パーサー 223
7.9 アプリケーション中のDOM 224
7.9.1 ブラウザ 224
7.9.2 エディタ 228
7.9.3 データベース 228
7.10 まとめ 228

第8章 もう1つのAPI――SAX 229
8.1  複数のAPIがある理由 230
8.1.1 オブジェクトベースとイベントベースのインターフェイス 230
8.1.2 イベントベースのインターフェイス 232
8.1.3 イベントベースのインターフェイスを使う理由 234
8.2  SAX――もう1つのAPI 235
8.2.1 SAXの使い方 236
8.2.2 サンプルのコンパイル 238
8.3 SAXインターフェイスとオブジェクト 240
8.3.1 おもなSAXイベント 240
8.3.2 Parser 240
8.3.3 ParserFactory 241
8.3.4 InputSource 241
8.3.5 DocumentHandler 242
8.3.6 AttributeList 243
8.3.7 Locator 244
8.3.8 DTDHandler 244
8.3.9 EntityResolver 244
8.3.10 ErrorHandler 245
8.3.11 SAXException 245
8.4 状態の保持 246
8.4.1 階層化したアーキテクチャ 256
8.4.2 状態 257
8.4.3 推移 259
8.4.4 これまでに学んだこと 261
8.5 柔軟性 261
8.5.1 柔軟性の構築 261
8.5.2 構造の強要 262
8.6 まとめ 262

第9章 XMLの書き出し方 263
9.1  パーサーの鏡面対称となるコンポーネント 264
9.2 DOMを用いた文書の修正 264
9.2.1  ノードの挿入 268
9.2.2 XML形式での保存 270
9.3 文書の作成/修正を行うDOMメソッド 270
9.3.1 Document 271
9.3.2 Node 271
9.3.3 CharacterData 272
9.3.4 Element 272
9.3.5 Text 273
9.4 DOMを用いた新しい文書の作成 273
9.4.1 ノードの作成 275
9.4.2 トップレベル要素の作成 276
9.5 DOMを用いた文書の作成 277
9.6 DOMを用いない文書の作成 277
9.6.1 非DOM型データ構造 282
9.6.2 XMLの記述 282
9.6.3 構文の隠ぺい 283
9.7 XML以外のデータ構造からの文書作成 284
9.8 XML文書を使った応用 285
9.8.1 文書をサーバーに送信 285
9.8.2 文書を保存するには 289
9.9 柔軟性を念頭に置いた書き方 289
9.9.1 XSLTを用いた各種のDTDのサポート 290
9.9.2 XSLTの呼び出し 297
9.9.3 文書のどの構造か? 297
9.9.4  XSLTとカスタム機能 298
9.10 まとめ 298

第10章 柔軟性のモデル化 299
10.1 構造化と拡張性 300
10.1.1 XMLが持つ拡張機能の制限 300
10.1.2 XMLの拡張機能を基にした構築 304
10.1.3 ここで学んだこと 313
10.2 XLink 314
10.2.1 単純リンク 315
10.2.2 拡張リンク 317
10.2.3 XLinkとブラウザ 319
10.3 署名 320
10.4 抽象化の適切なレベル 322
10.4.1 破壊的変形と非破壊的変形 322
10.4.2 埋め合わせ 326
10.4.3 多すぎる曖昧性を避けるには 328
10.5 属性と要素 331
10.5.1 属性の利用 332
10.5.2 要素の利用 333
10.5.3 ここで学んだこと 334
10.6 まとめ 335

第11章 N階層のアーキテクチャとXML 337
11.1 N階層アプリケーションとは 338
11.1.1 クライアント/サーバー型アプリケーション 338
11.1.2 3階層アプリケーション 339
11.1.3 N階層 340
11.2 X商取引アプリケーション 341
11.2.1 簡略化 341
11.2.2 ショッピング 342
11.2.3 XMLサーバー 345
11.3 XMLがどのように役立つか 347
11.3.1 ミドルウェア 347
11.3.2 共通形式 349
11.4 データ層用のXML 350
11.4.1 拡張性 350
11.4.2 スケーラビリティ 352
11.4.3 多機能性 356
11.5 ミドル層上のXML 357
11.5.1 クライアント 363
11.6 サーバーサイドのプログラミング言語 366
11.6.1 Perl 367
11.6.2 JavaScript 367
11.6.3 Python 368
11.6.4 Omnimark 368
11.6.5 Java 368
11.7 まとめ 369

第12章 実例:電子商取引 371
12.1 X商取引の構築 372
12.1.1 クラスパス 372
12.1.2 設定ファイル 372
12.1.3 ディレクトリ 374
12.1.4 コンパイルと実行 374
12.1.5 URL 375
12.1.6 データベース 375
12.2 ミドル層 377
12.2.1 MerchantCollection 383
12.2.2 Merchant 386
12.2.3 Product 391
12.2.4 Checkout 394
12.3 XMLツールのカプセル化 402
12.4 データ層 410
12.5 ビューアとエディタ 422
12.6 まとめ 432
付録A Java速習講座 433
A.1 Javaとの相関関係 434
A.1.1 サーバーサイドアプリケーション 434
A.1.2  サーバーサイドアプリケーションの構成要素 435
A.2 Javaツールのダウンロード 435
A.2.1 Java環境 435
A.2.2 XMLコンポーネント 436
A.2.3 サーブレットエンジン 437
A.3 はじめてのJavaアプリケーション 438
A.3.1 制御の流れ 441
A.3.2 変数 442
A.3.3 クラス 442
A.3.4 オブジェクトの作成 443
A.3.5 フィールドとメソッドへのアクセス 443
A.3.6 静的 443
A.3.7 メソッドと引数 444
A.3.8 コンストラクタ 444
A.3.9 パッケージ 445
A.3.10 インポート 445
A.3.11 アクセス制御 445
A.3.12 コメントとJavadoc 446
A.3.13 例外処理 448
A.4 サーブレット 449
A.5 はじめてのサーブレット 450
A.5.1 継承 453
A.5.2 doGet() 454
A.6 Java言語の概念 455
A.6.1 thisとsuper 455
A.6.2 インターフェイスと多重継承 456
A.6.3 クラスパスの基礎知識 457
A.6.4 JARファイル 458
A.6.5 JavaコアAPI 459
A.7 まとめ 460
付録B 日本語版付録 461
B.1 情報源 462
B.2 国際化の諸問題と今後の課題 463
B.2.1 書体と字体 463
B.2.2 文字と言語 464
B.2.3 XML文書の引用 464
B.3 日本製ソフトウェアの紹介 464
B.3.1 TagEditor 464
B.3.2 一太郎Ark 465

略語解説 467
索引 471



内容説明

本書では、従来はリレーショナルデータベースによるバックエンドにWWWのフロントエンドをかぶせるという方法が主流である電子商取引について、XMLを応用する例が掲載されている。

目次

XMLの小宇宙
XMLの構文
XMLのスキーマ
名前空間
XSLを利用した変形
XSLFOとCSS
パーサーとDOM
もう1つのAPI―SAX
XMLの書き出し方
柔軟性のモデル化〔ほか〕