jp.go.aist.dmrc.platform.beans.xml
クラス PFXmlTransformer

java.lang.Object
  上位を拡張 jp.go.aist.dmrc.platform.beans.xml.PFXmlTransformer
すべての実装されたインタフェース:
java.io.Serializable, PFComponent, PFXMLSerializable, PFDataSetEventSource, PFEventSource
直系の既知のサブクラス:
PFLabeledObjectListXmlTransformer

public class PFXmlTransformer
extends java.lang.Object
implements PFComponent, PFDataSetEventSource, PFXMLSerializable

XML関連の処理を行う基本コンポーネント。

このコンポーネントからは以下のイベントが発生する。

一部の機能(readByDOM(String,String)メソッド呼び出し)を実現するためには、 XMLパーサとしてXercesを使用する必要がある。

利用方法は、(JREフォルダ)/lib/ext/にXerces関連のJARファイル (例えばxml-apis.jarとxercesImpl.jar)を置いて、Platform.iniに javax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImplを追加する。

標準のXMLパーサを使用した場合はこのメソッド呼び出しで例外が発生する。

関連項目:
直列化された形式

コンストラクタの概要
PFXmlTransformer()
          デフォルトコンストラクタ
 
メソッドの概要
 org.w3c.dom.Element addElement(org.w3c.dom.Element parent, java.lang.String tagName)
          タグ名を指定して要素を作成して追加する。
 void addPFDataSetListener(PFDataSetListener lis)
          引数で与えられたイベントリスナを登録し、 データ設定イベント発生時に処理を行う対象とする。
 java.lang.String getAttribute(org.w3c.dom.Element element, java.lang.String name)
          要素の属性を取得する。
 PFLabeledObjectList getAttributeList(org.w3c.dom.Element element)
          要素の属性リストを取得する。
 PFObjectTable getAttributeTabletByTagName(java.lang.String tagname)
          タグ名を指定して属性値のテーブルを取得する。
 int getComponentID()
          コンポーネントIDを取得する。
 java.lang.String getComponentKey()
          コンポーネントキーを取得する。
 PFMultiLocaleString getComponentKeys()
          全ロケール分のコンポーネントキーを返す。
 java.lang.String getComponentName()
          コンポーネント名称を取得する。
 java.lang.String getComponentPublicName()
          コンポーネント公開名を取得する.
 java.lang.String getComponentString()
          コンポーネントの文字列表現を取得する。
 org.w3c.dom.Document getDocument()
          DOMツリーを取得する。
 org.w3c.dom.Element getElement(java.lang.String elementId)
          ID文字列を指定して要素を取得する。
 PFObjectList getElementListByChildTagName(org.w3c.dom.Element element, java.lang.String tagname)
          タグ名を指定して子要素のリストを取得する。
 PFObjectList getElementListByTagName(org.w3c.dom.Element element, java.lang.String tagname)
          タグ名を指定して子要素のリストを取得する。
 PFObjectList getElementListByTagName(java.lang.String tagname)
          タグ名を指定して要素のリストを取得する。
 java.awt.Image getImageFromText(org.w3c.dom.Element element)
          要素のテキストから画像(Image)を取得する。
 PFObjectTree getObjectTree()
          DOMツリーからPFObjectTreeを作成する
 java.util.Iterator getPFDataSetListenerList()
          データ設定イベントリスナ配列を取得する。
 org.w3c.dom.Element getRootElement()
          最上位要素を取得する。
 java.lang.String getTagName(org.w3c.dom.Element element)
          要素の名前を取得する。
 java.lang.String getText(org.w3c.dom.Element element)
          要素のテキストを取得する。
 java.lang.String getTextContent(org.w3c.dom.Element element, boolean trim)
          要素のテキストコンテンツを取得する。
 PFObjectList getTextElementListByTagName(org.w3c.dom.Element element, java.lang.String tagname)
          タグ名を指定してテキスト要素のリストを取得する。
 java.lang.String getValueByPath(PFObjectList pathList)
          DOMツリー内のノードの値をパス(リスト形式)指定で取得する
 java.lang.String getValueByPath(java.lang.String path)
          DOMツリー内のノードの値をパス(文字列形式)指定で取得する
 boolean isAllowPullTransfer()
          他PFからのPull型コンポーネント転送要求に対する可否属性を取得する.
 boolean isAllowPushTransfer()
          他PFへのPush型コンポーネント転送要求に対する可否属性を取得する.
 boolean isAllowRemoteInvocation()
          他PFからのコンポーネント連携要求に対する可否属性を取得する.
 void localeUpdated()
          ロケール変更に対応する。
 org.w3c.dom.Element makeRootElement(java.lang.String tagName)
          最上位要素を作成する。
 void readByDOM(java.lang.String filename)
          XMLファイルからDOMツリーを作成する。
 void readByDOM(java.lang.String filename, java.lang.String schemafile)
          XMLファイルとXML SchemaファイルからDOMツリーを作成する。
 void readXML(PFXMLLoader in)
          コンポーネントのXML入力.
 void removePFDataSetListener(PFDataSetListener lis)
          引数で与えられたイベントリスナを削除し、 データ設定イベント発生時に処理を行う対象から外す。
 void setAllowPullTransfer(boolean flag)
          他PFからのPull型コンポーネント転送要求に対する可否属性を設定する.
 void setAllowPushTransfer(boolean flag)
          他PFへのPush型コンポーネント転送要求に対する可否属性を設定する.
 void setAllowRemoteInvocation(boolean flag)
          他PFからのコンポーネント連携要求に対する可否属性を設定する.
 void setAttribute(org.w3c.dom.Element element, java.lang.String name, java.lang.String value)
          要素に属性を設定する。
 void setComponentID(int id)
          コンポーネントIDを設定する。
 void setComponentKey(java.lang.String key)
          コンポーネントのキー情報を設定する
 void setComponentKeys(PFMultiLocaleString keys)
          全ロケール分のコンポーネントキーを設定する。
 void setComponentPublicName(java.lang.String publicName)
          コンポーネント公開名を設定する.
 void setDocument(org.w3c.dom.Document doc)
          DOMツリーを設定する。
 void setEmptyDocument()
          DOMツリーを作成して設定する。
 void setText(org.w3c.dom.Element element, java.lang.String text)
          要素にテキストを設定する。
 void setTextFromImage(org.w3c.dom.Element element, java.awt.Image image)
          要素に画像(Image)をテキストとして設定する。
 void transformByXSLT(java.lang.String xmlfile, java.lang.String xsltfile, java.lang.String target)
          入力とするXMLファイルからXSLファイルを指定して特定のファイルに書き出す。
 void writeDocument(java.lang.String filename)
          現在のDOMツリーをXMLファイルに書き出す。
 void writeXML(PFXMLGenerator out)
          コンポーネントのXML出力.
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

