Junos XML プロトコルを使用して、構成階層の XML スキーマを要求する
スキーマは、デバイスで実行されているJunos OSのバージョンで利用可能なすべての構成要素を表しています。(Junos OSのバージョンを確認するには、 Junos XML API運用開発者リファレンスに記載されている運用リクエストタグを発行<get-software-information>します)。
クライアントアプリケーションは、スキーマを使用してデバイス上の設定を検証したり、デバイスで実行されているJunos OSのバージョンで利用可能な設定ステートメントを学習したりすることもできます。スキーマは、実際に構成されている要素や、そのタイプのデバイスで要素を設定できることを示すものではありません(一部の設定ステートメントは特定のデバイスタイプでのみ利用可能です)。現在構成されている要素とその設定のセットを要求するには、「 Junos XML プロトコルを<get-configuration>使用した構成データの要求」の説明に従って、代わりにタグ要素を発行します。
XML スキーマ言語の構造と表記規則について説明するのは、このドキュメントの範囲外です。詳細については、 XMLスキーマパート0:World Wide Web Consortium(W3C)の入門書(http://www.w3.org/TR/xmlschema-0/)をご覧 ください 。入門書には基本的な概要が記載されており、正式な仕様がリストされており、詳細情報が記載されています。
詳細については、以下のセクションを参照してください。
構成階層の XML スキーマの要求
Junos OS を実行するデバイスとの Junos XML プロトコル セッションでは、クライアント アプリケーションは、設定階層全体の XML スキーマ言語表現を要求するために、Junos XML <get-xnm-information> タグ要素とその <type>タグ要素、および <namespace> タグ要素に指定された値を持つ子タグ要素を <rpc> 発行します。
<rpc>
<get-xnm-information>
<type>xml-schema</type>
<namespace>junos-configuration</namespace>
</get-xnm-information>
</rpc>
Junos XML プロトコル サーバーは、XML スキーマを で囲み、 <xsd:schema> というタグを<rpc-reply>付けます。
<rpc-reply xmlns:junos="URL">
<xsd:schema>
<!-- tag elements for the Junos schema -->
</xsd:schema>
</rpc-reply>
junos.xmlファイルの作成
タグで返されるスキーマで定義されたタグ要素のほとんどは、 <xsd:schema> Junos OS構成要素のデフォルト名前空間に属しています。ただし、少なくとも1つのタグ、 は、 <junos:comment>別の名前空間に属します。 http://xml.juniper.net/junos/Junos-version/junosXML 表記規則では、スキーマは 1 つの名前空間のみを記述するため、スキーマ検証ではスキーマを処理する前に追加の名前空間に関する情報をインポートする必要があります。
Junos OSリリース6.4以降では、 <xsd:import> タグ要素はタグ要素に囲まれており、名前空間に <xsd:schema> 必要な情報を含むファイル junos.xmlを junos 参照します。例えば、以下 <xsd:import> のタグ要素は、Junos OS リリース 20.4R1 のファイルを指定します(読みやすさのみを目的として 2 行に表示されます)。
<xsd:import schemaLocation="junos.xsd" \
namespace="http://xml.juniper.net/junos/20.4R1/junos"/>
スキーマ検証ツールでタグを解釈<xsd:import>できるようにするには、Junos 構成スキーマ全体を含む .xml ファイルを配置するディレクトリに junos.xml というファイルを手動で作成する必要があります。ファイルに以下のテキストを含めます。開始<xsd:schema>タグの属性リストで改行を使用しないでください。次の例では、読みやすさのみを目的として改行が表示されます。この変数にはJunos-version、デバイスで実行されているJunos OSのリリース番号を代入します(たとえば、20.4R1をJunos OS 20.4の最初のリリースに置き換えます)。
<?xml version="1.0" encoding="us-ascii"?>
<xsd:schema elementFormDefault="qualified" \
attributeFormDefault="unqualified" \
xmlns:xsd="http://www.w3.org/2001/XMLSchema" \
targetNamespace="http://xml.juniper.net/junos/Junos-version/junos">
<xsd:element name="comment" type="xsd:string"/>
</xsd:schema>
junos.xml ファイルを検索または開くことができない場合、スキーマ検証ツールはスキーマを処理できない可能性があります。
デバイス上で実行されているJunos OSのバージョンを変更するときは、必ずjunos.xmlファイルの変数をJunos-version一致するように更新してください 。
例: XML スキーマの要求
以下の例は、Junos OSの設定スキーマを要求する方法を示しています。Junos XML プロトコル サーバーの応答では、最初 <xsd:element> のステートメントで Junos XML タグ要素を定義します。この要素は、スキーマで定義 <undocumented> された他のほとんどのコンテナ タグ要素で囲むことができます(コンテナ タグ要素は と <xsd:complexType>定義されています)。
Junos XML プロトコル サーバーの応答の開始タグの属性は、読みやすさのみを目的として複数行に表示されます。Junos XML プロトコル サーバーは、タグまたはタグ要素内に改行文字を挿入しません。また、実際の出力では、 JUNOS-version 変数はJunos OSリリース 20.4の初期バージョンの20.4R1などの値に置き換えられます。
スキーマの先頭付近の別 <xsd:element> のステートメントでは、Junos XML <configuration> タグ要素が定義されています。階層レベルに <xsd:element> 対応するタグ要素を <system> 定義する ステートメントを [edit system] 囲みます。他の階層レベルに対応するステートメントは簡潔にするために省略されます。