libslaxデフォルト拡張ライブラリ:ビット、curl、db、os、xutil
libslax bit拡張ライブラリ
libslax ビット拡張ライブラリには、 ビット 文字列を作成および操作する関数が含まれています。この関数は、64 ビット整数引数をサポートしています。 ビット 拡張ライブラリの関数を SLAX スクリプトに組み込むには、そのライブラリの名前空間ステートメントをスクリプトに含めます。
ns bit extension = "http://xml.libslax.org/bit";
プレフィックスと関数名を使用して bit
ビット拡張機能を呼び出します。例えば:
version 1.1; ns bit extension = "http://xml.libslax.org/bit"; var $a = 63; var $b = { expr "10111"; } match / { <out> { <bit-and> { <a1> bit:and("101100", "100101"); <a2> bit:and($a, $b); <a3> bit:and($a, number($b)); } <bit-or> { <a1> bit:or("101100", "100101"); <a2> bit:or($a, $b); <a3> bit:or($a, number($b)); } <bit-mask> { <a1> bit:mask(0); <a2> bit:mask(8, 32); } <ops> { <a1> bit:to-int("10101"); } } }
表 1 は、Junos OS リリース 12.2 以降の SLAX 1.1 スクリプトでサポートされている ビット 拡張ライブラリで利用可能な機能を示しています。
関数と引数 |
説明 |
例 |
---|---|---|
|
2 つのビット文字列の論理 AND を返します。 |
|
|
ビット文字列内の指定されたビットをゼロに設定し、新しいビット文字列を返します。ビットの番号はゼロから始まります。整数引数がビット文字列長よりも大きい場合、ビット文字列は拡張されます。 |
|
|
2 つの値を比較し、最初の引数がそれぞれ 2 番目の引数より小さい、等しい、またはより大きいと見なされた場合は、0 より小さい、等しい、またはゼロより大きい整数を返します。 |
|
|
ヘキサデミック引数の値をビット文字列として返します。オプションの 2 番目の引数は、指定された長さになるまでビット文字列に先頭のゼロ(0)を埋め込みます。 |
|
|
整数引数の値をビット文字列として返します。オプションの 2 番目の引数は、指定された長さになるまでビット・ストリングに先行ゼロを埋め込みます。 |
|
|
指定された下位ビット数が 1 に設定されたビット文字列を返します。オプションの 2 番目の引数は、指定された長さになるまでビット・ストリングに先行ゼロを埋め込みます。 |
|
|
2 つのビット文字列の論理 NAND を返します。 |
|
|
2 つのビット文字列の論理 NOR を返します。 |
|
|
ビット文字列の反転(NOT)を返します。 |
|
|
2 つのビット文字列の論理 OR を返します。 |
|
|
ビット文字列に指定されたビットを設定し、新しいビット文字列を返します。ビットの番号はゼロから始まります。整数引数がビット文字列長よりも大きい場合、ビット文字列は拡張されます。 |
|
|
ビット文字列引数の値を整数として返します。 |
|
|
16 進値の文字列表現としてビット文字列引数の値を返します。 |
|
|
2 つのビット文字列の論理 XOR を返します。 |
|
|
2 つのビット文字列の論理 XNOR を返します。 |
|
libslax curlエクステンションライブラリ
- libslax curl 拡張ライブラリを理解する
- curl:閉じる
- curl:Open
- curl:パフォーマンス
- curl:セット
- curl:シングル
- サポートされているフォーマット要素
- curl の例
- エラーの処理
libslax curl 拡張ライブラリを理解する
cURLは、libcurlライブラリを使用し、FTP、FTPS、HTTP、HTTPS、SCP、SMTPなどの多くのプロトコルを使用してデータ転送をサポートするコマンドラインツールです。cURLの詳細については、http://curl.haxx.se/ のcURL Webサイトをご覧 ください。
libslax ディストリビューションには、cURL 操作を実行する関数が含まれる curl 拡張ライブラリが含まれています。libslax curl 拡張ライブラリの関数を SLAX スクリプトに組み込むには、そのライブラリの名前空間ステートメントをスクリプトに含めます。
ns curl extension = "http://xml.libslax.org/curl";
次に、プレフィックスと関数名をcurl
使用して curl 拡張関数を呼び出すことができます。cURL 操作は、拡張機能関数に渡された要素のセットを使用して送信されます。
表 2 は、curl 拡張ライブラリでサポートされている操作を示し、各関数の説明が含まれています。表 3 と表 4 は、サポートされるエレメントを示し、各エレメントの構文と説明を示しています。具体的には、表 3 に Web サービス操作に使用する要素を、表 4 に電子メール操作に使用する要素を示します。curl 拡張ライブラリの使用例と詳細については、「curl 拡張ライブラリ」を参照してください。
関数 |
説明 |
---|---|
|
オープン接続を閉じます。それ以上の操作は接続を介して実行できません。 curl:閉じるをご覧ください。 |
|
リモート サーバーへの接続を開き、1 つの接続を介した複数の操作を可能にします。 「curl:open」をご覧ください。 |
|
によって提供される永続的な接続ハンドルを使用して、簡単な転送を |
|
接続の寿命が持続するパラメーターのセットを記録します。 curl:set をご覧ください。 |
|
永続的な接続を使用せずに転送操作を実行します。 「curl:single」をご覧ください。 |
要素 |
説明 |
構文 |
---|---|---|
|
接続試行が失敗したと見なされるまでの秒数。 |
|
|
転送ペイロードの MIME タイプ。 |
|
|
HTML および XML 解析エラーの処理方法を制御します。 |
エラーの処理を参照してください。 |
|
重要でないエラーを含むエラーが検出された場合、転送が失敗する必要があることを示します。 |
|
|
curl 拡張子が ネイティブ形式でコンテンツを自動的に利用できるようにする、返される結果の予期される形式を指定します。形式には、「html」、「名前」、「テキスト」、「urlエンコード済み」、および「xml」が含まれます。 |
|
|
要求に追加のヘッダー フィールドを指定します。 |
|
|
安全でない通信の運用に対して寛容であることを示します。具体的には、共通名を確認せずに SSL 証明書を許可します。 |
|
|
データ転送に使用される方法。これにより、HTTP 要求タイプと、他の転送メカニズムのトリガーが制御されます。 受け入れ可能な方法名には、「取得」、「投稿」、「削除」、「ヘッド」、「電子メール」、「入れる」、「アップロード」などがあります。「get」がデフォルトです。 |
|
|
要求に追加のパラメーター値を指定します。これらのパラメーターは通常、URL にエンコードされます。 |
|
|
転送に使用するユーザーのパスワード。 |
|
|
HTTPSやFTPSを含むプロトコルのセキュアバージョンの使用を要求します。 |
|
|
オープン接続が失敗したと見なされるまでの秒数。 |
|
|
これはファイルアップロード要求であることを示します。 |
|
|
リクエストのベース URL。 |
|
|
転送に使用するユーザー名。 |
|
|
転送の操作と通信に関する詳細なデバッグ情報を要求します。 |
|
要素 |
説明 |
構文 |
---|---|---|
|
電子メール(SMTP)要求の「Cc」アドレス。複数のアドレスの場合は、複数の<cc>要素を使用します。 |
|
|
転送するコンテンツ。 |
|
|
電子メール(SMTP)要求の「差出人」アドレス。 |
|
|
電子メール(SMTP)リクエストに使用されるローカル ホスト名。 |
|
|
送信 SMTP サーバー名。現在、MX レコードは処理されていません。 |
|
|
電子メール(SMTP)要求の「件名」フィールド。 |
|
|
電子メール(SMTP)要求の「宛先」アドレス。複数のアドレスの場合は、複数の<から>要素を使用します。 |
|
libcurl要素は、libcurlの関数でネイティブC libcurl APIが curl_easy_setopt()
使用するオプションを密接に模倣しています。オプションが設定されると、要求された転送を実行する curl_easy_perform()
呼び出し。関数の詳細については curl_easy_setopt()
、 http://curl.haxx.se/libcurl/c/curl_easy_setopt.html を参照してください。
libslax curl 拡張ライブラリでは、libcurl API オプションは個々の要素として表されます。たとえば、 <url>
要素は CURLOPT_URL オプション、 要素 <method>
は CURLOPT_CUSTOMREQUEST オプションなどにマッピングされます。
これらの要素は、次の 3 つの方法で使用できます。
curl:single()
拡張機能は、永続的な接続ハンドルを持たない単一の転送操作で一連のオプションのセットを使用してサポートします。curl:perform()
拡張機能は、永続的な接続ハンドルを持つオプションのセットを使用してサポートします。ハンドルは、拡張機能関数からcurl:open()
返され、拡張機能関数でcurl:close()
閉じることができます。拡張機能の関数は
curl:set()
、接続ハンドルのオプションのセットを記録し、接続の有効期間中、これらのオプションをアクティブに保持します。たとえば、スクリプトが多数のファイルを転送する必要がある場合、 および<password>
オプションを<username>
記録し、すべてのcurl:perform()
呼び出しで繰り返さないようにすることができます。
curl:閉じる
拡張機能は curl:close()
、開いている接続を閉じます。一度閉じた接続では、それ以上の操作を実行することはできません。
構文は次のとおりです。
node-set[empty] curl:close(node-set[connection]);
引数は、閉じる接続ハンドルです。
curl:Open
拡張機能は curl:open()
、リモート サーバーへの接続を開き、1 つの接続を介した複数の操作を可能にします。
構文は次のとおりです。
node-set[connection] curl:open();
返されるオブジェクトは、 または curl:close()
にcurl:perform()
渡すことができる接続ハンドルです。
curl:パフォーマンス
拡張機能は curl:perform()
、によって提供される永続的な接続ハンドルを使用して簡単な転送を curl:open()
実行します。
構文は次のとおりです。
node-set[object] curl:perform(node-set[connection], node-set[options])
引数は、接続ハンドルと一連のオプション要素です。サポートされている curl 拡張ライブラリ要素は 、表 3 および 表 4 で定義されています。
返されるオブジェクトは、転送の結果を含む XML 階層です。 表 5 は応答で使用可能なエレメントをリストし、 表 6 はエレメント内に含まれる使用可能なエレメントを <header>
リストしています。
要素 |
内容 |
---|---|
|
成功を示す空の要素 |
|
解析されたデータ |
|
エラーメッセージ テキスト(存在する場合) |
|
解析済みヘッダー フィールド |
|
返信からの未加工データ |
|
返信からの未加工ヘッダー フィールド |
|
要求された URL |
要素 |
内容 |
---|---|
|
HTTP 応答コード |
|
HTTP応答フィールド(@nameと値付き) |
|
HTTP 返信メッセージ |
|
HTTP応答バージョン文字列 |
以下の例では、ヘッダー・フィールドを <header>
エレメントに解析したエレメントを <field>
示しています。
<header> <version>HTTP/1.1</version> <code>404</code> <message>Not Found</message> <field name="Content-Type">text/html</field> <field name="Content-Length">345</field> <field name="Date">Mon, 08 Aug 2011 03:40:21 GMT</field> <field name="Server">lighttpd/1.4.28 juisebox</field> </header>
curl:セット
拡張機能の関数は curl:set()
、接続の寿命が持続するパラメーターのセットを記録します。
構文は次のとおりです。
node-set[empty] curl:set(node-set[handle], node-set[options]);
引数は、接続ハンドルと一連のオプション要素です。サポートされている curl 拡張ライブラリ要素は 、表 3 および 表 4 で定義されています。
curl:シングル
拡張機能は curl:single()
、永続的な接続を使用せずに転送操作を実行します。
構文は次のとおりです。
node-set[result] curl:single(node-set[options]);
返されたオブジェクトは、構造体内で、 によって curl:perform()
返されるオブジェクトと同一です。詳細は curl:perform をご覧ください。
サポートされているフォーマット要素
Junos OSリリース14.2以降のリリースでサポートされているSLAX言語のバージョン1.2以降、 format
この要素は、「html」、「テキスト」、「xml」に加えて、「名前」と「urlエンコード済み」の2つの新しいフォーマットをサポートしています。「名前」エンコーディングは、改行で区切られる名前=値ペアに使用され、名前=値ペアがアンパサンド(&)で区切られている場合は、「urlエンコード」エンコードが使用されます。
解析されたデータは、要素を <data>
使用して <name>
、要素内で返されます。以下の例では、「 format
urlエンコード」に設定されています。
<results> <url>http://api.example.com/request_token</url> <curl-success/> <raw-headers>HTTP/1.1 200 OK
 Server: XXXX
 Date: Tue, 18 Jun 2013 18:56:31 GMT
 Content-Type: application/x-www-form-urlencoded
 Transfer-Encoding: chunked
 Connection: keep-alive
 x-server-response-time: 69
 x-example-request-id: 123456
 pragma: no-cache
 cache-control: no-cache
 x-http-protocol: None
 x-frame-options: SAMEORIGIN
 X-RequestId: 12345
 
 </raw-headers> <headers> <version>HTTP/1.1</version> <code>200</code> <message>OK</message> <header name="Server">XXXXX</header> <header name="Date">Tue, 18 Jun 2013 18:56:31 GMT</header> <header name="Content-Type" >application/x-www-form-urlencoded</header> <header name="Transfer-Encoding">chunked</header> <header name="Connection">keep-alive</header> <header name="x-server-response-time">69</header> <header name="x-example-request-id">123456</header> <header name="pragma">no-cache</header> <header name="cache-control">no-cache</header> <header name="x-http-protocol">None</header> <header name="x-frame-options">SAMEORIGIN</header> <header name="X-RequestId">12345</header> </headers> <raw-data>oauth_token_secret=s&oauth_token=t</raw-data> <data format="url-encoded"> <name name="oauth_token_secret">s</name> <name name="oauth_token">t</name> </data> </results>