PFXmlTransformer

public PFXmlTransformer()
デフォルトコンストラクタ

メソッドの詳細

getComponentName

public java.lang.String getComponentName()
コンポーネント名称を取得する。

定義:
インタフェース PFComponent 内の getComponentName
戻り値:
コンポーネント名
関連項目:
PFComponent.getComponentName()

getComponentKey

public java.lang.String getComponentKey()
コンポーネントキーを取得する。

定義:
インタフェース PFComponent 内の getComponentKey
戻り値:
コンポーネントキー文字列
関連項目:
PFComponent.getComponentKey()

setComponentKey

public void setComponentKey(java.lang.String key)
コンポーネントのキー情報を設定する

定義:
インタフェース PFComponent 内の setComponentKey
パラメータ:
key - 設定するコンポーネントのキー
関連項目:
PFComponent.setComponentKey(java.lang.String)

getComponentKeys

public PFMultiLocaleString getComponentKeys()
全ロケール分のコンポーネントキーを返す。

戻り値:
全ロケール分のコンポーネントキー

setComponentKeys

public void setComponentKeys(PFMultiLocaleString keys)
全ロケール分のコンポーネントキーを設定する。

パラメータ:
keys - 全ロケール分のコンポーネントキー

getComponentID

public int getComponentID()
コンポーネントIDを取得する。

定義:
インタフェース PFComponent 内の getComponentID
戻り値:
コンポーネントID
関連項目:
PFComponent.getComponentID()

