XML リファレンスマニュアル

XML リファレンスマニュアル

ノードタイプ

以下のテーブルは、異なるW3Cノードタイプとそれらが持つ可能な子要素を示しています:

ノードタイプ 説明 子要素
Document 全体のドキュメント(DOM木のルートノード)を示します。
  • Element (最大1つ)
  • ProcessingInstruction
  • Comment
  • DocumentType
DocumentFragment 軽量のDocumentオブジェクトを示します。これはドキュメントの一部を含んでいます。
  • ProcessingInstruction
  • Comment
  • Text
  • CDATASection
  • EntityReference
DocumentType ドキュメントに定義されたエンティティにインターフェースを提供します。 None
ProcessingInstruction 処理指令を示します。 None
EntityReference エンティティ参照要素を示します。
  • ProcessingInstruction
  • Comment
  • Text
  • CDATASection
  • EntityReference
Element element(要素)要素を示します。
  • Text
  • Comment
  • ProcessingInstruction
  • CDATASection
  • EntityReference
Attr 属性を示します。
  • Text
  • EntityReference
Text 要素または属性のテキスト内容を示します。 None
CDATASection 解析器が解析しないテキストのCDATAセクションを示します。 None
Comment コメントを示します。 None
Entity エンティティを示します。
  • ProcessingInstruction
  • Comment
  • Text
  • CDATASection
  • EntityReference
Notation DTDで宣言されたシンボルを示します。 None

ノードタイプ - 返される値

以下のテーブルは、各ノードタイプに対してnodeNameとnodeValue属性が返す値を示しています:

ノードタイプ nodeNameの返り値 nodeValueの返り値
Document #document null
DocumentFragment #document fragment null
DocumentType doctype 名前 null
EntityReference エンティティ参照名 null
Element element name null
Attr 属性名 属性値
ProcessingInstruction target ノードの内容
Comment #comment コメントテキスト
Text #text ノード内容
CDATASection #cdata-section ノード内容
Entity エンティティ名 null
Notation シンボル名 null

NodeTypes - 有名定数

NodeType Named Constant
1 ELEMENT_NODE
2 ATTRIBUTE_NODE
3 TEXT_NODE
4 CDATA_SECTION_NODE
5 ENTITY_REFERENCE_NODE
6 ENTITY_NODE
7 PROCESSING_INSTRUCTION_NODE
8 COMMENT_NODE
9 DOCUMENT_NODE
10 DOCUMENT_TYPE_NODE
11 DOCUMENT_FRAGMENT_NODE
12 NOTATION_NODE

トップ

XML DOM Node オブジェクト

Node オブジェクトのプロパティ

属性 説明
attributes このノードを含む属性の NamedNodeMap(このノードが要素の場合)
baseURI ノードの絶対基準 URI を返します。
childNodes ノードの子ノードの NodeList を返します。
firstChild ノードの最初の子ノードを返します。
lastChild ノードの最後の子ノードを返します。
nextSibling ノードの後に直近の同級ノードを返します。
nodeName ノードの名前を返します。名前はノードのタイプに応じて異なります。
nodeType ノードのタイプを返します。
nodeValue ノードの値を設定または返します。値はノードのタイプに応じて異なります。
ownerDocument ノードのルート要素(document オブジェクト)を返します。
parentNode ノードの親ノードを返します。
prefix ノードの命名空間接頭辞を設定または返します。
previousSibling ノードの前に直近の同級ノードを返します。
textContent ノードおよびその子孫のテキスト内容を設定または返します。

Node オブジェクトのメソッド

メソッド 説明
appendChild() 新しい子ノードをノードの子ノードリストの末尾に追加します。
cloneNode() ノードをクローンします。
compareDocumentPosition() DOM 層次構造(ドキュメント)内の二つのノードの位置を比較します。
getFeature(feature,version) 指定された特性和バージョンを実装する専用APIを持つDOMオブジェクトを返します。
getUserData(key)

ノードのキーに関連付けられたオブジェクトを返します。

まずオブジェクトをこのノードに設定する必要があります。同じキーを使用して setUserData を呼び出します。

hasAttributes() 指定されたノードに属性がある場合 true、ない場合 false を返します。
hasChildNodes() 指定されたノードに子ノードがある場合 true、ない場合 false を返します。
insertBefore() 指定された子ノードの前に新しい子ノードを挿入します。
isDefaultNamespace(URI) 指定された名称空間 URI がデフォルトかどうかを確認します。
isEqualNode() 二つのノードが等しいかどうかをチェックします。
isSameNode() 二つのノードが同じノードかどうかを確認します。
lookupNamespaceURI() 指定された接頭辞に関連付けられた名称空間 URI を返します。
lookupPrefix() 指定された名称空間 URI に関連付けられた接頭辞を返します。
normalize() 相邻のテキストノードを統合し、空のテキストノードを削除します。
removeChild() 現在のノードの指定された子ノードを削除(返します)。
replaceChild() 新しいノードで子ノードを置き換えます。
setUserData(key,data,handler) オブジェクトをノードのキーに関連付けます。

トップ

XML DOM NodeList オブジェクト

NodeList オブジェクトのプロパティ

属性 説明
length ノードリストのノード数を返します。