curl の例
以下の例は、libslax 拡張ライブラリ関数を使用して操作を実行する SLAX curl
スクリプトを示しています。
次の SLAX スクリプトは、単純な GET 操作を実行して Web ページを取得します。このスクリプトは、HTTP ヘッダーのヘッダー フィールドと、要求された URL に組み込まれるパラメーターを指定します。
version 1.1; ns curl extension = "http://xml.libslax.org/curl"; param $url = "http://www.juniper.net"; match / { <op-script-results> { var $options = { <header name="client"> "slaxproc"; <param name="smokey"> "bandit"; } var $results = curl:single($url, $options); message "completed: " _ $results/headers/message; <curl> { copy-of $results; } } }
次の SLAX スクリプトは、パラメーターとして提供されるサーバーを通じて電子メールを送信します。
version 1.1; ns curl extension = "http://xml.libslax.org/curl"; param $server; match / { <out> { var $info = { <method> "email"; <server> $server; <from> "muffin@example.com"; <to> "phil@example.net"; <subject> "Testing..."; <contents> "Hello, This is an email. Thanks, Phil "; } var $res = curl:single($info); <res> { copy-of $res; } } }
次の SLAX op スクリプトは、指定された認証情報を使用して Web アプリケーションに接続し、ログインします。
version 1.2; ns curl extension = "http://xml.libslax.org/curl"; param $url = "http://198.51.100.10:4000/login"; param $username = "admin"; param $password = "password"; var $params := { <url> $url; <method> "post"; <insecure>; <param name="username"> $username; <param name="password"> $password; } main <top> { var $curl = curl:open(); var $data = curl:perform($curl, $params); copy-of $data; expr curl:close($curl); }
Flask を使用して、スクリプトをテストする単純な Web アプリケーションを作成できます。 PyPI で使用可能な Flask は、軽量の Web サーバー ゲートウェイ インターフェイス(WSGI)Web アプリケーション フレームワークです。 https://pythonspot.com/login-authentication-with-flask の以下の Python スクリプトは、ログイン ページを含むシンプルな Web アプリケーションを作成します。
from flask import Flask from flask import Flask, flash, redirect, render_template, request, session, abort import os app = Flask(__name__) @app.route('/') def home(): if not session.get('logged_in'): return render_template('login.html') else: return "Hello Boss!" @app.route('/login', methods=['POST']) def do_admin_login(): if request.form['password'] == 'password' and request.form['username'] == 'admin': session['logged_in'] = True else: flash('wrong password!') return home() if __name__ == "__main__": app.secret_key = os.urandom(12) app.run(debug=True,host='0,0.0.0', port=4000)
op スクリプトをテストするには、まずリモート デバイスで Web アプリケーション スクリプトを開始します。
user@nms:~$ python3 app.py * Serving Flask app "app" (lazy loading) ...
次に、Junos OS を実行しているデバイスで op スクリプトを有効にして実行します。結果は op-script.log ファイルに記録されます。
user@router> op curl-test user@router> show log op-script.log | last 100 ... <?xml version="1.0"?> <top> <results> <url>http://198.51.100.10:4000/login</url> <curl-success/> <raw-headers>HTTP/1.0 200 OK
 Content-Type: text/html; charset=utf-8
 Content-Length: 11
 Vary: Cookie
 Set-Cookie: session=eyJsb2dnZWRfaW4iOnRydWV9.XzxdUg.wm2A58ct6twASerlHjuQ64nwaiI; HttpOnly; Path=/
 Server: Werkzeug/1.0.1 Python/3.6.9
 Date: Tue, 18 Aug 2020 22:59:30 GMT
 
 </raw-headers> <headers> <version>HTTP/1.0</version> <code>200</code> <message>OK</message> <header name="Content-Type">text/html; charset=utf-8</header> <header name="Content-Length">11</header> <header name="Vary">Cookie</header> <header name="Set-Cookie">session=eyJsb2dnZWRfaW4iOnRydWV9.XzxdUg.wm2A58ct6twASerlHjuQ64nwaiI; HttpOnly; Path=/</header> <header name="Server">Werkzeug/1.0.1 Python/3.6.9</header> <header name="Date">Tue, 18 Aug 2020 22:59:30 GMT</header> </headers> <raw-data>Hello Boss!</raw-data> </results>Aug 18 15:59:31 end dump </top> ...
