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

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

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

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

    public class XML2TableParser

extends org.xml.sax.helpers.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) java.util.Map<java.lang.String,java.lang.Integer>` | `colCpIdxs`
`(package private) java.lang.String` | `colCpKeys`
`(package private) java.lang.String[]` | `cols`
`(package private) java.lang.String` | `curFQName`
`(package private) java.lang.String` | `curId`
`(package private) java.lang.String` | `curQName`
`(package private) java.lang.String[]` | `data`
`(package private) java.util.List<org.opengion.fukurou.xml.XML2TableParser.RowColId>` | `idList`
`(package private) java.util.Map<java.lang.String,java.lang.String>` | `idMap`
`(package private) java.io.InputStream` | `input`
`(package private) boolean` | `isInRow`
`(package private) int` | `pFullTagIdx`
`(package private) int` | `pTagIdx`
`(package private) java.lang.String` | `rowCpKey`
`(package private) java.util.List<java.lang.String[]>` | `rows`
`(package private) java.lang.String` | `rtnCpKeys`
`(package private) java.util.Map<java.lang.String,java.lang.String>` | `rtnKeyMap`
`(package private) java.util.Map<java.lang.String,java.lang.String>` | `rtnMap`

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

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

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

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

フィールドの詳細

### rowCpKey

    java.lang.String rowCpKey

### colCpKeys

    java.lang.String colCpKeys

### colCpIdxs

    java.util.Map<java.lang.String,java.lang.Integer> colCpIdxs

### rows

    java.util.List<java.lang.String[]> rows

### data

    java.lang.String[] data

### cols

    java.lang.String[] cols

### rtnCpKeys

    java.lang.String rtnCpKeys

### rtnKeyMap

    java.util.Map<java.lang.String,java.lang.String> rtnKeyMap

### rtnMap

    java.util.Map<java.lang.String,java.lang.String> rtnMap

### isInRow

    boolean isInRow

### curQName

    java.lang.String curQName

### curFQName

    java.lang.String curFQName

### pFullTagIdx

    int pFullTagIdx

### pTagIdx

    int pTagIdx

### curId

    java.lang.String curId

### idList

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

### idMap

    java.util.Map<java.lang.String,java.lang.String> idMap

### input

    final java.io.InputStream input

コンストラクタの詳細

### XML2TableParser

    public XML2TableParser(java.lang.String st)

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

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

### XML2TableParser

    public XML2TableParser(java.io.InputStream is)

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

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

メソッドの詳細

### setTableCols

    public void setTableCols(java.lang.String rKey,
                             java.lang.String[] cKeys)

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

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

    5.1.6.0 (2010/05/01) rowKeyの親タグが取得できるように対応
    5.1.9.0 (2010/08/01) 可変オブジェクトへの参照の直接セットをコピーに変更

### setReturnCols

    public void setReturnCols(java.lang.String[] rKeys)

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

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

### getCols

    public java.lang.String[] getCols()

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

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

    5.1.9.0 (2010/08/01) 可変オブジェクトの参照返しをコピー返しに変更

### getData

    public java.lang.String[][] getData()

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

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

### getRtn

    public java.util.Map<java.lang.String,java.lang.String> getRtn()

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

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

### parse

    public void parse()

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

### startElement

    public void startElement(java.lang.String uri,
                             java.lang.String localName,
                             java.lang.String qName,
                             org.xml.sax.Attributes attributes)

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

  定義:
    インタフェース `org.xml.sax.ContentHandler` 内の `startElement`
  オーバーライド:
    クラス `org.xml.sax.helpers.DefaultHandler` 内の `startElement`
  パラメータ:
    `uri` - 名前空間ＵＲＩ。要素が名前空間 ＵＲＩを持たない場合、または名前空間処理が行われない場合は空文字列
    `localName` - 接頭辞を含まないローカル名。名前空間処理が行われない場合は空文字列
    `qName` - 接頭辞を持つ修飾名。修飾名を使用できない場合は空文字列
    `attributes` - 要素に付加された属性。属性が存在しない場合、空の Attributesオブジェクト
  変更履歴:

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

### characters

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

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

  定義:
    インタフェース `org.xml.sax.ContentHandler` 内の `characters`
  オーバーライド:
    クラス `org.xml.sax.helpers.DefaultHandler` 内の `characters`
  パラメータ:
    `ch` - 文字データ配列
    `offset` - 文字配列内の開始位置
    `length` - 文字配列から使用される文字数

### endElement

    public void endElement(java.lang.String uri,
                           java.lang.String localName,
                           java.lang.String qName)

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

  定義:
    インタフェース `org.xml.sax.ContentHandler` 内の `endElement`
  オーバーライド:
    クラス `org.xml.sax.helpers.DefaultHandler` 内の `endElement`
  パラメータ:
    `uri` - 名前空間 URI。要素が名前空間 URI を持たない場合、または名前空間処理が行われない場合は空文字列
    `localName` - 接頭辞を含まないローカル名。名前空間処理が行われない場合は空文字列
    `qName` - 接頭辞を持つ修飾名。修飾名を使用できない場合は空文字列

### endDocument

    public void endDocument()

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

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

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

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