概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.1.6.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## org.opengion.fukurou.xml
クラス XML2TableParser

    java.lang.Object
      org.xml.sax.helpers.DefaultHandler
          org.opengion.fukurou.xml.XML2TableParser

すべての実装されたインタフェース:
  ContentHandler, DTDHandler, EntityResolver, ErrorHandler

    public class XML2TableParser

extends DefaultHandler

XML2TableParser は、XMLを表形式に変換するためのXMLパーサーです。 XMLのパースには、SAXを採用しています。 このクラスでは、XMLデータを分解し、2次元配列の表データ、及び、指定されたキーに対応する 属性データのマップを生成します。 これらの配列を生成するためには、以下のパラメータを指定する必要があります。 ①2次元配列データ(表データ)の取り出し 行のキー(タグ名)と、項目のキー一覧(タグ名)を指定することで、表データを取り出します。 具体的には、行キーのタグセットを"行"とみなし、その中に含まれる項目キーをその列の"値"と して分解されます。(行キーがN回出現すれば、N行が生成されます。) もし、行キーの外で、項目キーのタグが出現した場合、その項目キーのタグは無視されます。 また、colKeysにPARENT_TAG、PARENT_FULL_TAGを指定することで、rowKeyで指定されたタグの 直近の親タグ、及びフルの親タグ名(親タグの階層を">[タグA]>[タグB]>[タグC]>"で表現)を 取得することができます。 行キー及び項目キーは、`setTableCols(String, String[])`で指定します。 ②属性データのマップの取り出し 属性キー(タグ名)を指定することで、そのタグ名に対応した値をマップとして生成します。 同じタグ名が複数回にわたって出現した場合、値はアペンドされます。 属性キーは、`setReturnCols(String[])`で指定します。 ※それぞれのキー指定は、大文字、小文字を区別した形で指定することができます。 但し、XMLのタグ名とマッチングする際は、大文字、小文字は区別せずにマッチングされます。

バージョン
  4.0
作成者
  Hiroki Nakamura
導入されたバージョン:
  JDK5.0,

フィールドの概要
`(package private) Map<String,Integer>` | `colCpIdxs`
`(package private) String` | `colCpKeys`
`(package private) String[]` | `cols`
`(package private) String` | `curFQName`
`(package private) String` | `curId`
`(package private) String` | `curQName`
`(package private) String[]` | `data`
`(package private) List<org.opengion.fukurou.xml.XML2TableParser.RowColId>` | `idList`
`(package private) Map<String,String>` | `idMap`
`(package private) InputStream` | `input`
`(package private) boolean` | `isInRow`
`(package private) int` | `pFullTagIdx`
`(package private) int` | `pTagIdx`
`(package private) String` | `rowCpKey`
`(package private) List<String[]>` | `rows`
`(package private) String` | `rtnCpKeys`
`(package private) Map<String,String>` | `rtnKeyMap`
`(package private) Map<String,String>` | `rtnMap`

コンストラクタの概要
`XML2TableParser(InputStream is)` ストリームを指定してパーサーを形成します。
`XML2TableParser(String s)` XMLの文字列を指定してパーサーを形成します。

メソッドの概要
`void` | `characters(char[] ch, int offset, int length)` テキストデータ読み込み時に行う処理を定義します。
`void` | `endDocument()` ドキュメント終了時に行う処理を定義します。
`void` | `endElement(String uri, String localName, String qName)` 要素の終了タグ読み込み時に行う処理を定義します。
`String[]` | `getCols()` 表データのヘッダーの項目名を配列で返します。
`String[][]` | `getData()` 表データを2次元配列で返します。
`Map<String,String>` | `getRtn()` 属性データをマップ形式で返します。
`void` | `parse()` XMLのパースを実行します。
`void` | `setReturnCols(String[] rKeys)` 属性データのマップの取り出しを行うための属性キーを指定します。
`void` | `setTableCols(String rKey, String[] cKeys)` 2次元配列データ(表データ)の取り出しを行うための行キーと項目キーを指定します。
`void` | `startDocument()` ドキュメント開始時に行う処理を定義します。
`void` | `startElement(String uri, String localName, String qName, Attributes attributes)` 要素の開始タグ読み込み時に行う処理を定義します。