エラーの処理
Junos OSリリース14.2以降のリリースでサポートされているSLAX言語のバージョン1.2以降では、 要素を使用 <errors>
して、HTMLおよびXML解析エラーの処理を制御できます。デフォルトの動作は、標準エラー出力ストリーム(stderr)にエラーを表示することです。要素に異なる値を <errors>
指定することで、エラーの無視、ログ記録、または記録も選択できます。 表 7 は、 要素に使用できる値を errors
示しています。
値 |
特別な行動 |
---|---|
既定 |
stderr にエラーが表示される |
無視 |
エラーの破棄 |
ログ |
slaxLog()を介してエラーがログに記録される |
レコード |
エラーの記録 |
の <errors>
値を 「record」に設定すると、すべてのエラーが XML ノード内の要素の <errors>
下の文字列に表示されます(例えば、 が curl:perform
返されます)。エラーが生成されない場合、要素 <errors>
は存在せず、エラーのテストとして使用できます。
var $opt = { <url> $url; <format> "html"; <errors> "record"; } var $res = curl:single($opts); if ($res/errors) { terminate "failure: " _ $res/errors; }
libslax db 拡張ライブラリ
Junos OS リリース 17.4R1 以降でサポートされている libslax db 拡張ライブラリは、SLAX スクリプトがデータベースに格納されているデータを保存、操作、取得、削除する方法を提供します。 SLAX スクリプトで db 拡張ライブラリの関数を使用するには、そのライブラリの名前空間ステートメントをスクリプトに含めます。
ns db extension = "http://xml.libslax.org/db";
表 8 は、 db 拡張ライブラリーで使用可能な機能を要約しています。 db 拡張関数の例および追加情報については、「 db 拡張機能」を参照してください。
関数 |
説明 |
---|---|
|
データベース接続を閉じ、このハンドルで実行された以前の操作に関連するすべての構造を解放します。 |
|
指定されたフィールド情報を使用して、オープン データベース ハンドルに関連付けられたデータベース内にコレクションを作成します。 |
|
開いているデータベース ハンドルに関連付けられているデータベース内の指定された条件に一致するコレクション内のインスタンスを削除します。 |
|
または |
|
指定された条件に一致するインスタンスの結果セットにカーソルを戻します。 |
|
指定された条件に一致するすべてのインスタンスを検索して読み取ります。 |
|
開いているデータベース ハンドルに関連付けられているデータベース内のコレクションにデータを挿入します。 |
|
提供されたオプション(バックエンドデータベースエンジンとデータベース名を含む)を使用して、データベース接続を開きます。 |
|
カスタム クエリを実行します。 |
|
指定されたインスタンスで指定された条件に一致するインスタンスのセットを更新します。 |
表 9 は、 db 拡張関数のオプションおよびデータで使用できるエレメントを要約しています。 db エレメントの例および追加情報については、「 db エレメント」を参照してください。
要素 |
説明 |
例 |
---|---|---|
|
操作を実行するデータ収集を指定します。これは SQL データベース テーブルに対応します。 |
<collection> "employee"; |
|
データストアからのデータインスタンスで動作する際に満たさなければならない条件を指定します。これは、SQL データストアで動作する際に WHERE 句で使用される条件を形成します。必須の要素は次のとおりです。
|
<condition> { <selector> "id; <operator> "in"; <value> "(1, 10)"; } |
|
または |
<conditions> { <and> { <condition> { ... /* c1 */ } <condition> { ... /* c2 */ } <or> { <condition> { ... /* c3 */ } <condition> { ... /* c4 */ } } } } |
|
動作するデータベースの名前を指定します。 |
<database> "test.db"; |
|
データの格納とアクセスに使用するバックエンドデータベースエンジンを指定します。 |
<engine> "sqlite"; |
|
コレクション内の各フィールドのメタデータを定義します。 |
<field> { <name> "name"; <type> "integer"; <primary>; } |
|
子要素を使用して、コレクション内のフィールドに関するメタデータを |
<fields> { <field> { ... } } |
|
データ ストア内のデータを挿入または操作するときに、コレクション内の 1 つのインスタンスを表します。要素には、そのレコード内のフィールドとその対応する値が含まれています。 |
<instance> { <id> 5; <name> "John"; } |
|
データ ストア内のデータを挿入または操作するときに、コレクション内に複数のインスタンスを定義します。 |
<instances> { <instance> { ... ... } ... } |
|
結果に含めることができるインスタンスの数を制限します。 |
<limit> 10; |
|
ほとんどの db 拡張関数から戻される出力ノード。このノードには要素が |
<result> { <status> { <ok> } } |
|
データストアにクエリを実行する際に、結果セットの一部として表示されるフィールドのみを指定します。 |
<retrieve> { <id>; <name>; } |
|
ユーザーに戻る前に、結果セット内の指定されたインスタンス数をスキップします。 |
<skip> 5; |
|
フィールドと、結果セットのソート順序を指定します。 要素を含めてフィールドを |
<sort> { <by> "id"; <by> "age"; <order> "desc"; } |
libslax os拡張ライブラリ
libslax os
拡張ライブラリには、ローカル ホストでオペレーティング システム関連の操作を呼び出すための一連の関数が用意されています。SLAX スクリプトで拡張機能ライブラリの関数を os
使用するには、そのライブラリの名前空間ステートメントをスクリプトに含めます。
ns os extension = "http://xml.libslax.org/os";
表 10 は 、os 拡張ライブラリで使用可能な機能をまとめたものです。多くの os
拡張機能の戻り値は、0 個以上のエラー ノードのセットで構成されています。各ノードには、追加の子要素を <error>
含む要素を含めることができます。拡張関数の例や追加情報については os
、 os 拡張機能を参照してください。
関数 |
説明 |
最初にサポートされる Junos OS リリース |
---|---|---|
|
1 つ以上のファイルのアクセス許可を変更します。 |
17.4 |
|
1 つ以上のファイルのファイル所有者とグループを変更します。 |
17.4 |
|
スクリプトを実行するプロセスの終了コードを設定します。 |
14.1 |
|
指定された名前、パス、および権限を持つ新しいディレクトリを作成します。
|
14.1 |
|
ファイルまたは空のディレクトリを削除します。 |
17.4 |
|
各ファイルの詳細を含む要素のノードセット内の |
14.1 |
|
スクリプトを実行している |
17.4 |
libslax xutil 拡張ライブラリ
libslax xutil 拡張ライブラリには、文字列と XML ノード セット間で変換する関数が含まれています。 xutil 拡張ライブラリの関数を SLAX スクリプトに組み込むには、そのライブラリの名前空間ステートメントをスクリプトに含めます。
ns xutil extension = "http://xml.libslax.org/xutil";
xutil プレフィックスと関数名を使用して xutil 拡張関数を呼び出します。表 11 は、SLAX 1.1 以降のスクリプトでサポートされている xutil 拡張ライブラリで利用可能な機能を示しています。xutil 拡張関数の例や追加情報については、 xutil 拡張機能を参照してください。
関数と引数 |
説明 |
最初にサポートされる Junos OS リリース |
---|---|---|
|
JSON データを含む文字列を XML 内のデータのネイティブ表現に変換します。 |
14.2 |
|
再帰的呼び出しの深さを制限します。デフォルトの制限は3000です。 |
14.1 |
|
XML データを含む文字列を、そのデータのネイティブ表現に変換します。 |
12.2 |
|
XML データを JSON データを含む文字列に変換します。この関数は、タグを文字列内の JSON オブジェクトとしてエンコードします。 |
14.2 |
|
XML データを文字列に変換します。 |
12.2 |