NodeList オブジェクトのメソッド

メソッド 説明
item() 指定インデックスのノードをノードリストから返します。

トップ

XML DOM NamedNodeMap オブジェクト

NamedNodeMap オブジェクトの属性

属性 説明
length リスト内のノード数を返します。

NamedNodeMap オブジェクトのメソッド

メソッド 説明
getNamedItem() 特定の名前を持つノードを返します。
getNamedItemNS() 特定の名前と名前空間を持つノードを返します。
item() 指定されたインデックスのノードを返します。
removeNamedItem() 特定の名前を持つノードを削除します。
removeNamedItemNS() 特定の名前と名前空間を持つノードを削除します。
setNamedItem() 指定されたノード(名前に基づいて)を設定します。
setNamedItemNS() 指定されたノード(名前と名前空間に基づいて)を設定します。

トップ

XML DOM Document オブジェクト

Document オブジェクトの属性

属性 説明
childNodes ドキュメントの子ノードの NodeList を返します。
doctype ドキュメントに関連付けられた文書型宣言を返します。
documentElement ドキュメントのルートノードを返します。
documentURI ドキュメントの場所を設定または返します。
domConfig normalizeDocument() を呼び出したときに使用した設定を返します。
firstChild ドキュメントの最初の子ノードを返します。
implementation このドキュメントを処理する DOMImplementation オブジェクトを返します。
inputEncoding 解析時にドキュメントが使用するエンコーディング方式を返します。
lastChild ドキュメントの最後の子ノードを返します。
nodeName ノードの名前(ノードのタイプによって異なります)を返します。
nodeType ノードのノードタイプを返します。
nodeValue ノードの値(ノードのタイプによって異なります)を設定または返します。
xmlEncoding ドキュメントの XML エンコーディング方式を返します。
xmlStandalone ドキュメントが独立しているかどうかを設定または返します。
xmlVersion ドキュメントの XML バージョンを設定または返します。

Document オブジェクトのメソッド

メソッド 説明
adoptNode() 別のドキュメントのノードをこのドキュメントに取り込んで、取り込まれたノードを返します。
createAttribute() 指定された名前を持つ属性ノードを作成し、新しい Attr オブジェクトを返します。
createAttributeNS() 指定された名前と名前空間を持つ属性ノードを作成し、新しい Attr オブジェクトを返します。
createCDATASection() CDATAセクションノードを作成します。
createComment() コメントノードを作成します。
createDocumentFragment() 空の DocumentFragment オブジェクトを作成して返します。
createElement() 要素ノードを作成します。
createElementNS() 指定された命名空間を持つ要素ノードを作成します。
createEntityReference() EntityReference オブジェクトを作成し、このオブジェクトを返します。
createProcessingInstruction() ProcessingInstruction オブジェクトを作成し、このオブジェクトを返します。
createTextNode() テキストノードを作成します。
getElementById() 指定された値を持つ id 属性の要素を返します。
getElementsByTagName() 指定された名前を持つすべての要素の NodeList を返します。
getElementsByTagNameNS() 指定された名前と命名空間を持つすべての要素の NodeList を返します。
importNode() ノードを他のドキュメントからこのドキュメントにインポートします。
ドキュメントをノーマライズします。
renameNode() 要素ノードまたは属性ノードをリネームします。

DocumentType オブジェクトの属性

各ドキュメントには、null または DocumentType オブジェクトの値を持つ DOCTYPE 属性があります。

DocumentType オブジェクトは、XML 文書に定義されたエンティティのインターフェースを提供します。

属性 説明
name DTD の名前を返します。
publicId DTD の公共識別子を返します。
systemId 外部 DTD のシステム識別子を返します。

DocumentImplementation オブジェクトのメソッド

DOMImplementation オブジェクトは、ドキュメントオブジェクトモデルに依存しない特定のインスタンスの操作を実行します。

メソッド 説明
createDocument() 指定のドキュメントタイプの新しい DOM Document オブジェクトを作成します。
createDocumentType() 空の DocumentType ノードを作成します。
getFeature() 指定の機能とバージョンの API を実装しているオブジェクト(あれば)を返します。
hasFeature() DOM 実装が特定の機能とバージョンを実装しているかを確認します。

ProcessingInstruction オブジェクトの属性

ProcessingInstruction オブジェクトは処理指示を表します。

処理指示は、XML 文書テキスト内にプロセッサ固有の情報を保持する方法として使用されます。

属性 説明
data この処理指示の内容を設定または返します。
target この処理指示のターゲットを返します。

トップ

XML DOM Element オブジェクト

Element オブジェクトの属性

属性 説明
attributes 要素の属性の NamedNodeMap を返します。
baseURI 要素の絶対的なベースURIを返します。
childNodes 要素の子ノードのNodeListを返します。
firstChild 要素の最初の子要素を返します。
lastChild 要素の最後の子要素を返します。
localName 要素名のローカル部分を返します。
namespaceURI 要素の名前空間URIを返します。
nextSibling この要素の次の节点を返します。
nodeName ノードの名前を返します。そのタイプに応じて異なります。
nodeType ノードのタイプを返します。
ownerDocument 要素のルート要素(ドキュメントオブジェクト)を返します。
parentNode 要素の親节点を返します。
prefix 要素の名前空間プレフィックスを設定または返します。
previousSibling この要素の直前の节点を返します。
schemaTypeInfo 要素に関連付けられたタイプ情報を返します。
tagName 要素の名前を返します。
textContent 要素及びその子孫のテキスト内容を設定または返します。

