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

## woolpack.xml
クラス XmlUtils

    java.lang.Object
      woolpack.xml.XmlUtils

    public final class XmlUtils

extends java.lang.Object

DOMを操作するユーティリティです。 型推論で表記を簡略するためのスタティックメソッドと変数を含みます。

作成者:
  nakamura

フィールドの概要
`static Fn<NodeContext,java.lang.Void,java.lang.RuntimeException>` | `CLONE_NODE` `Node.cloneNode(boolean)`で複製したノードを再設定する関数です。
`static Fn<NodeContext,org.w3c.dom.Node,java.lang.RuntimeException>` | `GET_NODE` DOM ノード名を返す関数です。
`static Fn<org.w3c.dom.Node,java.lang.String,java.lang.RuntimeException>` | `GET_NODE_NAME` DOM ノード名を返す関数です。
`static EL` | `NODE_EL` `NodeContext`のアクセサにアクセスする式言語です。
`static Fn<NodeContext,java.lang.Void,java.lang.RuntimeException>` | `NORMALIZE_NODE` ドキュメントノードに対して`Node.normalize()`を呼び出す関数です。
`static Fn<NodeContext,java.lang.Void,java.lang.RuntimeException>` | `REMOVE_CHILDREN` DOM ノードの全ての子ノードを削除する関数です。
`static Fn<NodeContext,java.lang.Void,java.lang.RuntimeException>` | `REMOVE_THIS` 子ノードを全て含む DOM ノードを削除する関数です。
`static Fn<NodeContext,java.lang.Void,java.lang.RuntimeException>` | `RETAIN_CHILDREN` 現在の位置の DOM ノードのみを削除する関数です。

メソッドの概要
`static void` | `appendText(org.w3c.dom.Node node, java.lang.String text)` DOM ノードの子ノードにテキストノードを追加します。
`static
`<C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E>`
` | `branchByAttrValue(java.lang.Iterable<java.lang.String> attrNames, Fn<java.lang.String,? extends Fn<? super C,java.lang.Void,? extends E>,? extends E> fn)` 属性値をキーとして委譲先を検索して委譲する関数を生成します。
`static
`<C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E>`
` | `copyTemplate(GettingEL collectionEL, EL valueEL, Fn<? super C,java.lang.Void,? extends E> fn)` コンテキスト役からコレクション取得し、 コレクションの各値に対し DOM ノードをコピーして処理を委譲し、 最後にオリジナルのノードを削除する関数を生成します。
`static boolean` | `equalsNode(org.w3c.dom.Node node0, org.w3c.dom.Node node1)` DOM ノードを比較します。
`static
`<C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E>`
` | `findNode(Fn<? super org.w3c.dom.Node,? extends org.w3c.dom.NodeList,? extends E> findable, Fn<? super C,java.lang.Void,? extends E> fn)` ノードを検索して委譲する関数を生成します。
`static
`<C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E>`
` | `findNode(Fn<? super org.w3c.dom.Node,? extends org.w3c.dom.NodeList,? extends E> findable, Fn<? super C,java.lang.Void,? extends E> firstFn, Fn<? super C,java.lang.Void,? extends E> pluralFn)` ノードを検索して委譲する関数を生成します。
`static Fn<NodeContext,java.lang.String,java.lang.RuntimeException>` | `getAttrValue(java.lang.String attrName)` DOM エレメントの属性値を返す関数を生成します。
`static org.w3c.dom.Document` | `getDocumentNode(org.w3c.dom.Node node)` DOM ドキュメントを返します。
`static
`<C extends NodeContext> Fn<C,java.lang.Void,java.lang.RuntimeException>`
` | `insertElementToChild(java.lang.String elementName)` 子ノードとして DOM エレメントを挿入する関数を生成します。
`static
`<C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E>`
` | `insertElementToChild(java.lang.String elementName, Fn<? super C,java.lang.Void,? extends E> fn)` 子ノードとして DOM エレメントを挿入する関数を生成します。
`static
`<C extends NodeContext> ParentElementInserter<C,java.lang.RuntimeException>`
` | `insertElementToParent(java.lang.String elementName)` 親ノードとして DOM エレメントを挿入する関数を生成します。
`static
`<C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E>`
` | `insertElementToParent(java.lang.String elementName, Fn<? super C,java.lang.Void,? extends E> fn)` 親ノードとして DOM エレメントを挿入する関数を生成します。
`static
`<C> Fn<C,org.w3c.dom.Node,java.lang.Exception>`
` | `nodeFactory(Fn<? super C,? extends java.io.Reader,? extends java.lang.Exception> readerFactory, Fn<XmlTransformerContext,java.lang.Void,? extends java.lang.Exception> transformer)` `Reader`と`XmlTransformer`を使用する`Node`のファクトリを生成します。
`static Fn<NodeContext,java.lang.Void,java.lang.RuntimeException>` | `removeAttr(java.lang.String attrName)` DOM エレメントの属性を削除する関数を生成します。
`static void` | `removeChildren(org.w3c.dom.Node node)` 指定された DOM ノードの全ての子ノードを削除します。
`static void` | `removeThis(org.w3c.dom.Node node)` 子ノードを含むDOMノードを削除します。
`static
`<C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E>`
` | `replaceText(Fn<? super C,java.lang.String,? extends E> fn)` 指定された DOM ノードをテキストノードに置き換える関数を生成します。
`static
`<C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E>`
` | `replaceTextToChild(Fn<? super C,java.lang.String,? extends E> fn)` 指定された DOM ノードの子ノードをテキストノードに置き換える関数を生成します。
`static void` | `retainChildren(org.w3c.dom.Node node)` 指定された DOM ノードのみを削除します。
`static
`<C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E>`
` | `seekNode(Fn<? super C,java.lang.Void,? extends E> fn)` DOMノードを再帰的にループしながら委譲する関数を生成します。
`static
`<C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E>`
` | `setNode(Fn<? super C,? extends org.w3c.dom.Node,? extends E> fn)` 委譲先で生成したノードを設定する関数を生成します。
`static
`<C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E>`
` | `updateAttrValue(java.lang.String attrName, Fn<? super C,java.lang.String,? extends E> fn)` 委譲先の返却値で属性値を更新する関数を生成します。

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

