XPath/XQuery 関数: 文字列

www.altova.com すべてを展開/折りたたむ このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  付録 > XSLT と XPath/XQuery 関数 > Altova 拡張関数
 >

XPath/XQuery 関数: 文字列

Altova の文字列拡張関数は XPath と XQuery 式で使用することができ、XML スキーマの異なる日付および時刻データ型で保存されているデータを処理するための追加機能を提供します。 このセクションの関数は、Altova の XPath 3.0 および XQuery 3.0 エンジンで使用することができます。これらの関数は、XPath/XQuery コンテキストで使用することができます。

 

関数の名前指定と言語の適用性

Altova 拡張関数はXPath/XQuery 式で使用することができ、 XPath、 XQuery、および XSLT 関数の標準ライブラリで使用可能な機能に更なる機能性を与えます。 Altova 拡張関数はAltova 拡張関数名前空間、 http://www.altova.com/xslt-extensions に収められており、 altova:プレフィックスが、このセクションでは使用されます。製品の今後のバージョンが拡張機能への継続的サポート、または個別の関数の振る舞いは変更する可能性があることに注意してください。 Altova 拡張機能へのサポートに関しては、今後のリリースのドキュメントを参照してください。

 

XPath 関数 (XSLT 内の XPath 式で使用 ):

XP1 XP2 XP3.1

XSLT 関数 (XSLT 内の XPath 式で使用):

Xslt1 XSLT2 XSLT3

XQuery 関数 (XQuery 内の XQuery 式で使用):

XQ1 XQ3.1

 

 

Click to expand/collapsecamel-case [altova:]

altova:camel-case(InputString as xs:string) を xs:string とする         XP3.1 XQ3.1

入力文字列を InputString をキャメルケースで返します。文字列は(空白スペースのショートカットである) 正規表現 '\s' を使用して分析されます。空白文字または連続する空白文字のシーケンスの後の最初の非空白スペース文字は大文字です。 出力文字列の最初の文字は大文字です。

altova:camel-case("max") Max を返します。
altova:camel-case("max max") Max Max を返します。
altova:camel-case("file01.xml") File01.xml を返します。
altova:camel-case("file01.xml file02.xml") File01.xml File02.xml を返します。
altova:camel-case("file01.xml   file02.xml") File01.xml   File02.xml を返します。
altova:camel-case("file01.xml -file02.xml") File01.xml -file02.xml を返します。

 

altova:camel-case(InputString as xs:stringSplitChars as xs:stringIsRegex as xs:boolean) を xs:string とする         XP3.1 XQ3.1

SplitChars を使用して、次の大文字をトリガーする文字を決定し、入力文字列を InputString キャメルケースに変換します。 SplitChars は、 IsRegex = true()の場合、または、IsRegex = false()の場合、プレーン文字は正規表現として使用されます。出力文字列の最初の文字は大文字です。