Elementオブジェクトのメソッド

メソッド 説明
appendChild() 新しい子ノードをこのノードの子ノードリストの最後に追加します。
cloneNode() ノードをクローンします。
compareDocumentPosition() 二つのノードの文書位置を比較します。
getAttribute() 属性の値を返します。
getAttributeNS() 属性の値(名前空間付き)を返します。
getAttributeNode() 属性ノードをAttributeオブジェクトとして返します。
getAttributeNodeNS() 属性ノード(名前空間付き)をAttributeオブジェクトとして返します。
getElementsByTagName() 指定された名前を持つ要素ノード(及びその子ノード)と一致するNodeListを返します。
getElementsByTagNameNS() 指定された名前空間を持つ要素ノード(及びその子ノード)と一致するNodeListを返します。
getFeature(feature,version) 指定された特性和バージョンを実装する専用APIを持つDOMオブジェクトを返します。
getUserData(key) ノード上のキーに関連付けられたオブジェクトを返します。まず、setUserDataを使用してオブジェクトをこのノードに設定する必要があります。
hasAttribute() 指定された名前に一致する属性を持っているかどうかを返します。
hasAttributeNS() 指定された名前と名前空間に一致する属性を持っているかどうかを返します。
hasAttributes() この要素が属性を持っているかどうかを返します。
hasChildNodes() この要素が子节点を持っているかどうかを返します。
insertBefore() 既存の子ノードの前に新しい子ノードを挿入します。
isDefaultNamespace(URI) 指定された namespaceURI がデフォルトのものかどうかを返します。
isEqualNode() 二つのノードが等しいかどうかをチェックします。
lookupNamespaceURI() 指定されたプレフィックスに一致する命名空間 URI を返します。
lookupPrefix() 指定された命名空間 URI に一致するプレフィックスを返します。
normalize()

normalize() メソッドは空のテキストノードを削除し、隣接するテキストノードを結合します。

要素下のすべてのテキストノード(属性を含む)を正規化し、構造(例えば要素、コメント、処理指令、CDATA 部分およびエンティティ参照)のみでテキストノードを区切ります。

つまり、隣接するテキストノードもしくは空のテキストノードは存在しません。

removeAttribute() 指定された属性を削除します。
removeAttributeNS() 指定された属性(命名空間を含む)を削除します。
removeAttributeNode() 指定された属性ノードを削除します。
removeChild() 子ノードを削除します。
replaceChild() 子ノードを置き換えます。
setUserData(key,data,handler) オブジェクトと要素上のキーを関連付けます。
setAttribute() 新しい属性を追加します。
setAttributeNS() 新しい属性(命名空間を含む)を追加します。
setAttributeNode() 新しい属性ノードを追加します。
setAttributeNodeNS(attrnode) 新しい属性ノード(命名空間を含む)を追加します。
setIdAttribute(name,isId) Attribute オブジェクトの isId 属性が true の場合、このメソッドは指定された属性をユーザーが指定した ID 属性として宣言します。
setIdAttributeNS(uri,name,isId) Attribute オブジェクトの isId 属性が true の場合、このメソッドは指定された属性(命名空間を含む)をユーザーが指定した ID 属性として宣言します。
setIdAttributeNode(idAttr,isId) Attribute オブジェクトの isId 属性が true の場合、このメソッドは指定された属性をユーザーが指定した ID 属性として宣言します。

トップ

Attr オブジェクトの属性

属性 説明
baseURI 属性の絶対的なベース URI を返します。
isId 属性が id 型の場合は true を返し、それ以外の場合は false を返します。
localName 属性名のローカル部分を返します。
name 属性の名前を返します。
namespaceURI 属性の命名空間 URI を返します。
nodeName ノードの名前を返します。名前はノードのタイプに応じて異なります。
nodeType ノードのタイプを返します。
nodeValue ノードの値を設定または返します。値はノードのタイプに応じて異なります。
ownerDocument 属性のルート要素(ドキュメントオブジェクト)を返します。
ownerElement 属性が属する要素ノードを返します。
prefix 属性の命名空間前缀を設定または返します。
schemaTypeInfo 属性に関連するタイプ情報を返します。
specified

ドキュメント内に属性値が設定されている場合は true を返します;

属性値が DTD/Schema のデフォルト値の場合は false を返します。

textContent 属性のテキスト内容を設定または返します。
value 属性の値を設定または返します。

トップ

XML DOM Text オブジェクト

Text オブジェクトの属性

属性 説明
data 要素または属性のテキストを設定または返します。
isElementContentWhitespace テキストノードが空白文字内容を含んでいるかどうかを判断します。
length 要素または属性のテキスト長を返します。
wholeText ドキュメント順序で接続して、このノードに隣接するすべてのテキストノードのテキストを返します。

Text オブジェクトのメソッド

