This document is for an old version of Python that is no longer supported. You should upgrade and read the Python documentation for the current stable release.

# 19. 構造化マークアップツール

Python は様々な構造化データマークアップ形式を扱うための、様々なモジュールをサポートしています。これらは標準化一般マークアップ言語 (SGML) およびハイパーテキストマークアップ言語 (HTML)、そして可拡張性マークアップ言語 (XML) を扱うためのいくつかのインタフェースからなります。

注意すべき重要な点として、 `xml` パッケージは少なくとも一つの SAX に対応した XML パーザが利用可能でなければなりません。 Python 2.3 からは Expat パーザが Python に取り込まれているので、 `xml.parsers.expat` モジュールは常に利用できます。また、 PyXML 追加パッケージ についても知りたいと思うかもしれません; このパッケージは Python 用の拡張された XML ライブラリセットを提供します。

`xml.dom` および `xml.sax` パッケージのドキュメントは Python による DOM および SAX インタフェースへのバインディングに関する定義です。

- 19.1. `HTMLParser` --- HTML および XHTML のシンプルなパーサー
  - 19.1.1. HTML パーサーアプリケーションの例
  - 19.1.2. `HTMLParser` メソッド
  - 19.1.3. 例
- 19.2. `sgmllib` --- 単純な SGML パーザ
- 19.3. `htmllib` --- HTML 文書の解析器
  - 19.3.1. HTMLParser オブジェクト
- 19.4. `htmlentitydefs` --- HTML 一般エンティティの定義
- 19.5. XMLを扱うモジュール群
- 19.6. XML の脆弱性
  - 19.6.1. defused packages
- 19.7. `xml.etree.ElementTree` --- ElementTree XML API
  - 19.7.1. チュートリアル
    - 19.7.1.1. XML 木構造と要素
    - 19.7.1.2. XML の解析
    - 19.7.1.3. 関心ある要素の検索
    - 19.7.1.4. XML ファイルの編集
    - 19.7.1.5. XML 文書の構築
    - 19.7.1.6. 名前空間のある XML の解析
    - 19.7.1.7. その他の情報
  - 19.7.2. XPath サポート
    - 19.7.2.1. 例
    - 19.7.2.2. サポートされている XPath 構文
  - 19.7.3. リファレンス
    - 19.7.3.1. 関数
    - 19.7.3.2. Element オブジェクト
    - 19.7.3.3. ElementTree オブジェクト
    - 19.7.3.4. QName オブジェクト
    - 19.7.3.5. TreeBuilder オブジェクト
    - 19.7.3.6. XMLParser オブジェクト
- 19.8. `xml.dom` --- 文書オブジェクトモデル (DOM) API
  - 19.8.1. モジュールコンテンツ
  - 19.8.2. DOM 内のオブジェクト
    - 19.8.2.1. DOMImplementation オブジェクト
    - 19.8.2.2. Node オブジェクト
    - 19.8.2.3. NodeList オブジェクト
    - 19.8.2.4. DocumentType オブジェクト
    - 19.8.2.5. Document オブジェクト
    - 19.8.2.6. Element オブジェクト
    - 19.8.2.7. Attr オブジェクト
    - 19.8.2.8. NamedNodeMap Objects
    - 19.8.2.9. Comment オブジェクト
    - 19.8.2.10. Text オブジェクトおよび CDATASection オブジェクト
    - 19.8.2.11. ProcessingInstruction オブジェクト
    - 19.8.2.12. 例外
  - 19.8.3. 適合性
    - 19.8.3.1. 型の対応付け
    - 19.8.3.2. アクセサメソッド
- 19.9. `xml.dom.minidom` --- 最小限の DOM の実装
  - 19.9.1. DOM オブジェクト
  - 19.9.2. DOM の例
  - 19.9.3. minidom と DOM 標準
- 19.10. `xml.dom.pulldom` --- 部分的な DOM ツリー構築のサポート
  - 19.10.1. DOMEventStream オブジェクト
- 19.11. `xml.sax` --- SAX2 パーサのサポート
  - 19.11.1. SAXException オブジェクト
- 19.12. `xml.sax.handler` --- SAX ハンドラの基底クラス
  - 19.12.1. ContentHandler オブジェクト
  - 19.12.2. DTDHandler オブジェクト
  - 19.12.3. EntityResolver オブジェクト
  - 19.12.4. ErrorHandler オブジェクト
- 19.13. `xml.sax.saxutils` --- SAX ユーティリティ
- 19.14. `xml.sax.xmlreader` --- XML パーサのインタフェース
  - 19.14.1. XMLReader オブジェクト
  - 19.14.2. IncrementalParser オブジェクト
  - 19.14.3. Locator オブジェクト
  - 19.14.4. InputSource オブジェクト
  - 19.14.5. `Attributes` インタフェース
  - 19.14.6. `AttributesNS` インタフェース
- 19.15. `xml.parsers.expat` --- Expat を使った高速な XML 解析
  - 19.15.1. XMLParser Objects
  - 19.15.2. ExpatError 例外
  - 19.15.3. 例
  - 19.15.4. 内容モデルの記述
  - 19.15.5. Expat エラー定数