概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 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> Fn<C,java.lang.Void,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 ノード名を返す関数です。
  適用しているデザインパターン：Accessor。

  関連項目:
    `NodeGetter`

### GET_NODE_NAME

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

  DOM ノード名を返す関数です。
  適用しているデザインパターン：Accessor。

  関連項目:
    `NodeNameGetter`

### REMOVE_THIS

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

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

  関連項目:
    `ThisRemover`

### REMOVE_CHILDREN

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

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

  関連項目:
    `ChildrenRemover`

### RETAIN_CHILDREN

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

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

  関連項目:
    `ChildrenRetainFn`

### CLONE_NODE

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

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

  関連項目:
    `NodeCloner`

### NORMALIZE_NODE

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

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

  関連項目:
    `NodeNormalizer`

### 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)

  属性値をキーとして委譲先を検索して委譲する関数を生成します。
  適用しているデザインパターン：`Fn`のComposite。

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

### 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)

  ノードを検索して委譲する関数を生成します。 委譲先でノードを操作した場合、次の検索結果に影響するかは委譲先に依存します。
  適用しているデザインパターン：`Fn`のComposite。

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

### 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` - 委譲先(ポインタは検索結果)。
  戻り値:
    関数。
  関連項目:
    `findNode(Fn, Fn, Fn)`

### getAttrValue

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

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

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

### 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` - 委譲先(ポインタは挿入したエレメント)。
  戻り値:
    関数。
  関連項目:
    `ChildElementInserter`

### insertElementToChild

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

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

  型パラメータ:
    `C` -
  パラメータ:
    `elementName` - エレメント名。
  戻り値:
    関数。
  関連項目:
    `insertElementToChild(String, Fn)`

### 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` - 委譲先(ポインタは挿入したエレメント)。
  戻り値:
    関数。
  関連項目:
    `ParentElementInserter`

### insertElementToParent

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

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

  型パラメータ:
    `C` -
  パラメータ:
    `elementName` - エレメント名。
  戻り値:
    関数。
  関連項目:
    `insertElementToParent(String, Fn)`

### 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` - コレクションの各値に対する委譲先(ポインタはコピーしたノード)。
  戻り値:
    関数。
  関連項目:
    `TemplateCopier`

### 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の変換器。
  戻り値:
    関数。
  関連項目:
    `NodeFactory`

### removeAttr

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

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

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

### 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` - 置き換え文字列の取得先。
  戻り値:
    関数。
  関連項目:
    `TextReplacer`

### 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` - 置き換え文字列の取得先。
  戻り値:
    関数。
  関連項目:
    `ChildTextReplacer`

### 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` - 委譲先(ポインタは各エレメント)。
  戻り値:
    関数。
  関連項目:
    `NodeSeeker`

### 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` - 置き換えノードの取得先。
  戻り値:
    関数。
  関連項目:
    `NodeSetter`

### 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` - 更新値を計算する委譲先。
  戻り値:
    関数。
  関連項目:
    `AttrValueUpdater`

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

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