メソッド 説明
appendData() データをノードに追加します。
deleteData() ノードからデータを削除します。
insertData() データを挿入します。
replaceData() ノード内のデータを置き換えます。
replaceWholeText(text) 指定されたテキストでこのノードおよびすべての隣接するテキストノードのテキストを置き換えます。
splitText() Text ノードを2つに分割します。
substringData() ノードからデータを抽出します。

トップ

XML DOM CDATASection オブジェクト

CDATASection オブジェクトの属性

属性 説明
data ノードのテキストを設定または返します。
length CDATA 部分の長さを返します。

CDATASection オブジェクトのメソッド

メソッド 説明
appendData() データをノードに追加します。
deleteData() ノードからデータを削除します。
insertData() データを挿入します。
replaceData() ノード内のデータを置き換えます。
splitText() CDATA ノードを2つのノードに分割します。
substringData() ノードからデータを抽出します。

トップ

XML DOM Comment オブジェクト

Comment オブジェクトの属性

属性 説明
data ノードのテキストを設定または返します。
length ノードのテキスト長を返します。

Comment オブジェクトのメソッド

メソッド 説明
appendData() データをノードに追加します。
deleteData() ノードからデータを削除します。
insertData() データを挿入します。
replaceData() ノード内のデータを置き換えます。
substringData() ノードからデータを抽出します。

トップ

XML DOM XMLHttpRequest オブジェクト

XMLHttpRequest オブジェクトのメソッド

メソッド 説明
abort() 現在の請求をキャンセルします。
getAllResponseHeaders() ヘッダー情報を返します。
getResponseHeader() 指定された HTTP レスポンスヘッダーの値を返します。
open(method,url,async,uname,pswd)

指定請求のタイプ、URL、アシストンデストリートリクエストの処理を行うかどうかおよび請求の他のオプション属性。

  • method: リクエストタイプ:GETまたはPOST
  • url: サーバー上のファイルの場所
  • async: true(非同期)または false(同期)
send(string)

サーバーにリクエストを送信します。

string:POSTリクエスト専用

setRequestHeader() タグ/値対を送信するヘッダーに追加します。

XMLHttpRequestオブジェクトの属性

属性 説明
onreadystatechange readyState属性が変更されたときに自動的に呼び出される関数(または関数名)を保存します。
readyState

保存XMLHttpRequestの状態。0から4までの変化:

  • 0: 请求未初始化
  • 1: 服务器连接已建立
  • 2: 请求收到
  • 3: 请求处理中
  • 4: 请求已完成,响应已就绪
responseText 文字列としての応答データを返します。
responseXML XMLデータとしての応答データを返します。
status 状態コードを返します(例:“404”は“Not Found”を意味し、“200”は“OK”を意味します)。
statusText 状態テキストを返します(例:“Not Found”や“OK”など)。

トップ

XSD要素

要素 説明
all 子要素が任意の順序で現れることを規定し、各子要素は0回または1回だけ現れます。
annotation annotation要素はトップレベルの要素であり、スキーマのコメントを規定します。
any スキーマで規定されていない要素を通じて、作成者がXMLドキュメントを拡張できます。
anyAttribute スキーマで規定されていない属性を通じて、作成者がXMLドキュメントを拡張できます。
appInfo annotation要素内でアプリケーションが使用する情報を定義します。
attribute 属性を定義します。
attributeGroup 複雑なタイプ定義で使用される属性グループを定義します。
choice choice宣言内に含まれる要素が一つだけになるように制限します。
complexContent 複雑なタイプ(混合内容を含むまたは要素のみを含む)に対する拡張または制限を定義します。
complexType 複雑なタイプを定義します。
documentation schema内のテキストコメントを定義します。
element 要素を定義します。
extension 既存のsimpleTypeやcomplexType要素を拡張します。
field 識別制約を定義するために使用されるXPath表現を規定します。
group 複雑な型定義で使用される要素グループを定義します。
import 異なるターゲットネームスペースを持つ複数のschemaを文書に追加します。
include 同じターゲットネームスペースを持つ複数のschemaを文書に追加します。
key 属性または要素の値(または値のセット)が指定された範囲内のキーでなければなりません。
keyref 属性または要素の値(または値のセット)が指定されたキーやユニークな要素の値に対応する必要があります。
list 指定データ型の値のリストとして简单型を定義します。
notation XML文書内の非XMLデータの形式を説明します。
redefine 外部のスキーマファイルから取得した简单および複雑な型、グループ、属性グループを再定義します。
restriction simpleType、simpleContent、または complexContentの制約を定義します。
schema schemaの根要素を定義します。
selector 識別制約を選択するための XPath 表現を指定します。
sequence 子要素が順序で出现する必要があります。各子要素は0回から任意回出现できます。
simpleContent complexType 要素の拡張や制限を含み、要素を含まないものを定義します。
simpleType 属性またはテキストのみを含む要素の値に関する制約と情報を規定する一つの简单型を定義します。
union 複数の simpleType 定義の集合を定義します。
unique 属性または要素の値(または属性または要素の値の組み合わせ)が指定範囲内でユニークでなければなりません。

データ型の XSD 限定を指定

XSD 限定 / Facets を参照