フィールドの詳細

### GET_NODE

    public static final Fn<NodeContext,org.w3c.dom.Node,java.lang.RuntimeException> GET_NODE

  DOM ノード名を返す関数です。

### GET_NODE_NAME

    public static final Fn<org.w3c.dom.Node,java.lang.String,java.lang.RuntimeException> GET_NODE_NAME

  DOM ノード名を返す関数です。

### REMOVE_THIS

    public static final Fn<NodeContext,java.lang.Void,java.lang.RuntimeException> REMOVE_THIS

  子ノードを全て含む DOM ノードを削除する関数です。

### REMOVE_CHILDREN

    public static final Fn<NodeContext,java.lang.Void,java.lang.RuntimeException> REMOVE_CHILDREN

  DOM ノードの全ての子ノードを削除する関数です。

### RETAIN_CHILDREN

    public static final Fn<NodeContext,java.lang.Void,java.lang.RuntimeException> RETAIN_CHILDREN

  現在の位置の DOM ノードのみを削除する関数です。 子ノードは指定されたノードの位置に挿入されます。

### CLONE_NODE

    public static final Fn<NodeContext,java.lang.Void,java.lang.RuntimeException> CLONE_NODE

  `Node.cloneNode(boolean)`で複製したノードを再設定する関数です。

### NORMALIZE_NODE

    public static final Fn<NodeContext,java.lang.Void,java.lang.RuntimeException> NORMALIZE_NODE

  ドキュメントノードに対して`Node.normalize()`を呼び出す関数です。

### NODE_EL

    public static final EL NODE_EL

  `NodeContext`のアクセサにアクセスする式言語です。

メソッドの詳細

### equalsNode

    public static boolean equalsNode(org.w3c.dom.Node node0,
                                     org.w3c.dom.Node node1)

  DOM ノードを比較します。

  パラメータ:
    `node0` -
    `node1` -
  戻り値:
    同一内容を表すなら true。それ以外は false。

### removeThis

    public static void removeThis(org.w3c.dom.Node node)

  子ノードを含むDOMノードを削除します。

  パラメータ:
    `node` -

