SLAX と XSLT 間のスクリプト変換
SLAX は XSLT の C のような代替構文であり、XSLT のプリプロセッサーと見なすことができます。Junos OS が XSLT プロセッサーを呼び出す前に、ソフトウェアはスクリプト内の SLAX 構成要素 (などif/else if/else
) を同等の XSLT 構成要素 (など<xsl:choose>
<xsl:if>
) に変換します。SLAX の詳細については、 SLAX の概要を参照してください。
運用モード コマンドを request system scripts convert
使用すると、SLAX または XSLT で記述されたスクリプト入力の一部またはスクリプトの一部を代替言語に変換できます。C および PERL に精通しているユーザーは、既存の XSLT スクリプトを SLAX に変換して、スクリプトの読み取りと保守を容易にすることができます。さらに、スクリプトを変換し、結果を学習することで、2 つの言語の違いを簡単に学習できます。
次のセクションでは、スクリプトを 1 つの言語から別の言語に変換する方法について説明します。
スクリプトを SLAX から XSLT に変換する
SLAX スクリプトを XSLT に変換するには、運用モード コマンドを request system scripts convert slax-to-xslt
発行し、ソース ファイル、宛先ディレクトリ、およびオプションで宛先ファイルを指定します。ソーススクリプトは、新しいスクリプトのベースとなります。ソーススクリプトは新しいスクリプトで上書きされません。Junos OS リリース 12.2 以降では、部分的なスクリプト入力を変換する オプションを含 partial
めることもできます。
コマンド構文は次のとおりです。
user@host> request system scripts convert slax-to-xslt source source/filename destination destination/<filename> <partial>
次の 3 つの例では、変換するスクリプトの種類の既定の保存場所に関連するソースと宛先のディレクトリを使用して、SLAX から XSLT にスクリプトを変換します。
user@host> request system scripts convert slax-to-xslt source /var/db/scripts/op/script1.slax destination /var/db/scripts/op/script1.xsl conversion complete
user@host> request system scripts convert slax-to-xslt source /var/db/scripts/event/script1.slax destination /var/db/scripts/event/script1.xsl conversion complete
user@host> request system scripts convert slax-to-xslt source /var/db/scripts/commit/script1.slax destination /var/db/scripts/commit/script1.xsl conversion complete
変換コマンドを slax-to-xslt
発行すると、 script1.slax ファイルはソース ディレクトリに変更されず、 script1.xsl という新しいスクリプトが宛先ディレクトリに追加されます。
user@host> file list /var/db/scripts/op script1.slax script1.xsl
宛先ディレクトリのみを指定し、宛先ファイル名を指定しない場合、生成されるファイル名はJunos OSリリースに応じて SLAX-Conversion-Temp または slax-temp であり、ランダムに生成された5文字の英数字の拡張子があります。
user@host> request system scripts convert slax-to-xslt source /var/db/scripts/op/script1.slax destination /var/db/scripts/op/ conversion complete
user@host> file list /var/db/scripts/op SLAX-Conversion-Temp.SlhIr script1.slax
XSLT から SLAX へのスクリプトの変換
XSLT スクリプトを SLAX に変換するには、運用モード コマンドをrequest system scripts convert xslt-to-slax
発行し、ソース ファイル、宛先ディレクトリ、およびオプションで宛先ファイルを指定します。ソーススクリプトは、新しいスクリプトのベースとなります。ソーススクリプトは新しいスクリプトで上書きされません。
コマンド構文は次のとおりです。
user@host> request system scripts convert xslt-to-slax source source/filename destination destination/<filename> <partial> <version (1.0 | 1.1)>
部分的なスクリプト入力を変換するには、 コマンドに partial
オプションを含めます。オプションは version
、生成されたスクリプトのバージョンステートメントにリストされるSLAXバージョンを指定します。バージョンを 1.0 または 1.1 のいずれかに指定します。デフォルトは1.1です。 partial
および version
オプションは、Junos OS リリース 12.2 以降でサポートされています。
次の 3 つの例では、変換するスクリプトの種類の既定の保存場所に関連するソースと宛先のディレクトリを使用して、XSLT から SLAX にスクリプトを変換します。
user@host> request system scripts convert xslt-to-slax source /var/db/scripts/op/script1.xsl destination /var/db/scripts/op/script1.slax version 1.0 conversion complete
user@host> request system scripts convert xslt-to-slax source /var/db/scripts/event/script1.xsl destination /var/db/scripts/event/script1.slax conversion complete
user@host> request system scripts convert xslt-to-slax source /var/db/scripts/commit/script1.xsl destination /var/db/scripts/commit/script1.slax conversion complete
変換コマンドを xslt-to-slax
発行すると、 script1.xsl ファイルはソース ディレクトリに変更されず、 script1.slax という新しいスクリプトが宛先ディレクトリに追加されます。
user@host> file list /var/db/scripts/op script1.slax script1.xsl
SLAX スクリプトの定型プレートは、指定された SLAX バージョンを一覧表示します。この例では、バージョンは 1.0 です。
user@host> file show /var/db/scripts/op/script1.slax /* Machine Crafted with Care (tm) by slaxWriter */ version 1.0; ...
宛先ディレクトリのみを指定し、宛先ファイル名を指定しない場合、生成されるファイル名はJunos OSリリースに応じて SLAX-Conversion-Temp または slax-temp であり、ランダムに生成された5文字の英数字の拡張子があります。
user@host> request system scripts convert xslt-to-slax source /var/db/scripts/op/script1.xsl destination /var/db/scripts/op/ conversion complete
user@host> file list /var/db/scripts/op slax-temp.Vosnd script1.xsl