限定 説明
enumeration 許可される値のリストを定義します。
fractionDigits 許可される最大の小数桁数を定義します。0以上でなければなりません。
length 許可される文字またはリストの要素の正確な数を定義します。0以上でなければなりません。
maxExclusive 数値の上限を定義します。許可される値はこの値以下でなければなりません。
maxInclusive 数値の上限を定義します。許可される値はこの値以下でなければなりません。
maxLength 許可される文字またはリストの要素の最大数を定義します。0以上でなければなりません。
minExclusive 数値の下限を定義します。許可される値はこの値以上でなければなりません。
minInclusive 数値の下限を定義します。許可される値はこの値以上でなければなりません。
minLength 許可される文字またはリスト項目の最小数を定義します。0以上でなければなりません。
pattern 許可される文字の正確なシーケンスを定義します。
totalDigits 許可されるアラビア数字の正確な桁数を定義します。0以上でなければなりません。
whiteSpace 空白文字(改行、戻り線、スペースおよびタブ)の処理方法を定義します。

トップ

XSLT要素

要素 説明
apply-imports インポートされたスタイルシートからのテンプレートルールを適用します。
apply-templates 現在の要素または現在の要素の子要素にテンプレートを適用します。
attribute 要素に属性を追加します。
attribute-set 名前付きの属性セットを作成します。
call-template 指定されたテンプレートを呼び出します。
choose <when>および<otherwise>とともに使用して、複数の条件テストを表現します。
comment 結果ツリーにコメントノードを作成します。
copy 現在のノードのコピーを作成します(子ノードと属性を含まない)。
copy-of 現在のノードのコピーを作成します(子ノードと属性を含む)。
decimal-format format-number()関数で数字を文字列に変換する際に使用する文字とシンボルを定義します。
element 出力ドキュメントに要素ノードを作成します。
fallback XSLT要素が処理器にサポートされていない場合、代替コードを指定します。
for-each 指定されたノード集中的の各ノードを巡回します。
if 指定された条件が成立した場合にのみ適用されるテンプレートを含みます。
import スタイルシートの内容を別のスタイルシートに流します。
include スタイルシートの内容を別のスタイルシートに含めます。
key 名前付きのキーを宣言します。
message メッセージを出力します(エラーレポート用)。
namespace-alias スタイルシートのネームスペースを、出力で異なるネームスペースに置き換えます。
number 現在のノードの整数位置を測定し、数字をフォーマットします。
otherwise <choose>要素のデフォルトアクションを定義します。
output 出力ドキュメントの形式を定義します。
param ローカルまたはグローバルパラメータを宣言します。
preserve-space 空白を保持するべき要素を定義します。
processing-instruction 処理指示ノードを生成します。
sort 結果を並べ替えます。
strip-space 空白文字が削除されるべき要素を定義します。
stylesheet 定义样式表的根元素。
template 当指定的节点被匹配时所应用的规则。
text 通过样式表生成文本节点。
transform 定义样式表的根元素。
value-of 提取选定节点的值。
variable 声明局部或者全局的变量。
when 规定 <choose> 元素的动作。
with-param 规定需被传入某个模板的参数的值。

トップ

XSLT、XPath そして XQuery ファンクション

存取函数

名前 説明
fn:node-name(node) 返回参数节点的节点名称。
fn:nilled(node) 返回是否拒绝参数节点的布尔值。
fn:data(item.item,...) 接受项目序列,并返回原子值序列。
  • fn:base-uri()
  • fn:base-uri(node)
返回当前节点或指定节点的 base-uri 属性的值。
fn:document-uri(node) 返回指定节点的 document-uri 属性的值。

错误和跟踪函数

名前 説明
  • fn:error()
  • fn:error(error)
  • fn:error(error,description)
  • fn:error(error,description,error-object)

例:error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Price is too high')

结果:向外部处理环境返回 http://example.com/test#toohigh 以及字符串 "Error: Price is too high"。

fn:trace(value,label) 用于对查询进行 debug。

有关数值的函数

名前 説明
fn:number(arg)

返回参数的数值。参数可以是布尔值、字符串或节点集。

例:number('100')

结果:100

fn:abs(num)

返回参数的绝对值。

例:abs(3.14)

结果:3.14

例:abs(-3.14)

结果:3.14

fn:ceiling(num)

返回大于 num 参数的最小整数。

例:ceiling(3.14)

結果:4

fn:floor(num)

num パラメータに対して最大の整数を返しますが、それが num 以下であることを保証します。

例:floor(3.14)

結果:3

fn:round(num)

num パラメータを最も近い整数に四捨五入します。

例:round(3.14)

結果:3

fn:round-half-to-even()

例:round-half-to-even(0.5)

結果:0

例:round-half-to-even(1.5)

結果:2

例:round-half-to-even(2.5)

結果:2

文字列関数に関する情報

名前 説明
fn:string(arg)

引数の文字列値を返します。引数は数値、論理値、ノードセットでできます。

例:string(314)

結果:"314"

fn:codepoints-to-string(int,int,...)

コードポイントシーケンスから文字列を返します。

例:codepoints-to-string(84, 104, 233, 114, 232, 115, 101)

結果:'Thérèse'

fn:string-to-codepoints(string)

文字列からコードポイントシーケンスを返します。

例:string-to-codepoints("Thérèse")