setComponentID

public void setComponentID(int id)
コンポーネントIDを設定する。
コンポーネントIDはプラットフォームPFComponentBusから設定される。 各コンポーネント内では操作しないこと。

定義:
インタフェース PFComponent 内の setComponentID
パラメータ:
id - 設定するコンポーネントID
関連項目:
PFComponent.setComponentID(int)

getComponentString

public java.lang.String getComponentString()
コンポーネントの文字列表現を取得する。
形式:"Component Name" [ ID : "ID" ]

定義:
インタフェース PFComponent 内の getComponentString
戻り値:
コンポーネントの文字列表現を返す。
関連項目:
PFComponent.getComponentString()

getComponentPublicName

public java.lang.String getComponentPublicName()
コンポーネント公開名を取得する.

定義:
インタフェース PFComponent 内の getComponentPublicName
戻り値:
コンポーネント公開名

setComponentPublicName

public void setComponentPublicName(java.lang.String publicName)
                            throws PFComponentException
コンポーネント公開名を設定する.
空文字のみの公開名は、nullに置き換える。数字のみの公開名は許可しない。 また、既存コンポーネントとの重複も認めない.

定義:
インタフェース PFComponent 内の setComponentPublicName
パラメータ:
publicName - 設定するコンポーネント公開名
例外:
PFComponentException - 規約に反する名前が設定されようとした場合

isAllowRemoteInvocation

public boolean isAllowRemoteInvocation()
他PFからのコンポーネント連携要求に対する可否属性を取得する.

定義:
インタフェース PFComponent 内の isAllowRemoteInvocation
戻り値:
コンポーネント連携要求可否属性

setAllowRemoteInvocation

public void setAllowRemoteInvocation(boolean flag)
他PFからのコンポーネント連携要求に対する可否属性を設定する.

定義:
インタフェース PFComponent 内の setAllowRemoteInvocation
パラメータ:
flag - コンポーネント連携要求に対する可否

isAllowPullTransfer

public boolean isAllowPullTransfer()
他PFからのPull型コンポーネント転送要求に対する可否属性を取得する.

定義:
インタフェース PFComponent 内の isAllowPullTransfer
戻り値:
Pull型コンポーネント転送要求可否属性

setAllowPullTransfer

public void setAllowPullTransfer(boolean flag)
他PFからのPull型コンポーネント転送要求に対する可否属性を設定する.

定義:
インタフェース PFComponent 内の setAllowPullTransfer
パラメータ:
flag - Pull型コンポーネント転送要求に対する可否

isAllowPushTransfer

public boolean isAllowPushTransfer()
他PFへのPush型コンポーネント転送要求に対する可否属性を取得する.

定義:
インタフェース PFComponent 内の isAllowPushTransfer
戻り値:
Push型コンポーネント転送要求可否属性

setAllowPushTransfer

public void setAllowPushTransfer(boolean flag)
他PFへのPush型コンポーネント転送要求に対する可否属性を設定する.

定義:
インタフェース PFComponent 内の setAllowPushTransfer
パラメータ:
flag - Push型コンポーネント転送要求に対する可否

getPFDataSetListenerList

public java.util.Iterator getPFDataSetListenerList()
データ設定イベントリスナ配列を取得する。

定義:
インタフェース PFDataSetEventSource 内の getPFDataSetListenerList
戻り値:
イベントリスナイテレータ

addPFDataSetListener

public void addPFDataSetListener(PFDataSetListener lis)
引数で与えられたイベントリスナを登録し、 データ設定イベント発生時に処理を行う対象とする。

定義:
インタフェース PFDataSetEventSource 内の addPFDataSetListener
パラメータ:
lis - 追加対象イベントリスナ

removePFDataSetListener

public void removePFDataSetListener(PFDataSetListener lis)
引数で与えられたイベントリスナを削除し、 データ設定イベント発生時に処理を行う対象から外す。

定義:
インタフェース PFDataSetEventSource 内の removePFDataSetListener
パラメータ:
lis - 削除対象イベントリスナ

localeUpdated

public void localeUpdated()
ロケール変更に対応する。

