正規表現を使用して設定オブジェクトのサブセットをリクエストする
Junos OSを実行しているデバイスとのJunos XMLプロトコルセッションで、識別子名に指定された文字セットを持つ設定オブジェクトタイプのインスタンスに関する情報のみを要求するために、クライアントアプリケーションには、識別子名と一致する正規表現を持つ属性が含まれます matching 。例えば、アプリケーションは、正規表現の先頭に so- の文字を指定することで、 階層レベルで [edit interfaces] SONET/SDH インターフェイスに関する情報を要求できます。
属性を matching 使用することで、アプリケーションは、http://www.w3.org/TR/xpath のWorld Wide Web Consortium(W3C)から入手可能な XMLパス言語(XPath)バージョン1.0に記載されているXMLパス言語(XPath)表現と同様の 形式で返 されるオブジェクトを表現できます。XPath表現では、オブジェクトとその親レベルは、フォワードスラッシュで区切られた順序付き一連のタグ要素名です。タグ要素名に関する山括弧は省略し、開始タグを使用してタグ要素全体を表します。例えば、以下のXPath:
configuration/system/radius-server/name
は、以下のタグ付き表現に相当します。
<configuration>
<system>
<radius-server>
<name/>
</radius-server>
</system>
</configuration>
アプリケーションには、matchingオブジェクトタイプの親レベルを表す空のタグの属性が含まれています。設定情報に対するすべてのリクエストと同様に、クライアントは、ルート(タグ要素で<configuration>表される)から属性が含まれるレベルまで、構成階層のすべてのレベルを表すタグ要素を囲むタグ要素をmatching出力<get-configuration>します。リクエスト全体がタグ要素で<rpc>囲まれています。
<rpc>
<get-configuration>
<configuration>
<!-- opening tags for each parent of the level -->
<level matching="matching-expression"/>
<!-- closing tags for each parent of the level -->
</configuration>
</get-configuration>
</rpc>
属性の値 matching では、XPathのような表現の各レベルは、フルレベル名またはオブジェクトタイプの1つ以上のインスタンスの識別子名と一致する正規表現のいずれかです。
object-type[name='regular-expression']"
正規表現では、拡張(最新)UNIX 正規表現に POSIX 標準 1003.2 で定義された表記を使用します。正規表現の構文については本書の範囲外ですが、 表 1 では、式で使用できる一部の正規表現演算子が一致する文字または文字を指定しています。説明では、 用語用語 は、単一の英数字、または大括弧、括弧、または中括弧で囲まれた一連の文字を指します。
属性では matching 大文字と小文字は区別されません。
演算子 |
一致 |
|---|---|
|
スペースを除く任意の文字の 1 つのインスタンス。 |
|
直前の用語の 0 つ以上のインスタンス。 |
|
直前の用語の 1 つ以上のインスタンス。 |
|
直前の用語のゼロまたは 1 つのインスタンス。 |
|
パイプ演算子の両側に表示される用語の1つです。 |
|
キャレットが角括弧の外に現れるときのラインの始まり。 キャレットが角括弧内の最初の文字である場合、角括弧内でそれを追わない任意の文字の1つのインスタンス。 |
|
ラインの終わりです。 |
|
同封の英数字の 1 つのインスタンス。文字の範囲を示すためには、ハイフン(-)を使用して範囲の開始文字と終了文字を区切ります。例えば、 |
|
同封の項の評価値の 1 つのインスタンス。括弧は、正規表現における評価の順序を示すために使用されます。 |
アプリケーションが Junos XML タグ付き出力(デフォルト)を要求すると、Junos XML プロトコル サーバーは、 および <rpc-reply> タグ要素で<configuration>要求されたオブジェクトを返します。開始<configuration>タグの属性については、 Junos XMLプロトコルセッションにおける設定情報リクエストのソースの指定を参照してください。
<rpc-reply xmlns:junos="URL">
<configuration attributes>
<!-- opening tags for each parent of the parent level -->
<parent-level>
<first-matching-object>
<!-- child tag elements for the first object -->
</first-matching-object>
<second-matching-object>
<!-- child tag elements for the second object -->
</second-matching-object>
<!-- additional instances of the object -->
</parent-level>
<!-- closing tags for each parent of the object type -->
</configuration>
</rpc-reply>
アプリケーションは、 、 、startおよび 属性の count1 つ以上を属性とrecursematching組み合わせて、特定のオブジェクト範囲に可能な一致のセットを制限し、識別子のみ、または両方を要求することができます。これらの属性の詳細については、 Junos XMLプロトコルを使用した特定の数の設定オブジェクトの要求と、Junos XMLプロトコルを使用した特定タイプの構成オブジェクトの識別子の要求を参照してください。
出力のソース(候補またはアクティブ構成)を指定し、出力の特別なフォーマット(フォーマット済みのASCIIやJSON、識別子用のインジケーターなど)を要求するには、アプリケーションに開始<get-configuration>タグ、開始タグ、またはその両方に属性を<junoscript>含めることができます。詳細については、 Junos XMLプロトコルセッションにおける設定情報リクエストのソースの指定およびJunos XMLプロトコルセッションの設定データの出力形式の指定を参照してください。
アプリケーションは、適切なタグ要素を含めることで、同じタグ要素内の同じ <get-configuration> または他のタイプの追加構成要素を要求できます。詳細については、 Junos XML プロトコルを使用した複数の構成要素の要求を参照してください。
以下の例では、 階層レベルで設定された最初の2つのSONET/SDHインターフェイスの識別子のみを要求する方法を [edit interfaces] 示しています。