クラス org.xml.sax.helpers.DefaultHandler から継承されたメソッド
`endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startPrefixMapping, unparsedEntityDecl, warning`

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

フィールドの詳細

### rowCpKey

    String rowCpKey

### colCpKeys

    String colCpKeys

### colCpIdxs

    Map<String,Integer> colCpIdxs

### rows

    List<String[]> rows

### data

    String[] data

### cols

    String[] cols

### rtnCpKeys

    String rtnCpKeys

### rtnKeyMap

    Map<String,String> rtnKeyMap

### rtnMap

    Map<String,String> rtnMap

### isInRow

    boolean isInRow

### curQName

    String curQName

### curFQName

    String curFQName

### pFullTagIdx

    int pFullTagIdx

### pTagIdx

    int pTagIdx

### curId

    String curId

### idList

    List<org.opengion.fukurou.xml.XML2TableParser.RowColId> idList

### idMap

    Map<String,String> idMap

### input

    final InputStream input

コンストラクタの詳細

### XML2TableParser

    public XML2TableParser(String s)

  XMLの文字列を指定してパーサーを形成します。

  パラメータ:
    `s` - XMLデータ(文字列)

### XML2TableParser

    public XML2TableParser(InputStream is)

  ストリームを指定してパーサーを形成します。

  パラメータ:
    `is` - XMLデータ(ストリーム)

メソッドの詳細

### setTableCols

    public void setTableCols(String rKey,
                             String[] cKeys)

  2次元配列データ(表データ)の取り出しを行うための行キーと項目キーを指定します。

  パラメータ:
    `rKey` - 行キー
    `cKeys` - 項目キー
  変更履歴:

    5.1.6.0 (2010/05/01) rowKeyの親タグが取得できるように対応

### setReturnCols

    public void setReturnCols(String[] rKeys)

  属性データのマップの取り出しを行うための属性キーを指定します。

  パラメータ:
    `rKeys` - 属性キー

### getCols

    public String[] getCols()

  表データのヘッダーの項目名を配列で返します。

  戻り値:
    表データのヘッダーの項目名の配列

### getData

    public String[][] getData()

  表データを2次元配列で返します。

  戻り値:
    表データの2次元配列

### getRtn

    public Map<String,String> getRtn()

  属性データをマップ形式で返します。

  戻り値:
    属性データのマップ

### parse

    public void parse()

  XMLのパースを実行します。

### startDocument

    public void startDocument()

  ドキュメント開始時に行う処理を定義します。 (ここでは何もしません)

  定義:
    インタフェース `ContentHandler` 内の `startDocument`
  オーバーライド:
    クラス `DefaultHandler` 内の `startDocument`

### startElement

    public void startElement(String uri,
                             String localName,
                             String qName,
                             Attributes attributes)

  要素の開始タグ読み込み時に行う処理を定義します。

  定義:
    インタフェース `ContentHandler` 内の `startElement`
  オーバーライド:
    クラス `DefaultHandler` 内の `startElement`
  変更履歴:

    5.1.6.0 (2010/05/01) rowKeyの親タグが取得できるように対応

### characters

    public void characters(char[] ch,
                           int offset,
                           int length)

  テキストデータ読み込み時に行う処理を定義します。

  定義:
    インタフェース `ContentHandler` 内の `characters`
  オーバーライド:
    クラス `DefaultHandler` 内の `characters`

### endElement

    public void endElement(String uri,
                           String localName,
                           String qName)

  要素の終了タグ読み込み時に行う処理を定義します。

  定義:
    インタフェース `ContentHandler` 内の `endElement`
  オーバーライド:
    クラス `DefaultHandler` 内の `endElement`

### endDocument

    public void endDocument()

  ドキュメント終了時に行う処理を定義します。

  定義:
    インタフェース `ContentHandler` 内の `endDocument`
  オーバーライド:
    クラス `DefaultHandler` 内の `endDocument`

概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| openGion 5.1.6.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.