Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
このページの目次
 

number

構文

説明

書式設定された数値文字列を生成し、結果ツリーに出力します。引数と共に使用すると、ステートメントはその XPath 式で指定された数値をフォーマットします。引数を指定せずに使用すると、ステートメントは 、 、fromおよび level のオプションcountを使用して、現在の XML ドキュメント内の 1 つ以上のノードの位置に基づいて数値を生成します。どちらの場合も、オプションのステートメントはその数値のフォーマットを指定します。必要に応じて、書式設定された数値文字列を結果ツリーではなく変数または出力メソッドにリダイレクトすることもできます。

属性

number expression

書式設定する数値を指定する XPath 式。

count nodes

カウントするノードを指定する XPath 式。省略すると count 、既定で現在のノードと同じ名前のノードになります。

format numbering-style

数値の書式設定を定義する文字列、変数、または XPath 式。

このオプションには format 、次のものを含めることができます。

  • start string - フォーマット文字列の最初の数字トークンの前にある英数字以外の文字。開始文字列は、書式設定された数値文字列の先頭に追加されます。

  • number トークン - 含まれる番号に使用する番号付け形式を示す 1 つ以上の番号トークン。書式設定された数値文字列には、オプションが level "multiple" に設定されている場合にのみ複数の数値が含まれます。 表 1 に、書式の値と対応するスタイルを示します。既定値は "1" で、10 進書式スタイルを使用します。10 進形式を使用する場合は、"1" の前に 1 つ以上のゼロを付けることで、書式設定された数値文字列の最小長を指定できます。

  • トークン区切り記号 - フォーマット文字列内の数値トークンを区切る英数字以外の文字。これらの文字は、計算された数値の間の書式設定された数値文字列に含まれます。

  • end string - フォーマット文字列の最後の番号トークンに続く英数字以外の文字。終了文字列は、書式設定された数値文字列に追加されます。

表 1: SLAX ステートメント番号の番号付けスタイル、形式オプション

フォーマット値

スタイル

1

10 進形式

1 2 3 ...10 11 ...

01

最小出力文字列長が 2 の 10 進形式

01 02 03 ...10 11 ...

001

最小出力文字列長が 3 の 10 進形式

001 002 003 ...010 011 012 ...100, 101

A

小文字の英数字

a b c ...Z。。。あぁぁ�アリゾナ 州。。。バブ...

A

大文字の英数字

A B C ...Z。。。AA AB ...BA BB ...

小文字のローマ数字

I II III IV V ...

大文字のローマ数字

I II III IV V ...

from nodes

カウントを開始する要素を指定する XPath 式。または single multipleに設定されている場合level、このオプションは、式に一致する最も近い祖先のノード子孫のみにカウントを制限します。()anyに設定されている場合level、このオプションは、式に一致する現在のノードの最も近い祖先または先行ノードに続くノードのみにカウントを制限します。

grouping-separator character

10 進形式で表された数値の桁のグループを区切るために使用される文字。たとえば、10 進表記では、数字グループ間の区切り文字としてコンマを使用します。

grouping-size number

10 進形式で表された数値のグループ内の桁数を定義します。このオプションを設定すると、書式設定された数値がグループ化サイズに従って複数のグループに分割され、グループ化区切り記号によってグループが区切られます。たとえば、10 進表記では、多くの場合、グループ化サイズ 3 が使用されます。

level

実行するカウントのタイプを指定します。指定できる値はsinglemultipleanyです。デフォルトsingleは です。指定すると最初の先祖ノードからカウントが開始され、指定すると任意の先祖ノードからカウントが開始され、指定するsingle multiple anyと任意のノードからカウントが開始されます。

  • single–1つのカウントのみを実行します。現在のノードが count 式と一致する場合、または count 式に一致する最も近い祖先がカウントされます。count パラメーターにも一致する兄弟を基準とした、ドキュメント順でのノードの位置が、書式設定される数値として使用されます。

  • multiple–count 式に一致し、現在のノードまたは現在のノードの祖先であるすべてのノードを個別にカウントします。count パラメーターにも一致する兄弟に対するドキュメント順の各ノードの位置は、書式設定される数値の 1 つとして使用されます。

  • any–1つのカウントのみを実行します。現在のノード (カウント パターンに一致する場合)、またはカウント パターンに一致するその最も近い祖先または先行ノードがカウントされます。先祖またはノードに先行する他のすべての一致するノードに対するドキュメント順のノードの位置が、書式設定される番号として使用されます。

メモ:

現在、libxslt (1.1.26) は、 <xsl:number> 要素の "言語" および "文字値" オプションをサポートしていません。SLAXはこれらのXSLT構造をエンコードする手段を提供しますが、Junos OSでは使用できません。

SLAXの例

次のサンプル コードは、1 から 5 まで反復処理します。各整数について、ステートメントは number 同等の大文字のローマ数字値を出力します。

次のサンプル コードは、文字列 "1234567890" をステートメントに提供し、出力を number グループ サイズ 3 の 10 進形式で書式設定し、グループ区切り記号としてコンマを使用します。

次のサンプルコードは、 name 変数 $dataに格納されている構成階層内のすべての要素をカウントします。countオプションと level "multiple" オプションを組み合わせると、 、 、unitおよび address 要素の下にあるinterface要素のnameカウントが追跡されます。

オプション (1.A.a) には format 、開始文字列 (左括弧) と終了文字列 (右括弧とスペース文字) が含まれます。数値トークンは "1"、"A"、および "a" で、数値の書式設定をそれぞれ 10 進形式、大文字のアルファベット番号、および小文字の英字番号として定義します。トークン区切り記号はピリオドであり、これも出力に含まれます。

生成された数値が結果ツリーに表示される場合、括弧内の 10 進数は特定のインターフェイスに関連付けられています。各インターフェイスにおいて、大文字は各論理ユニット名に関連付けられ、小文字はその論理ユニットのアドレス name 要素(IP アドレス)に関連付けられます。

リリース情報

Junos OSリリース12.2以降のリリースでサポートされているSLAX言語のバージョン1.1で導入されたステートメント。