このページで
SLAX の概要
Stylesheet Language Alternative syntaX(SLAX)は、Junos OS コミット スクリプト、op スクリプト、イベント スクリプト、SNMP スクリプトを記述するための言語です。XSLT(Extensible Stylesheet Language Transformations)の代替手段です。SLAX の構文は C や Perl と似ていますが、XSLT と同じセマンティクスです。
SLAX のメリット
XSLT は、マシン間の通信に適した XML(Extensible Markup Language )を処理するための強力かつ効果的なツールですが、XML ベースの構文は複雑なプログラムの開発には不便です。
SLAX は、C と PERL のスタイルに従ったシンプルな構文を備えています。実用的で簡潔なコードを作成できるため、読みやすく保守可能なコミット、運用、イベント、SNMP スクリプトを作成できます。SLAX は、XML 要素から XPath 式とプログラミング手順を削除します。XML 山括弧および引用符は、C および PERL で使い慣れた区切り文字である括弧および中括弧({ })に置き換えられます。
XSLT にまだ慣れないプログラマにとって、SLAX のメリットは特に大きいと思います。SLAX を使用すると、新しい構文の学習に集中するのではなく、XSLT で導入された新しいプログラミングトピックに集中できるためです。例えば、SLAX では以下を実現できます。
および 要素の代わりに 、
else if
、 ステートメントを<xsl:if>
<xsl:choose>
使用if
するelse
テスト式を括弧内に入れる
( )
二重等符号()を使用して、単一の等符号(
==
=
)ではなく等値をテストするタグを閉じるのではなく、中括弧を使用してコンテインメントを表示する
PERL、バージョン 6 のようにアンダースコア(
_
)演算子を使用して連結を実行します。要素の代わりに、簡単な引用符(
" "
)を使用してテキスト文字列を記述する<xsl:text>
関数定義に似た構文で名前付きテンプレートを定義する
関数呼び出しに似た構文で名前付きテンプレートを呼び出す
名前空間宣言の簡素化
スクリプトの乱雑さを軽減する
より読みやすいスクリプトを作成する
SLAX の仕組み
SLAX は XSLT のプリプロセッサーとして機能します。Junos OS は、SLAX プログラミング命令(および ステートメントなどif
)を同等の XSLT 命令(および <xsl:choose>
要素など<xsl:if>
)に変換else
します。この変換の後、XSLT 変換エンジン(Junos OS の場合は、Junos OS 管理(mgd)プロセス)が呼び出されます。
SLAX は XSLT の表現性に影響を与えません。XSLT の使用が容易になるだけです。基になる SLAX 構成要素は XSLT に完全にネイティブです。SLAX は XSLT エンジンに何も追加しません。SLAX パーサーは入力文書を解析し、XML パーサーが XSLT 文書を読み取るときに生成された XML ツリーと同じ XML ツリーをビルドします。
図 1 は、SLAX スクリプトの入出力フローを示しています。

SLAX のリソース
表 1 は、SLAX の学習と SLAX スクリプトの記述に使用できる追加のリソースの概要を示しています。
リソース |
Url |
---|---|
SLAX マニュアル |
|
SLAX 1.0 向け Junos 自動化リファレンス |
https://www.juniper.net/documentation/en_US/day-one-books/archive/TW_Junos_Automation_Reference.pdf |
Libslax— SLAX 言語のオープンソース実装 |