altova:camel-case("setname getname", "set|get", true()) setName getName  を返します。
altova:camel-case("altova\documents\testcases", "\", false()) Altova\Documents\Testcases を返します。

 

 

Click to expand/collapsechar [altova:]

altova:char(Position as xs:integer) を xs:string とする         XP3.1 XQ3.1

xs:string.Position  に対してのコンテキストアイテムの値を変換することにより得られた文字列内の Position 引数により指定されたポジションにある文字を含む文字列を返します。引数により提出されたインデックスに文字が存在しない場合、結果文字列は空です。

コンテキスト アイテムが 1234ABCD の場合:

 

altova:char(2)2 を返します。
altova:char(5)A を返します。
altova:char(9) は空の文字列を返します。
altova:char(-2) は空の文字列を返します。

 

altova:char(InputString as xs:stringPosition as xs:integer) を xs:string とする         XP3.1 XQ3.1

引数として提出された文字列内の Position 引数により指定されたポジションでの文字を含む文字列を返します。 Position  引数により提出されたインデックスに文字が存在しない場合、結果文字列は空です。

altova:char("2014-01-15", 5)- を返します。
altova:char("USA", 1)U を返します。
altova:char("USA", 10) は空の文字列を返します。
altova:char("USA", -2) は空の文字列を返します。

 

 

Click to expand/collapsecreate-hash-from-string[altova:]

altova:create-hash-from-string(InputString as xs:string) as xs:string     XP2 XQ1 XP3 XQ3

altova:create-hash-from-string(InputString as xs:string, HashAlgo as xs:string) as xs:string     XP2 XQ1 XP3 XQ3

HashAlgo 引数により指定されているハッシュアルゴリズムを使用して InputString からハッシュ文字列を生成します。次のハッシュアルゴリズムは (大文字、または、小文字で)指定されている可能性があります: MD5, SHA-224, SHA-256, SHA-384, SHA-512。 (最初の署名を参照してください) 2番目の引数が指定されていない場合、 SHA-256 ハッシュアルゴリズムが使用されます。

altova:create-hash-from-string('abc')SHA-256  ハッシュアルゴリズムを使用して生成されたハッシュ文字列 を返します。
altova:create-hash-from-string('abc', 'md5')MD5 ハッシュアルゴリズムを使用して生成されたハッシュ文字列  を返します。
altova:create-hash-from-string('abc', 'MD5')MD5 ハッシュアルゴリズムを使用して生成されたハッシュ文字列 を返します。

 

 

Click to expand/collapsefirst-chars [altova:]

altova:first-chars(X-Number as xs:integer) を xs:string とする         XP3.1 XQ3.1

xs:string に対するコンテキストアイテムの値を変換することにより得られた最初の X-Number 文字を含む文字列を返します。

コンテキストアイテムが 1234ABCD の場合:

 

altova:first-chars(2)12 を返します。
altova:first-chars(5)1234A を返します。
altova:first-chars(9)1234ABCD を返します。

 

altova:first-chars(InputString as xs:stringX-Number as xs:integer) を xs:string とする         XP3.1 XQ3.1

InputString 引数として提出された文字列の最初の文字を含む文字列を返します。

altova:first-chars("2014-01-15", 5)2014- を返します。
altova:first-chars("USA", 1)U を返します。

 

 

Click to expand/collapseformat-string [altova:]

altova:format-string(InputString as xs:stringFormatSequence as item()*) as xs:string         XP3.1 XQ3.1

入力文字列 (最初の引数) には、配置パラメーター (%1, %2, etc) が含まれています。各パラメーターは、 (2番目の引数として提出されている)フォーマットシーケンス内の対応するポジションでロケートされる文字列アイテムと置き換えられます。フォーマットシーケンス内の最初のアイテムは、配置パラメーター %1 を置換、二番目のアイテムは %2 を置き換えます。関数は、書式設定された代替を持つ文字列を返します。 配置パラメーターに文字列が存在しない場合は、配置パラメーターが返されます。これは、配置パラメーターのインデックスが書式シーケンス内のアイテムの数よりも大きい場合発生します。

altova:format-string('Hello %1, %2, %3', ('Jane','John','Joe'))"Hello Jane, John, Joe"  を返します。
altova:format-string('Hello %1, %2, %3', ('Jane','John','Joe''Tom'))"Hello Jane, John, Joe" を返します。
altova:format-string('Hello %1, %2, %4', ('Jane','John','Joe''Tom'))"Hello Jane, John, Tom" を返します。
altova:format-string('Hello %1, %2, %4', ('Jane','John','Joe'))"Hello Jane, John, %4" を返します。

 

 

Click to expand/collapselast-chars [altova:]

altova:last-chars(X-Number as xs:integer) を xs:string とする         XP3.1 XQ3.1

xs:string に対してのコンテキストアイテムの値の変換より取得された文字列の最後の X-Number  文字を含んでいる文字列を返します。

コンテキストアイテムが 1234ABCD の場合:

 

altova:last-chars(2)CD を返します。
altova:last-chars(5)4ABCD を返します。
altova:last-chars(9)1234ABCD を返します。

 

altova:last-chars(InputString as xs:stringX-Number as xs:integer) as xs:string とする         XP3.1 XQ3.1

引数として提出された文字列の最後の X-Number  文字を含んでいる文字列を返します。

altova:last-chars("2014-01-15", 5)01-15 を返します。
altova:last-chars("USA", 10)USA を返します。

 

 

Click to expand/collapsepad-string-left [altova:]

altova:pad-string-left(StringToPad as xs:string, StringLength as xs:integer, PadCharacter as xs:string) を xs:string とする         XP3.1 XQ3.1

PadCharacter 引数は1文字です。文字列の左側にバッドされ、この数が、 StringLength 引数の整数の値と等しくなるようにStringToPad の文字の数を増やします。StringLength 引数は任意の整数の値 (正数または負数) を持つことができますが、パディングは、StringLength の値が StringToPad 内の文字数よりも多い場合の場合のみ発生します。もし、 StringToPad  が StringLength の値よりも多くの文字数も持つ場合、 StringToPad は変更されません。

altova:pad-string-left('AP', 1, 'Z')'AP' を返します。
altova:pad-string-left('AP', 2, 'Z')'AP' を返します。
altova:pad-string-left('AP', 3, 'Z')'ZAP' を返します。
altova:pad-string-left('AP', 4, 'Z')'ZZAP' を返します。
altova:pad-string-left('AP', -3, 'Z')'AP' を返します。
altova:pad-string-left('AP', 3, 'YZ')は [パッド文字が長すぎます] エラーを返します。

 

 

Click to expand/collapsepad-string-right [altova:]

altova:pad-string-right(StringToPad as xs:string, StringLength as xs:integer, PadCharacter as xs:string) を xs:string とする         XP3.1 XQ3.1

PadCharacter 引数は1文字です。文字列の右側にバッドされ、この数が、 StringLength 引数の整数の値と等しくなるようにStringToPad の文字の数を増やします。StringLength 引数は任意の整数の値 (正数または負数) を持つことができますが、パディングは、StringLength の値が StringToPad 内の文字数よりも多い場合の場合のみ発生します。もし、 StringToPad  が StringLength の値よりも多くの文字数も持つ場合、 StringToPad は変更されません。

altova:pad-string-right('AP', 1, 'Z')'AP' を返します。
altova:pad-string-right('AP', 2, 'Z')'AP' を返します。
altova:pad-string-right('AP', 3, 'Z')'APZ' を返します。
altova:pad-string-right('AP', 4, 'Z')'APZZ' を返します。
altova:pad-string-right('AP', -3, 'Z')'AP' を返します。
altova:pad-string-right('AP', 3, 'YZ') は [パッド文字が長すぎます] エラーを返します。

 

 

Click to expand/collapserepeat-string [altova:]

altova:repeat-string(InputString as xs:string, Repeats as xs:integer) を xs:string とする     XP2 XQ1 XP3 XQ3

最初の InputString引数により構成される文字列、 Repeats 回繰り返してを生成します。

altova:repeat-string("Altova #", 3)"Altova #Altova #Altova #" を返します。

 

 

Click to expand/collapsesubstring-after-last [altova:]

altova:substring-after-last(MainString as xs:string, CheckString as xs:string) を xs:string とする         XP3.1 XQ3.1

CheckStringMainString 内で検出された場合、 MainString 内の CheckString が発生した後のサブ文字列が返されます。MainString 内で CheckString が検出されない場合、空の文字列が返されます。CheckString が空の文字列の場合、 MainString 全体が返されます。一度以上発生する場合、CheckString の最後の発生の後の サブ文字列が返されます。

altova:substring-after-last('ABCDEFGH', 'B')'CDEFGH'  を返します。
altova:substring-after-last('ABCDEFGH', 'BC')'DEFGH' を返します。
altova:substring-after-last('ABCDEFGH', 'BD')'' を返します。
altova:substring-after-last('ABCDEFGH', 'Z')'' を返します。
altova:substring-after-last('ABCDEFGH', '')'ABCDEFGH' を返します。
altova:substring-after-last('ABCD-ABCD', 'B')'CD'  を返します。
altova:substring-after-last('ABCD-ABCD-ABCD', 'BCD')'' を返します。

 

 

Click to expand/collapsesubstring-before-last [altova:]

altova:substring-before-last(MainString as xs:string, CheckString as xs:string) を xs:string とする         XP3.1 XQ3.1

CheckStringMainString 内で検出された場合、 MainString 内の CheckString が発生する前のサブ文字列が返されます。MainString 内でCheckString が一度以上発生する場合、CheckString の最後の発生の前の サブ文字列が返されます。

altova:substring-before-last('ABCDEFGH', 'B')'A' を返します。
altova:substring-before-last('ABCDEFGH', 'BC')'A' を返します。
altova:substring-before-last('ABCDEFGH', 'BD')'' を返します。
altova:substring-before-last('ABCDEFGH', 'Z')'' を返します。
altova:substring-before-last('ABCDEFGH', '')'' を返します。
altova:substring-before-last('ABCD-ABCD', 'B')'ABCD-A' を返します。
altova:substring-before-last('ABCD-ABCD-ABCD', 'ABCD')'ABCD-ABCD-' を返します。

 

 

Click to expand/collapsesubstring-pos [altova:]

altova:substring-pos(StringToCheck as xs:stringStringToFind as xs:string) を xs:integer とする         XP3.1 XQ3.1

StringToCheck 内での StringToFind の最初の発生の文字位置を整数として返します。StringToCheck の最初の文字は、位置 1 にあります。 StringToFindStringToCheck 内で発生しない場合、整数 0 が返されます。第 2 またはその後の StringToCheck, 発生を確認するには、この関数の次の署名を確認してください。

altova:substring-pos('Altova', 'to')は 3 を返します。
altova:substring-pos('Altova', 'tov')は 3 を返します。
altova:substring-pos('Altova', 'tv')0 を返します。
altova:substring-pos('AltovaAltova', 'to')は 3 を返します。

 

altova:substring-pos(StringToCheck as xs:stringStringToFind as xs:stringInteger as xs:integer) を xs:integer とする         XP3.1 XQ3.1

StringToCheck 内での StringToFind の最初の発生の文字位置を返します。Integer 引数により与えられた、文字位置から StringToFind の検索が開始されます。この位置の前の文字サブ文字列は検索されません。しかし、返された整数は、全体文字列 StringToCheck の検索された文字列の位置です。この署名は、StringToCheck 内で複数回発生する、第 2 または後の発生を検索する際に役に立ちます。 StringToFindStringToCheck 内で発生しない場合、整数 0 が返されます。

altova:substring-pos('Altova', 'to', 1)は 3 を返します。
altova:substring-pos('Altova', 'to', 3)は 3 を返します。
altova:substring-pos('Altova', 'to', 4)は 0 を返します。
altova:substring-pos('Altova-Altova', 'to', 0)は 3 を返します。
altova:substring-pos('Altova-Altova', 'to', 4)は 10 を返します。

 

 

Click to expand/collapsetrim-string [altova:]

altova:trim-string(InputString as xs:string) を xs:string とする         XP3.1 XQ3.1

この関数は xs:string 引数を必要とし、先頭または後続の空白を削除し、トリミングされた xs:string を返します。

altova:trim-string("   Hello World   ")) "Hello World" を返します。
altova:trim-string("Hello World   "))"Hello World" を返します。
altova:trim-string("   Hello World"))"Hello World" を返します。
altova:trim-string("Hello World"))"Hello World" を返します。
altova:trim-string("Hello   World"))"Hello   World" を返します。

 

 