### removeChildren

    public static void removeChildren(org.w3c.dom.Node node)

  指定された DOM ノードの全ての子ノードを削除します。

  パラメータ:
    `node` -

### retainChildren

    public static void retainChildren(org.w3c.dom.Node node)

  指定された DOM ノードのみを削除します。子ノードは指定された DOM ノードの位置に挿入されます。

  パラメータ:
    `node` -

### appendText

    public static void appendText(org.w3c.dom.Node node,
                                  java.lang.String text)

  DOM ノードの子ノードにテキストノードを追加します。

  パラメータ:
    `node` -
    `text` -

### getDocumentNode

    public static org.w3c.dom.Document getDocumentNode(org.w3c.dom.Node node)

  DOM ドキュメントを返します。 DOM ドキュメントに対して`Node.getOwnerDocument()` の呼び出しが失敗するためにこのメソッドを定義しました。

  パラメータ:
    `node` -
  戻り値:
    ドキュメントノード。

### branchByAttrValue

    public static <C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E> branchByAttrValue(java.lang.Iterable<java.lang.String> attrNames,
                                                                                                                 Fn<java.lang.String,? extends Fn<? super C,java.lang.Void,? extends E>,? extends E> fn)

  属性値をキーとして委譲先を検索して委譲する関数を生成します。

  型パラメータ:
    `C` -
    `E` -
  パラメータ:
    `attrNames` - 属性値を取得するための属性名の候補一覧。
    `fn` - 属性値と委譲先の対応表。
  戻り値:
    関数。

### findNode

    public static <C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E> findNode(Fn<? super org.w3c.dom.Node,? extends org.w3c.dom.NodeList,? extends E> findable,
                                                                                                        Fn<? super C,java.lang.Void,? extends E> firstFn,
                                                                                                        Fn<? super C,java.lang.Void,? extends E> pluralFn)

  ノードを検索して委譲する関数を生成します。 委譲先でノードを操作した場合、次の検索結果に影響するかは委譲先に依存します。

  型パラメータ:
    `C` -
    `E` -
  パラメータ:
    `findable` - ノードを検索する委譲先。
    `firstFn` - 最初の委譲先(ポインタは検索結果)。
    `pluralFn` - 2番目以降の委譲先(ポインタは検索結果)。
  戻り値:
    関数。

### findNode

    public static <C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E> findNode(Fn<? super org.w3c.dom.Node,? extends org.w3c.dom.NodeList,? extends E> findable,
                                                                                                        Fn<? super C,java.lang.Void,? extends E> fn)

  ノードを検索して委譲する関数を生成します。 委譲先でノードを操作した場合、次の検索結果に影響するかは委譲先に依存します。

  型パラメータ:
    `C` -
    `E` -
  パラメータ:
    `findable` -
    `fn` - 委譲先(ポインタは検索結果)。
  戻り値:
    関数。

### getAttrValue

    public static Fn<NodeContext,java.lang.String,java.lang.RuntimeException> getAttrValue(java.lang.String attrName)

  DOM エレメントの属性値を返す関数を生成します。

  パラメータ:
    `attrName` - 属性名。
  戻り値:
    関数。

### insertElementToChild

    public static <C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E> insertElementToChild(java.lang.String elementName,
                                                                                                                    Fn<? super C,java.lang.Void,? extends E> fn)

  子ノードとして DOM エレメントを挿入する関数を生成します。

  型パラメータ:
    `C` -
    `E` -
  パラメータ:
    `elementName` - エレメント名。
    `fn` - 委譲先(ポインタは挿入したエレメント)。
  戻り値:
    関数。

### insertElementToChild

    public static <C extends NodeContext> Fn<C,java.lang.Void,java.lang.RuntimeException> insertElementToChild(java.lang.String elementName)

  子ノードとして DOM エレメントを挿入する関数を生成します。

  型パラメータ:
    `C` -
  パラメータ:
    `elementName` - エレメント名。
  戻り値:
    関数。

### insertElementToParent

    public static <C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E> insertElementToParent(java.lang.String elementName,
                                                                                                                     Fn<? super C,java.lang.Void,? extends E> fn)

  親ノードとして DOM エレメントを挿入する関数を生成します。

  型パラメータ:
    `C` -
    `E` -
  パラメータ:
    `elementName` - エレメント名。
    `fn` - 委譲先(ポインタは挿入したエレメント)。
  戻り値:
    関数。

