Package com.infoteria.asteria.util.xml
Class DOMUtil
java.lang.Object
com.infoteria.asteria.util.xml.DOMUtil
DOMを扱うためのユーティリティクラスです。
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic DocumentcloneDocument(Document doc) DocumentをDeepCopyします。abstract Document新しいDocumentを作成しますabstract DocumentcreateDocument(String namespaceURI, String qname, DocumentType doctype) 指定の名前空間とQNameを文書要素として持つDocumentを作成します。abstract DocumentTypecreateDocumentType(String qname, String publicId, String systemId) DTDを作成しますstatic StringgetAsString(Node node) getAsString(node, false)と同じです。static StringgetAsString(Node node, boolean indent) Nodeを文字列化します。
indentがtrueの場合子ノードがElementのみのElementはインデントされます。static ElementgetChild(node, name, 0)と同じstatic Elementnodeの子要素で、NodeNameが nameに等しいもののindex番目を返す。static intgetChildCount(Node node, String name) nodeの子要素で、NodeNameが nameに等しいものの数を返す。static intgetChildCountNS(Node node, String namespaceURI, String localName) nodeの子要素で、namespaceURIとlocalNameが引数に等しいものの数を返す。static ElementgetChildNS(Node node, String namespaceURI, String localName) getChildNS(node, namespaceURI, localName, 0)と同じstatic ElementgetChildNS(Node node, String namespaceURI, String localName, int index) nodeの子要素で、namespaceURIとlocalNameが引数に等しいもののindex番目を返す。static StringgetChildText(Element el) 要素の最初の子テキストの内容を取得する。static String要素の子孫ノードすべてのテキストを連結して取得するabstract Stringparseメソッド実行後に直前にパースしたXMLのXML宣言のエンコーディングを返しますparse時のEntityResolverを返しますparse時のエラーハンドラを返しますbooleanparse時にEntityReferenceを展開するかどうかを返しますbooleanparseメソッドでコメントを無視するかどうかを返しますbooleanparseメソッドで空白文字のみのTextノードを無視するかどうかを返しますstatic booleanisNamespaceDeclared(Node node, String prefix, String nsuri) 指定のNodeの上位で指定のプレフィクスとネームスペースURIで名前空間が宣言されているかどうかを検査します。static booleanノードのQNameがnamespaceURIとlocalNameに等しいかチェックします。booleanparse時にDTDによるValidationを行うかどうかを返しますstatic booleanisWhitespace(char c) 文字が空白文字かどうかを判定します。
空白文字は「0x20」「0x09」「0x0a」「0x0d」です。static boolean文字列がすべて空白文字かどうかを判定します。static DOMUtilDOMUtilの新しいインスタンスを取得します。static String文字列から前後の空白文字を取り除き、連続する空白文字は単一の「 」(0x20)に置き換えます。static voidDocumentから空白文字のみのTextノードを削除します。static void要素から空白文字のみのTextノードを削除します。abstract DocumentファイルをパースしてDocumentを作成しますabstract Documentparse(InputStream is) InputStreamをパースしてDocumentを作成しますabstract DocumentReaderをパースしてDocumentを作成しますabstract Document指定のURL(またはファイル名)に対応するリソースをパースしてDocumentを作成しますabstract Documentparse(InputSource is) InputSourceをパースしてDocumentを作成しますstatic voidremoveXmlBaseAttribute(Node node) remove xml:base attributesstatic voidsaveToFile(Node node, File f, boolean bIndent) 指定のノードをファイルに保存します。
indentがtrueの場合子ノードがElementのみのElementはインデントされます。static voidsetChildText(Element el, String value) 要素の最初の子テキストに valueを設定する。
既にテキストノードが存在する場合はそれが更新され、ない場合は追加される。voidsetEntityResolver(EntityResolver resolver) parse時のEntityResolverを指定しますvoidsetErrorHandler(ErrorHandler handler) parse時のエラーハンドラを指定しますvoidsetExpandEntityReferences(boolean value) parse時にEntityReferenceを展開するかどうかを指定しますvoidsetIgnoreComments(boolean value) parseメソッドでコメントを無視するかどうかを指定します
無視した場合parse結果にはCommentノードは含まれませんvoidsetIgnoreWhitespace(boolean value) parseメソッドで空白文字のみのTextノードを無視するかどうかを指定します
無視した場合parse結果には空白文字のみのTextノードは含まれませんvoidsetValidating(boolean value) parse時にDTDによるValidationを行うかどうかを指定します
-
Field Details
-
XML_NSURI
- See Also:
-
XMLNS_NSURI
- See Also:
-
-
Constructor Details
-
DOMUtil
public DOMUtil()
-
-
Method Details
-
newInstance
DOMUtilの新しいインスタンスを取得します。 -
createDocument
新しいDocumentを作成します -
createDocument
指定の名前空間とQNameを文書要素として持つDocumentを作成します。- Parameters:
namespaceURI- 名前空間URI。名前空間なしの場合はnullqname- 文書要素名
-
parse
ファイルをパースしてDocumentを作成します- Throws:
IOExceptionProcessorException
-
parse
指定のURL(またはファイル名)に対応するリソースをパースしてDocumentを作成します- Throws:
IOExceptionProcessorException
-
parse
InputStreamをパースしてDocumentを作成します- Throws:
IOExceptionProcessorException
-
parse
ReaderをパースしてDocumentを作成します- Throws:
IOExceptionProcessorException
-
parse
InputSourceをパースしてDocumentを作成します- Throws:
IOExceptionProcessorException
-
getDeclaredEncoding
parseメソッド実行後に直前にパースしたXMLのXML宣言のエンコーディングを返します -
createDocumentType
DTDを作成します -
setIgnoreComments
public void setIgnoreComments(boolean value) parseメソッドでコメントを無視するかどうかを指定します
無視した場合parse結果にはCommentノードは含まれません -
isIgnoreComments
public boolean isIgnoreComments()parseメソッドでコメントを無視するかどうかを返します -
setIgnoreWhitespace
public void setIgnoreWhitespace(boolean value) parseメソッドで空白文字のみのTextノードを無視するかどうかを指定します
無視した場合parse結果には空白文字のみのTextノードは含まれません -
isIgnoreWhitespace
public boolean isIgnoreWhitespace()parseメソッドで空白文字のみのTextノードを無視するかどうかを返します -
setValidating
public void setValidating(boolean value) parse時にDTDによるValidationを行うかどうかを指定します -
isValidating
public boolean isValidating()parse時にDTDによるValidationを行うかどうかを返します -
setExpandEntityReferences
public void setExpandEntityReferences(boolean value) parse時にEntityReferenceを展開するかどうかを指定します -
isExpandEntityReferences
public boolean isExpandEntityReferences()parse時にEntityReferenceを展開するかどうかを返します -
setErrorHandler
parse時のエラーハンドラを指定します -
getErrorHandler
parse時のエラーハンドラを返します -
setEntityResolver
parse時のEntityResolverを指定します -
getEntityResolver
parse時のEntityResolverを返します -
getChildCount
nodeの子要素で、NodeNameが nameに等しいものの数を返す。- Parameters:
node- 子要素を数える対象のノードname- カウントする要素のNodeName- Returns:
- nodeの子要素で、NodeNameが nameに等しいものの数
-
getChild
getChild(node, name, 0)と同じ -
getChild
nodeの子要素で、NodeNameが nameに等しいもののindex番目を返す。- Parameters:
node- 子要素を取得する対象のノードname- 取得する要素のNodeName- Returns:
- 取得された要素。存在しない場合はnull。
-
getChildCountNS
nodeの子要素で、namespaceURIとlocalNameが引数に等しいものの数を返す。- Parameters:
node- 子要素を数える対象のノードnamespaceURI- カウントする要素のNamespaceURIlocalName- カウントする要素のLocalName- Returns:
- nodeの子要素で、namespaceURIとlocalNameが引数に等しいものの数
-
getChildNS
getChildNS(node, namespaceURI, localName, 0)と同じ -
getChildNS
nodeの子要素で、namespaceURIとlocalNameが引数に等しいもののindex番目を返す。- Parameters:
node- 子要素を取得する対象のノードnamespaceURI- 取得する要素のNamespaceURIlocalName- 取得する要素のLocalName- Returns:
- 取得された要素。存在しない場合はnull。
-
getChildText
要素の最初の子テキストの内容を取得する。- Parameters:
element- テキストを取得する対象の要素- Returns:
- 取得されたテキストの文字列。子にテキストノードが存在しない場合はnull。
-
getChildTextDeep
要素の子孫ノードすべてのテキストを連結して取得する- Parameters:
element- テキストを取得する対象の要素- Returns:
- 取得されたテキストの文字列。子にテキストノードが一つも存在しない場合はnull。
-
setChildText
要素の最初の子テキストに valueを設定する。
既にテキストノードが存在する場合はそれが更新され、ない場合は追加される。- Parameters:
value- 設定するテキストelement- テキストを設定する対象の要素
-
isQName
ノードのQNameがnamespaceURIとlocalNameに等しいかチェックします。- Parameters:
node- チェックするノードnamespaceURI- ネームスペースlocalName- ローカルネーム
-
isWhitespace
public static boolean isWhitespace(char c) 文字が空白文字かどうかを判定します。
空白文字は「0x20」「0x09」「0x0a」「0x0d」です。 -
isWhitespace
文字列がすべて空白文字かどうかを判定します。 -
normalizeWhitespace
Documentから空白文字のみのTextノードを削除します。 -
normalizeWhitespace
要素から空白文字のみのTextノードを削除します。 -
normalizeString
文字列から前後の空白文字を取り除き、連続する空白文字は単一の「 」(0x20)に置き換えます。 -
getAsString
getAsString(node, false)と同じです。 -
getAsString
Nodeを文字列化します。
indentがtrueの場合子ノードがElementのみのElementはインデントされます。 -
isNamespaceDeclared
指定のNodeの上位で指定のプレフィクスとネームスペースURIで名前空間が宣言されているかどうかを検査します。 -
cloneDocument
DocumentをDeepCopyします。 -
saveToFile
指定のノードをファイルに保存します。
indentがtrueの場合子ノードがElementのみのElementはインデントされます。- Throws:
IOException
-
removeXmlBaseAttribute
remove xml:base attributes
-