Click to expand/collapsetrim-string-left [altova:]

altova:trim-string-left(InputString as xs:string) を xs:string とする         XP3.1 XQ3.1

この関数は xs:string 引数を必要とし、先頭または後続の空白を削除し、トリミングされた xs:string を返します。

altova:trim-string-left("   Hello World   "))"Hello World   " を返します。
altova:trim-string-left("Hello World   "))"Hello World   " を返します。
altova:trim-string-left("   Hello World"))"Hello World" を返します。
altova:trim-string-left("Hello World"))"Hello World" を返します。
altova:trim-string-left("Hello   World"))"Hello   World" を返します。

 

 

Click to expand/collapsetrim-string-right [altova:]

altova:trim-string-right(InputString as xs:string) を xs:string とする         XP3.1 XQ3.1

この関数は xs:string 引数を必要とし、先頭または後続の空白を削除し、トリミングされた xs:string を返します。

altova:trim-string-right("   Hello World   "))"   Hello World" を返します。
altova:trim-string-right("Hello World   "))"Hello World" を返します。
altova:trim-string-right("   Hello World"))"   Hello World" を返します。
altova:trim-string-right("Hello World"))"Hello World" を返します。
altova:trim-string-right("Hello   World"))"Hello   World" を返します。

 

 

 


(C) 2018 Altova GmbH