### insertElementToParent

    public static <C extends NodeContext> ParentElementInserter<C,java.lang.RuntimeException> insertElementToParent(java.lang.String elementName)

  親ノードとして DOM エレメントを挿入する関数を生成します。

  型パラメータ:
    `C` -
  パラメータ:
    `elementName` - エレメント名。
  戻り値:
    関数。

### copyTemplate

    public static <C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E> copyTemplate(GettingEL collectionEL,
                                                                                                            EL valueEL,
                                                                                                            Fn<? super C,java.lang.Void,? extends E> fn)

  コンテキスト役からコレクション取得し、 コレクションの各値に対し DOM ノードをコピーして処理を委譲し、 最後にオリジナルのノードを削除する関数を生成します。 HTML で項目を列挙する時に主に使用します。

  型パラメータ:
    `C` -
    `E` -
  パラメータ:
    `collectionEL` - コレクションへの参照。
    `valueEL` - コレクションの各値の格納先。
    `fn` - コレクションの各値に対する委譲先(ポインタはコピーしたノード)。
  戻り値:
    関数。

### nodeFactory

    public static <C> Fn<C,org.w3c.dom.Node,java.lang.Exception> nodeFactory(Fn<? super C,? extends java.io.Reader,? extends java.lang.Exception> readerFactory,
                                                                             Fn<XmlTransformerContext,java.lang.Void,? extends java.lang.Exception> transformer)

  `Reader`と`XmlTransformer`を使用する`Node`のファクトリを生成します。

  型パラメータ:
    `C` -
  パラメータ:
    `readerFactory` - リーダーのファクトリ。
    `transformer` - XMLの変換器。
  戻り値:
    ファクトリ。

### removeAttr

    public static Fn<NodeContext,java.lang.Void,java.lang.RuntimeException> removeAttr(java.lang.String attrName)

  DOM エレメントの属性を削除する関数を生成します。

  パラメータ:
    `attrName` - 削除対象の属性名。
  戻り値:
    関数。

### replaceText

    public static <C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E> replaceText(Fn<? super C,java.lang.String,? extends E> fn)

  指定された DOM ノードをテキストノードに置き換える関数を生成します。 取得した値が null の場合は値を更新しません。

  型パラメータ:
    `C` -
    `E` -
  パラメータ:
    `fn` - 置き換え文字列の取得先。
  戻り値:
    関数。

### replaceTextToChild

    public static <C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E> replaceTextToChild(Fn<? super C,java.lang.String,? extends E> fn)

  指定された DOM ノードの子ノードをテキストノードに置き換える関数を生成します。 取得した値が null の場合は値を更新しません。

  型パラメータ:
    `C` -
    `E` -
  パラメータ:
    `fn` - 置き換え文字列の取得先。
  戻り値:
    関数。

### seekNode

    public static <C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E> seekNode(Fn<? super C,java.lang.Void,? extends E> fn)

  DOMノードを再帰的にループしながら委譲する関数を生成します。 各層をスナップショットとしてループします。

  型パラメータ:
    `C` -
    `E` -
  パラメータ:
    `fn` - 委譲先(ポインタは各エレメント)。
  戻り値:
    関数。

### setNode

    public static <C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E> setNode(Fn<? super C,? extends org.w3c.dom.Node,? extends E> fn)

  委譲先で生成したノードを設定する関数を生成します。

  型パラメータ:
    `C` -
    `E` -
  パラメータ:
    `fn` - 置き換えノードの取得先。
  戻り値:
    関数。

### updateAttrValue

    public static <C extends NodeContext,E extends java.lang.Exception> Fn<C,java.lang.Void,E> updateAttrValue(java.lang.String attrName,
                                                                                                               Fn<? super C,java.lang.String,? extends E> fn)

  委譲先の返却値で属性値を更新する関数を生成します。 取得した値が null の場合は値を更新しません。

  型パラメータ:
    `C` -
    `E` -
  パラメータ:
    `attrName` - 更新対象の属性名。
    `fn` - 更新値を計算する委譲先。
  戻り値:
    関数。

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

Copyright (C) 2006-2007 Takahiro Nakamura. All rights reserved.