定義:
インタフェース PFComponent 内の localeUpdated
関連項目:
PFComponent.localeUpdated()

readXML

public void readXML(PFXMLLoader in)
コンポーネントのXML入力.

定義:
インタフェース PFXMLSerializable 内の readXML
パラメータ:
in - XML入力ユーティリティ

writeXML

public void writeXML(PFXMLGenerator out)
              throws java.io.IOException
コンポーネントのXML出力.

定義:
インタフェース PFXMLSerializable 内の writeXML
パラメータ:
out - XML出力ユーティリティ
例外:
java.io.IOException

getDocument

public org.w3c.dom.Document getDocument()
DOMツリーを取得する。

戻り値:
DOMツリー

setDocument

public void setDocument(org.w3c.dom.Document doc)
DOMツリーを設定する。

パラメータ:
doc - DOMツリー

setEmptyDocument

public void setEmptyDocument()
                      throws PFException
DOMツリーを作成して設定する。

例外:
PFComponentException - エラー
PFException

writeDocument

public void writeDocument(java.lang.String filename)
                   throws PFComponentException
現在のDOMツリーをXMLファイルに書き出す。

パラメータ:
filename - ファイル名
例外:
PFComponentException - 入出力エラー

makeRootElement

public org.w3c.dom.Element makeRootElement(java.lang.String tagName)
                                    throws PFComponentException
最上位要素を作成する。 すでに最上位要素がある場合には置き換える。

パラメータ:
tagName - 最上位要素のタグ名
戻り値:
最上位要素
例外:
PFComponentException - DOM操作エラー

getRootElement

public org.w3c.dom.Element getRootElement()
最上位要素を取得する。

戻り値:
最上位要素

getElement

public org.w3c.dom.Element getElement(java.lang.String elementId)
ID文字列を指定して要素を取得する。 同じID文字列を持つ要素が複数存在する場合の動作は保障されない。

パラメータ:
elementId - ID文字列
戻り値:
要素

getElementListByTagName

public PFObjectList getElementListByTagName(java.lang.String tagname)
タグ名を指定して要素のリストを取得する。 現在のドキュメント内のすべての対応要素が含まれる。

パラメータ:
tagname - タグ名
戻り値:
要素のリスト

getElementListByTagName

public PFObjectList getElementListByTagName(org.w3c.dom.Element element,
                                            java.lang.String tagname)
タグ名を指定して子要素のリストを取得する。 指定した要素を起点としたすべての子要素から対応要素を探す。

パラメータ:
element - 起点となる要素
tagname - タグ名
戻り値:
子要素のリスト

getTextElementListByTagName

public PFObjectList getTextElementListByTagName(org.w3c.dom.Element element,
                                                java.lang.String tagname)
                                         throws PFComponentException
タグ名を指定してテキスト要素のリストを取得する。 指定した要素を起点としたすべての子要素から対応要素を探し、 かつその対応要素が持つテキスト要素を取得する。

パラメータ:
element - 起点となる要素
tagname - タグ名
戻り値:
テキスト要素のリスト
例外:
DOM操作エラー
PFComponentException

addElement

public org.w3c.dom.Element addElement(org.w3c.dom.Element parent,
                                      java.lang.String tagName)
                               throws PFComponentException
タグ名を指定して要素を作成して追加する。

パラメータ:
parent - 親要素
tagName - タグ名
戻り値:
作成された要素
例外:
DOM操作エラー
PFComponentException

setAttribute

public void setAttribute(org.w3c.dom.Element element,
                         java.lang.String name,
                         java.lang.String value)
                  throws PFComponentException
要素に属性を設定する。

パラメータ:
element - 要素
name - 属性名
value - 属性値
例外:
DOM操作エラー
PFComponentException

getAttribute

public java.lang.String getAttribute(org.w3c.dom.Element element,
                                     java.lang.String name)
要素の属性を取得する。

パラメータ:
element - 要素
name - 属性名
戻り値:
属性値

getAttributeList

public PFLabeledObjectList getAttributeList(org.w3c.dom.Element element)
要素の属性リストを取得する。

パラメータ:
element - 要素
戻り値:
属性名と属性値のリスト

getAttributeTabletByTagName