結果:84, 104, 233, 114, 232, 115, 101

fn:codepoint-equal(comp1,comp2) Unicode コードポイント照合に基づいて、comp1 の値が comp2 の値と一致する場合には true を返します。(http://www.w3.org/2005/02/xpath-functions/collation/codepoint)。そうでない場合には false を返します。
  • fn:compare(comp1,comp2)
  • fn:compare(comp1,comp2,collation)

comp1 が comp2 以下の場合は -1 を返します。comp1 が comp2 と等しい場合には 0 を返します。comp1 が comp2 以上の場合には 1 を返します。(使用される照合規則に応じて)。

例:compare('ghi', 'ghi')

結果:0

fn:concat(string,string,...)

文字列の結合を返します。

例:concat('XPath ','is ','FUN!')

結果:'XPath is FUN!'

fn:string-join((string,string,...),sep)

sep パラメータを使用して区切り文字として指定し、string パラメータを結合した文字列を返します。

例:string-join(('We', 'are', 'having', 'fun!'), ' ')

結果:' We are having fun! '

例:string-join(('We', 'are', 'having', 'fun!'))

結果:'Wearehavingfun!'

例:string-join((), 'sep')

結果:''

  • fn:substring(string,start,len)
  • fn:substring(string,start)

start 位置から指定された長さのサブストリングを返します。最初の文字のインデックスは 1 です。len パラメータを省略した場合、start 位置から文字列の末尾までのサブストリングを返します。

例:substring('Beatles',1,4)

結果:'Beat'

例:substring('Beatles',2)

結果:'eatles'

  • fn:string-length(string)
  • fn:string-length()

指定された文字列の長さを返します。string 引数が指定されていない場合、現在のノードの文字値の長さを返します。

例:string-length('Beatles')

結果:7

  • fn:normalize-space(string)
  • fn:normalize-space()

指定された文字列の先頭と末尾のスペースを削除し、内部のすべてのスペースシーケンスを一つに置き換え、結果を返します。string 引数が指定されていない場合、現在のノードの文字値の長さを返します。

例:normalize-space(' The   XML ')

結果:'The XML'

fn:normalize-unicode() Unicode 规格化を実行します。
fn:upper-case(string)

string 引数を大文字に変換します。

例:upper-case('The XML')

結果:'THE XML'

fn:lower-case(string)

string 引数を小文字に変換します。

例:lower-case('The XML')

結果:'the xml'

fn:translate(string1,string2,string3)

string1 中の string2 を string3 に置き換えます。

例:translate('12:30','30','45')

結果:'12:45'

例:translate('12:30','03','54')

結果:'12:45'

例:translate('12:30','0123','abcd')

結果:'bc:da'

fn:escape-uri(stringURI,esc-res)

例:escape-uri("http://example.com/test#car", true())

結果:"http%3A%2F%2Fexample.com%2Ftest#car"

例:escape-uri("http://example.com/test#car", false())

結果:"http://example.com/test#car"

例:escape-uri ("http://example.com/~bébé", false())

結果:"http://example.com/~b%C3%A9b%C3%A9"

fn:contains(string1,string2)

string1 が string2 を含む場合 true を返し、それ以外の場合 false を返します。

例:contains('XML','XM')

結果:true

fn:starts-with(string1,string2)

string1 が string2 で始まる場合 true を返し、それ以外の場合 false を返します。

例:starts-with('XML','X')

結果:true

fn:ends-with(string1,string2)

string1 が string2 で終わる場合 true を返し、それ以外の場合 false を返します。

例:ends-with('XML','X')

結果:false

fn:substring-before(string1,string2)

string1 中 string2 出现之前的子字符串を返します。

例:substring-before('12/10','/')

結果:'12'

fn:substring-after(string1,string2)

string1 中 string2 出现之后的子字符串を返します。

例:substring-after('12/10','/')

結果:'10'

fn:matches(string,pattern)

string 引数が指定されたパターンに一致する場合 true を、それ以外の場合 false を返します。

例:matches("Merano", "ran")

結果:true

fn:replace(string,pattern,replace)

指定されたパターンを replace 引数で置き換え、結果を返します。

例:replace("Bella Italia", "l", "*")

結果:'Be**a Ita*ia'

例:replace("Bella Italia", "l", "")

結果:'Bea Itaia'

fn:tokenize(string,pattern)

例:tokenize("XPath is fun", "\s+")

結果:("XPath", "is", "fun")

anyURI 関連の関数

名前 説明
fn:resolve-uri(relative,base)  

ブール値に関する関数

名前 説明
fn:boolean(arg) 数値、文字列、ノードセットのブール値を返します。
fn:not(arg)

まず boolean() 関数を使って引数をブール値に戻します。

このブール値が false であれば true を返し、それ以外の場合は true を返します。

例:not(true())

結果:false

fn:true()

ブール値 true を返します。

例:true()

結果:true

fn:false()

ブール値 false を返します。

例:false()

結果:false

持続時間、日付、時間に関する関数

日付、時間、持続時間のコンポーネントを抽出する関数

名前 説明
fn:dateTime(date,time) 引数を日時に変換します。
fn:years-from-duration(datetimedur) 引数の値の年の部分の整数を標準語彙法で表現して返します。
fn:months-from-duration(datetimedur) 引数の値の月の部分の整数を標準語彙法で表現して返します。
fn:days-from-duration(datetimedur) 引数の値の日の部分の整数を標準語彙法で表現して返します。
fn:hours-from-duration(datetimedur) 引数の値の時間部分を整数で返し、標準語彙法で表現します。
fn:minutes-from-duration(datetimedur) 引数の値の分部分を整数で返し、標準語彙法で表現します。
fn:seconds-from-duration(datetimedur) 引数の値の分部分を10進数で返し、標準語彙法で表現します。
fn:year-from-dateTime(datetime)

引数のローカル値の年部分を整数で返します。

例:year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

結果:2005

fn:month-from-dateTime(datetime)

引数のローカル値の月部分を整数で返します。

例:month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

結果:01

fn:day-from-dateTime(datetime)

引数のローカル値の日部分を整数で返します。

例:day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

結果:10

fn:hours-from-dateTime(datetime)

引数のローカル値の時間部分を整数で返します。

例:hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

結果:12

fn:minutes-from-dateTime(datetime)

引数のローカル値の分部分を整数で返します。

例:minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

結果:30

fn:seconds-from-dateTime(datetime)

引数のローカル値の秒部分を10進数で返します。

例:seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10"))

結果:0

fn:timezone-from-dateTime(datetime) パラメータの時区部分(存在する場合)を返します。
fn:year-from-date(date)

引数のローカル値を表す年の整数を返します。

例:year-from-date(xs:date("2005-04-23"))

結果:2005

fn:month-from-date(date)

パラメータのローカル値で月部分を表す整数を返します。

例:month-from-date(xs:date("2005-04-23"))

結果:4

fn:day-from-date(date)

パラメータのローカル値で日部分を表す整数を返します。

例:day-from-date(xs:date("2005-04-23"))

結果:23

fn:timezone-from-date(date) パラメータの時区部分(存在する場合)を返します。
fn:hours-from-time(time)

パラメータのローカル値で時間部分を表す整数を返します。

例:hours-from-time(xs:time("10:22:00"))

結果:10

fn:minutes-from-time(time)

パラメータのローカル値で分部分を表す整数を返します。

例:minutes-from-time(xs:time("10:22:00"))

結果:22

fn:seconds-from-time(time)

パラメータのローカル値で秒部分を表す整数を返します。

例:seconds-from-time(xs:time("10:22:00"))

結果:0

fn:timezone-from-time(time) パラメータの時区部分(存在する場合)を返します。
fn:adjust-dateTime-to-timezone(datetime,timezone)

timezone パラメータが空の場合、時区を持たない dateTime を返します。

それ以外の場合、時区を持つ dateTime を返します。

fn:adjust-date-to-timezone(date,timezone)

timezone パラメータが空の場合、時区を持たない date を返します。

それ以外の場合、時区を持つ date を返します。

fn:adjust-time-to-timezone(time,timezone)

timezone パラメータが空の場合、時区を持たない time を返します。

それ以外の場合、時区を持つ time を返します。

QNames に関連する関数

名前 説明
fn:QName()  
fn:local-name-from-QName()  
fn:namespace-uri-from-QName()  
fn:namespace-uri-for-prefix()  
fn:in-scope-prefixes()  
fn:resolve-QName()  

ノードに関する関数

名前 説明
  • fn:name()
  • fn:name(nodeset)
現在のノードの名前または指定されたノードセットの最初のノードを返します。
  • fn:local-name()
  • fn:local-name(nodeset)
現在のノードの名前または指定されたノードセットの最初のノードを返します。命名空間接頭辞を含まない場合です。
  • fn:namespace-uri()
  • fn:namespace-uri(nodeset)
現在のノードまたは指定されたノードセットの最初のノードの命名空間 URI を返します。
fn:lang(lang)

現在のノードの言語が指定された言語に一致する場合、true を返します。

例:Lang("en") は、以下のために true です <p xml:lang="en">...</p>

例:Lang("de") は、以下のために false です <p xml:lang="en">...</p>

  • fn:root()
  • fn:root(node)
現在のノードまたは指定されたノードのノードツリーのルートノードを返します。通常はドキュメントノードです。

シーケンスに関する関数

一般的な関数

名前 説明
fn:index-of((item,item,...),searchitem)

項目シーケンス内で searchitem パラメータに等しい位置を返します。

例:index-of ((15, 40, 25, 40, 10), 40)

結果:(2, 4)

例:index-of (("a", "dog", "and", "a", "duck"), "a")

結果:(1, 4)

例:index-of ((15, 40, 25, 40, 10), 18)

結果:()`

fn:remove((item,item,...),position)

item パラメータで構成された新しいシーケンスを返し、position パラメータで指定された位置の項目を削除します。

例:remove(("ab", "cd", "ef"), 0)

結果:("ab", "cd", "ef")

例:remove(("ab", "cd", "ef"), 1)

結果:("cd", "ef")

例:remove(("ab", "cd", "ef"), 4)

結果:("ab", "cd", "ef")

fn:empty(item,item,...)

パラメータの値が空シーケンスの場合は true を返し、それ以外の場合は false を返します。

例:empty(remove(("ab", "cd"), 1))

結果:false

fn:exists(item,item,...)

パラメータの値が空シーケンスでない場合、true を返します。それ以外の場合、false を返します。

例:exists(remove(("ab"), 1))

結果:false

fn:distinct-values((item,item,...),collation)

ユニークな値を返します。

例:distinct-values((1, 2, 3, 1, 2))

結果:(1, 2, 3)

fn:insert-before((item,item,...),pos,inserts)

item パラメータで構築された新しいシーケンスを返します。- pos パラメータで指定された位置に inserts パラメータの値を挿入します。

例:insert-before(("ab", "cd"), 0, "gh")

結果:("gh", "ab", "cd")

例:insert-before(("ab", "cd"), 1, "gh")

結果:("gh", "ab", "cd")

例:insert-before(("ab", "cd"), 2, "gh")

結果:("ab", "gh", "cd")

例:insert-before(("ab", "cd"), 5, "gh")

結果:("ab", "cd", "gh")

fn:reverse((item,item,...))

指定されたプロジェクトの逆順を返します。

例:reverse(("ab", "cd", "ef"))

結果:("ef", "cd", "ab")

例:reverse(("ab"))

結果:("ab")

fn:subsequence((item,item,...),start,len)

start パラメータで指定された位置から、len パラメータで指定された長さのプロジェクトシーケンスを返します。

最初のプロジェクトの位置は 1 です。

例:subsequence(($item1, $item2, $item3,...), 3)

結果:($item3, ...)

例:subsequence(($item1, $item2, $item3, ...), 2, 2)

結果:($item2, $item3)

fn:unordered((item,item,...)) 実装に応じて決定される順序でプロジェクトを返します。

テストシーケンスの容量の関数

名前 説明
fn:zero-or-one(item,item,...) パラメータにゼロ個または一個のプロジェクトが含まれている場合、パラメータを返します。それ以外の場合、エラーを生成します。
fn:one-or-more(item,item,...) パラメータに一個または複数のプロジェクトが含まれている場合、パラメータを返します。それ以外の場合、エラーを生成します。
fn:exactly-one(item,item,...) パラメータにプロジェクトが含まれている場合、パラメータを返します。それ以外の場合、エラーを生成します。

等しい、和集合、交集合および差集合

名前 説明
fn:deep-equal(param1,param2,collation) param1 と param2 が深い等価性(deep-equal)を持っている場合、true を返します。それ以外の場合は false を返します。

合計関数

名前 説明
fn:count((item,item,...)) ノードの数を返します。
fn:avg((arg,arg,...))

パラメータの値の平均を返します。

例:avg((1,2,3))

結果:2

fn:max((arg,arg,...))

他のすべてのパラメータよりも大きなパラメータを返します。

例:max((1,2,3))

結果:3

例:max(('a', 'k'))

結果:'k'

fn:min((arg,arg,...))

他のすべてのパラメータよりも小さいパラメータを返します。

例:min((1,2,3))

結果:1

例:min(('a', 'k'))

結果:'a'

fn:sum(arg,arg,...) 指定されたノード集中各ノードの数値の合計を返します。

シーケンスの生成関数

名前 説明
fn:id((string,string,...),node) string パラメータで指定された一個または複数の値に等しい ID 値を持つ要素ノードのシーケンスを返します。
fn:idref((string,string,...),node) string パラメータで指定された一個または複数の値に等しい IDREF 値を持つ要素または属性ノードのシーケンスを返します。
fn:doc(URI)  
fn:doc-available(URI) doc() 函数がドキュメントノードを返す場合、true を返します。それ以外の場合は false を返します。
  • fn:collection()
  • fn:collection(string)
 

上下文関数

名前 説明
fn:position()

現在処理中のノードの index 位置を返します。

例://book[position()<=3]

結果:前三个 book 要素の選択

fn:last()

処理されるノードリスト内のアイテムの数を返します。

例://book[last()]

結果:最後の book 要素を選択します。

fn:current-dateTime() 現在の dateTime(時区を含む)を返します。
fn:current-date() 現在の日期(時区を含む)を返します。
fn:current-time() 現在の時間(時区を含む)を返します。
fn:implicit-timezone() 暗黙の時区の値を返します。
fn:default-collation() デフォルトの照合の値を返します。
fn:static-base-uri() base-uri の値を返します。

XSLT 関数

さらに、以下の内蔵の XSLT 関数があります:

名前 説明
current() 現在のノードを唯一のメンバーとして含むノードセットを返します。
document() 外部 XML 文書内のノードにアクセスするために使用されます。
element-available() XSLT プロセッサが指定された要素をサポートしているかを検出します。
format-number() 数字を文字列に変換します。
function-available() XSLT プロセッサが指定された関数をサポートしているかを検出します。
generate-id() 指定されたノードを識別するユニークな文字列値を返します。
key() 前に <xsl:key> 文でマークされた要素を検索します。
node-set ツリーをノードセットに変換します。生成されたノードセットは常に単一のノードを含み、ツリーのルートノードです。
system-property() システムプロパティの値を返します。
unparsed-entity-uri() 未解析エンティティの URI を返します。

トップ

その他の XML DOM オブジェクト

トップ