参照 > XSLT と XPath/XQuery 関数 > Altova 拡張関数 XPath/XQuery 関数: シーケンス |
スクロール ホーム 前 トップ 次 その他 |
Altova のシーケンス拡張関数は XPath と XQuery 式で使用することができ、XML スキーマの異なる日付および時刻データ型で保存されているデータを処理するための追加機能を提供します。
Altova 拡張関数はXPath/XQuery 式で使用することができ、 XPath、 XQuery、および XSLT 関数の標準ライブラリで使用可能な機能に更なる機能性を与えます。 •Altova 拡張関数を標準関数ライブラリと区別するために、このドキュメントでは、Altova 拡張関数にサフィックス [altova:]を付けて名前指定されています。例: add-years-to-date [altova:]。 •XPath/XQuery 式で Altova 拡張機能を使用する場合、プレフィックスまたはサフィックスなしで、関数を使用する同様、Altova 拡張関数を使用することができます。Altova 拡張子を次のように使用してください: add-years-to-date(xs:date("2014-01-15"), 10)。
|
attributes(AttributeName as xs:string) を attribute()* とする XP3.1 XQ3.1 入力引数 AttributeName 内で与えられた名前と同じローカル名を持つすべての属性を返します。検索は大文字と小文字を区別し、 attribute:: 軸に対して行われます。これは、コンテキストノードが親要素ノードである必要があることを意味します。
attributes(AttributeName as xs:string, SearchOptions as xs:string) asattribute()* XP3.1 XQ3.1 入力引数 AttributeName 内で与えられた名前と同じローカル名を持つすべての属性を返します。検索は大文字と小文字を区別し、 attribute:: 軸に対して行われます。コンテキストノードが親要素ノードである必要があります。第 2 引数はオプションのフラッグを含みます。使用することのできるフラッグは以下の通りです: p = 検索に名前空間プレフィックスを含みます。 AttributeName は、名前空間プレフィックスを含みます。例えば: altova:MyAttribute。
|
elements(ElementName as xs:string) を element()* とする XP3.1 XQ3.1 入力引数 ElementName で与えられた名前と同じローカル名を持つすべての要素を返します。検索は大文字と小文字を区別して child:: 軸に対して実行されます。コンテキストノードは、検索される要素の親ノードである必要があります。
elements(ElementName as xs:string, SearchOptions as xs:string) aselement()* XP3.1 XQ3.1 入力引数 ElementName 内で与えられた名前と同じローカル名を持つすべての属性を返します。検索は大文字と小文字を区別し、 child:: 軸に対して行われます。コンテキストノードが親要素ノードである必要があります。第 2 引数はオプションのフラッグを含みます。使用することのできるフラッグは以下の通りです: p = 検索に名前空間プレフィックスを含みます。 ElementName は、名前空間プレフィックスを含みます。例えば: altova:MyElement。
|
find-first((Sequence as item()*), (Condition( Sequence-Item as xs:boolean)) を item()? とする XP3.1 XQ3.1 この関数は 2 つの引数を必要とします。最初の引数は 1 つ、または 1 つ以上のデータ型のアイテムのシーケンスです。第 2 の引数Condition は、( 1 のアリティを持つ) 1 つの引数 を必要とし、boolean を返す XPath 関数に対する参照です。 Condition で参照された関数の代わりに、 Sequence の各アイテムが提出されます。(注意: この関数は 1 つの引数のみを必要とします。) Condition 内の関数に true()と評価させる最初の Sequence アイテムは、find-first、 反復の終了の結果として返されます。
|
find-first-combination((Seq-01 as item()*), (Seq-02 as item()*), (Condition( Seq-01-Item, Seq-02-Item as xs:boolean)) を item()* とする XP3.1 XQ3.1 この関数は 3 つの引数を必要とします:
•最初の 2 つの引数 Seq-01 と Seq-02, は、1 つまたは1 つ以上のデータ型のアイテムです。 •第 3 の引数 Condition は、(2 のアリティを持つ) 2 つの引数を必要とし、 boolean を返す XPath 関数に対しての参照です。
Seq-01 と Seq-02 のアイテムは指定された組み合わせ(各シーケンスからの1つずつにアイテムで構成されるペア)で、 Condition 内の関数の引数としてパスされました。組み合わせは以下のように指定されています。 If Seq-01 = X1, X2, X3 ... Xn And Seq-02 = Y1, Y2, Y3 ... Yn Then (X1 Y1), (X1 Y2), (X1 Y3) ... (X1 Yn), (X2 Y1), (X2 Y2) ... (Xn Yn)
Condition 関数に true() と評価するように指示する最初のペアはfind-first-combination の結果として返されます。以下の点に注意してください: (i) Condition 関数が提出された引数ペア内で繰り返され、 true()を評価しない場合、 find-first-combination は、結果を返しません; (ii) find-first-combination の結果が常に(データ型の)アイテムのペアである場合またはアイテムでない場合。
|
find-first-pair((Seq-01 as item()*), (Seq-02 as item()*), (Condition( Seq-01-Item, Seq-02-Item as xs:boolean)) を item()* とする XP3.1 XQ3.1 この関数は 3 つの引数を必要とします:
•最初の 2 つの引数 Seq-01 と Seq-02, は、1 つまたは1 つ以上のデータ型のアイテムです。 •第 3 の引数 Condition は、(2 のアリティを持つ) 2 つの引数を必要とし、 boolean を返す XPath 関数に対しての参照です。
Seq-01 と Seq-02 のアイテムは指定された組み合わせで、 Condition 内の関数の引数としてパスされました。組み合わせは以下のように指定されています。 If Seq-01 = X1, X2, X3 ... Xn And Seq-02 = Y1, Y2, Y3 ... Yn Then (X1 Y1), (X2 Y2), (X3 Y3) ... (Xn Yn)
Condition 関数に true() と評価するように指示する最初のペアはfind-first-pair の結果として返されます。以下の点に注意してください: (i) Condition 関数が提出された引数ペア内で繰り返され、 true()を評価しない場合、 find-first-pair は、結果を返しません; (ii) find-first-combination の結果が常に (データ型の) アイテムのペアである場合またはアイテムでない場合。
|
find-first-pair-pos((Seq-01 as item()*), (Seq-02 as item()*), (Condition( Seq-01-Item, Seq-02-Item as xs:boolean)) を xs:integer とする XP3.1 XQ3.1 この関数は 3 つの引数を必要とします:
•最初の 2 つの引数 Seq-01 と Seq-02, は、1 つまたは1 つ以上のデータ型のアイテムです。 •第 3 の引数 Condition は、(2 のアリティを持つ) 2 つの引数を必要とし、 boolean を返す XPath 関数に対しての参照です。
Seq-01 と Seq-02 のアイテムは指定された組み合わせで、 Condition 内の関数の引数としてパスされました。組み合わせは以下のように指定されています。 If Seq-01 = X1, X2, X3 ... Xn And Seq-02 = Y1, Y2, Y3 ... Yn Then (X1 Y1), (X2 Y2), (X3 Y3) ... (Xn Yn)
Condition 関数に true()を評価させる、最初に指示されたペアのインデックス ポジションは、は find-first-pair-pos の結果として返されます。関数が提出された引数ペア内で繰り返され、 true()を一度も評価しない場合、 find-first-pair-pos 結果無しが返します。
|
find-first-pos((Sequence as item()*), (Condition( Sequence-Item as xs:boolean)) を xs:integer とする XP3.1 XQ3.1 この関数は 2 つの引数を必要とします。最初の引数は 1 つ、または 1 つ以上のデータ型のアイテムのシーケンスです。第 2 の引数 Condition は、( 1 のアリティを持つ) 1 つの引数 を必要とし、boolean を返す XPath 関数に対する参照です。 Condition で参照された関数の代わりに、 Sequence の各アイテムが提出されます。(注意: この関数は 1 つの引数のみを必要とします。) Condition 内の関数に true()と評価させる最初の Sequence アイテムは、 find-first-pos の結果として返された Sequence 内インデックス ポジションを持ちます。
|
for-each-attribute-pair(Seq1 as element()?, Seq2 as element()?, Function as function()) asitem()* XP3.1 XQ3.1 ペアの一つの属性が最初の要素を取得し、もう一つの属性が2番目の要素から取得された箇所で、最初の2つの引数は、2つの要素、および、属性ペアを作成するために使用された属性を識別します。要素ペアは同じ名前を持つことをベースに選択され、ペアは(名前別に) アルファベット順にセットに並べ替えられます。 属性のために他の要素上に対応する属性が存在しない場合、ペアのジョイントは解除されます。これは、一つのメンバーにより飲み構成されることを意味します。関数アイテム (3番目の引数 Function) はアイテムのシーケンスである出力であるペアのシーケンス内のペア (ジョイント、ジョイントの解除) に個別に適用されます。
|
for-each-combination(FirstSequence as item()*, SecondSequence as item()*, function($i,$j){$i || $j} ) を item()* とする XP3.1 XQ3.1 第 3 の引数として与えられた、インライン関数を返します。FirstSequence 内の各 $i を SecondSequence内の各 $j と結合します。出力はこれらのアイテムのシーケンスです。
|
for-each-combination(FirstSequence as item()*, SecondSequence as item()*, Function($i,$j){$i || $j} ) asitem()* XP3.1 XQ3.1 最初の2つの引数内の2つのシーケンスのアイテムは最初のシーケンスの各アイテムが2番目のシーケンスになるように結合されるように結合されます。3番目の引数として与えられる関数は結果のシーケンス内の組み合わせに適用され、アイテムのシーケンスである出力内で出力されます (サンプル参照)。
|
substitute-empty(FirstSequence as item()*, SecondSequence as item()) を item()* とする XP3.1 XQ3.1 FirstSequence が空の場合、 SecondSequence を返します。FirstSequence が空でない場合、 FirstSequence を返します。
|
(C) 2020 Altova GmbH