public PFObjectTable getAttributeTabletByTagName(java.lang.String tagname)
                                          throws PFComponentException
タグ名を指定して属性値のテーブルを取得する。

パラメータ:
tagname - タグ名
戻り値:
属性値のテーブル
例外:
DOM操作エラー
PFComponentException

setText

public void setText(org.w3c.dom.Element element,
                    java.lang.String text)
             throws PFComponentException
要素にテキストを設定する。

パラメータ:
element - 要素
text - テキスト
例外:
DOM操作エラー
PFComponentException

getText

public java.lang.String getText(org.w3c.dom.Element element)
                         throws PFComponentException
要素のテキストを取得する。

パラメータ:
element - 要素
戻り値:
テキスト
例外:
DOM操作エラー
PFComponentException

getTextContent

public java.lang.String getTextContent(org.w3c.dom.Element element,
                                       boolean trim)
                                throws PFComponentException
要素のテキストコンテンツを取得する。 JRE5以上で正常に動作する。

パラメータ:
element - 要素
trim - 空文字等を省くかどうか
戻り値:
テキスト
例外:
DOM操作エラー
PFComponentException

setTextFromImage

public void setTextFromImage(org.w3c.dom.Element element,
                             java.awt.Image image)
                      throws PFComponentException
要素に画像(Image)をテキストとして設定する。

パラメータ:
element - 要素
image - 画像(Image)
例外:
DOM操作エラー
PFComponentException

getImageFromText

public java.awt.Image getImageFromText(org.w3c.dom.Element element)
                                throws PFComponentException
要素のテキストから画像(Image)を取得する。

パラメータ:
element - 要素
戻り値:
画像(Image)
例外:
DOM操作エラー
PFComponentException

getTagName

public java.lang.String getTagName(org.w3c.dom.Element element)
                            throws PFComponentException
要素の名前を取得する。

パラメータ:
element - 要素
戻り値:
名前
例外:
DOM操作エラー
PFComponentException

getElementListByChildTagName

public PFObjectList getElementListByChildTagName(org.w3c.dom.Element element,
                                                 java.lang.String tagname)
タグ名を指定して子要素のリストを取得する。 指定した要素の子要素から対応要素を探す。

パラメータ:
element - 起点となる要素
tagname - タグ名
戻り値:
子要素のリスト

readByDOM

public void readByDOM(java.lang.String filename)
               throws PFException
XMLファイルからDOMツリーを作成する。 作成に成功した場合にデータ設定イベントが発生する。

パラメータ:
filename - XMLファイル名
例外:
PFException - DOMツリーの作成またはイベント生成の失敗

readByDOM

public void readByDOM(java.lang.String filename,
                      java.lang.String schemafile)
               throws PFException
XMLファイルとXML SchemaファイルからDOMツリーを作成する。 作成に成功した場合にデータ設定イベントが発生する。

XMLパーサとしてXercesを利用することを前提としている。 標準のパーサを用いた場合は例外が発生する。

パラメータ:
filename - XMLファイル名
schemafile - スキーマ(XML Schema)ファイル名
例外:
PFException - DOMツリーの作成またはイベント生成の失敗

transformByXSLT

public void transformByXSLT(java.lang.String xmlfile,
                            java.lang.String xsltfile,
                            java.lang.String target)
                     throws PFComponentException
入力とするXMLファイルからXSLファイルを指定して特定のファイルに書き出す。

パラメータ:
xmlfile - 入力XMLファイル名
xsltfile - XSLファイル名
target - 出力ファイル名
例外:
PFComponentException - ファイル入出力または変換の失敗

getValueByPath

public java.lang.String getValueByPath(java.lang.String path)
DOMツリー内のノードの値をパス(文字列形式)指定で取得する

パラメータ:
path - パス文字列
戻り値:
値文字列

getValueByPath

public java.lang.String getValueByPath(PFObjectList pathList)
DOMツリー内のノードの値をパス(リスト形式)指定で取得する

パラメータ:
pathList - パスリスト
戻り値:
値文字列

getObjectTree

public PFObjectTree getObjectTree()
DOMツリーからPFObjectTreeを作成する

戻り値:
ツリー