SLAX 構文ルールの概要
SLAX の構文規則は、C や PERL などの従来のプログラミング言語の構文規則と似ています。次のセクションでは、SLAX 構文規則の一般的な側面について説明します。
コードブロック
SLAX は、コードのブロックを中括弧で区切ります。コードブロックは、要素、階層、またはコードのセグメントの境界を定義することができ、他のコードブロックと同じレベルに配置することも、他のコードブロック内で入れ子にすることもできます。特定のコード ブロック内で定義された宣言には、そのブロックに限定されたスコープがあります。
次の例は、2 つのコード ブロックを示しています。中括弧は、 match / ブロックの境界を定義します。 <op-script-results> 要素を含む 2 番目のブロックは、最初のブロック内にネストされます。
match / {
<op-script-results> {
<output> "Script summary:";
}
}
コメント
SLAX では、スクリプト内の任意の場所にコメントを追加できます。スクリプトにコメントを付けると、作成者を含むすべてのユーザーの読みやすさが向上します。スクリプトは、最初に作成されてからかなり経ってからスクリプトに戻る必要があります。スクリプトを記述する際には、スクリプトの随所にコメントを追加することをお勧めします。
SLAX では、 /* で始まり */ で終わる従来の C スタイルでコメントを挿入します。例えば:
/* This is a comment. */
複数行のコメントも同じ形式に従います。次の例では、読みやすくするために行の先頭に追加の "*" 文字が追加されていますが、必須ではありません。
/* Script Title * Author: Jane Doe * Last modified: 01/01/10 * Summary of modifications: ... */
これに相当する XSLT は、以下の通りです。
<!-- Script Title Author: Jane Doe Last modified: 01/01/10 Summary of modifications: ... -->
次の例では、スクリプトにコメントを挿入して、出力がコンソールに送信されることをプログラマに通知します。
match / {
<op-script-results> {
/* Output script summary to the console */
<output> "Script summary: ...";
}
}
回線終端
多くの従来のプログラミング言語と同様に、SLAX ステートメントはセミコロンで終了します。
次の例では、名前空間の宣言、import ステートメント、および output 要素はすべてセミコロンで終わっています。ブロックを開始または終了する行は、セミコロンで終了しません。
version 1.2;
ns junos = "http://xml.juniper.net/junos/*/junos";
ns xnm = "http://xml.juniper.net/xnm/1.1/xnm";
ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0";
import "../import/junos.xsl";
match / {
<op-script-results> {
<output> "Script summary:";
/* ... */
}
}
ストリングス
文字列は、テキスト文字のシーケンスです。SLAX 文字列は、一重引用符または二重引用符で囲むことができます。ただし、文字列を開くときに使用したのと同じ種類の引用符を使用して文字列を閉じる必要があります。文字列は、アンダースコア (_) である SLAX 連結操作を使用して連結できます。
例えば:
match / {
<op-script-results> {
/* Output script summary to the console */
<output> "Script" _ "summary: ...";
}
}