XMLとツリーに関するグローバルプロパティ

SenseTalkには、スクリプトとXML およびツリー構造データとのやり取り手法に影響を与えることのできるグローバルプロパティが2つ存在します。

ローカルプロパティとグローバルプロパティの扱い方に関する追加情報は、SenseTalkにおけるローカルプロパティとグローバルプロパティをご覧ください。

the treeFormatグローバルプロパティ

値:prettyPrintcompactEmptyElementsおよびuseStandardFormatプロパティを備えたプロパティリスト。

デフォルト:

  • prettyPrintTrue
  • compactEmptyElementsFalse

  • useStandardFormatFalse

挙動:PrettyPrintは、ツリーを整形して表示するかどうかを定義します。この値をfalseに設定すると、ツリーをXMLテキストとして表示するときの整形フォーマッティングがオフになります。compactEmptyElementsプロパティは、ツリー内の空の要素の表示について管理します。このプロパティをFalseに設定すると、空のノードを表示するのに開始要素と終了要素が別個に使われます。Trueに設定すると、空のノードが自己終了タグの形で表示されます。

the treeFormatuseStandardFormatプロパティをtrueに設定すると、ツリーは必ず_tag_attributesおよび_childrenプロパティを備えた標準フォーマットを使ってプロパティリストに変換されます。falseに設定すると、ツリーがプロパティリストに変換される際(as property listまたはas objectを使用)、所定のプロパティ名以外のタグを持っていたり、所定のプロパティ名の属性を一切持っていなかったりするノードに対しては簡略化されたプロパティリストフォーマットが使われます。

例:

set the treeFormat's prettyPrint to false -- ツリーの字下げをオフにします

set the treeFormat's compactEmptyElements to to true -- 空のノードが自己終了タグの形で表示されるようになります

set the treeFormat's useStandardFormat to false -- 標準フォーマットを使ってツリーをプロパティリストへ変換できます

例:

set OrderInfo to {{

<order id="001">

<quantity>5</quantity>

<price></price>

</order>

}}

set the treeFormat's compactEmptyElements to true

put OrderInfo as tree

上記のコマンドの出力は、次のような形となって現れます。

<order id="001">

<quantity>5</quantity>

<price/>

</order>

例:

put {{

<person id="007">

<name>James Bond</name>

</person>

}} into Person

set the treeFormat's prettyPrint to false

put person as tree // 「James Bond」を表示します

例:

set OrderInfo to {{

<order id="001">

<quantity>5</quantity>

<price></price>

</order>

}}

put OrderInfo as tree as object // 「(_attributes:(id:"001"), order:((quantity:(5)),(_tag:"price")))」を表示します

set the treeFormat's useStandardFormat to true

put OrderInfo as tree as object // 「(_attributes:(id:"001"), _children:((_children:((_text:"5")), _tag:"quantity"),(_tag:"price")), _tag:"order")」を表示します

関連:

the treeInputFormatグローバルプロパティ

値:alwaysJoinTextプロパティを備えたプロパティリスト

デフォルト:True

挙動:alwaysJoinTextプロパティは、2つのテキストノードが互いに隣接するような変更がツリーに加えられたとき、テキストノードを常に自動で結合するかどうかを定義します。falseに設定すると、連続したテキストノードをツリー内に存在させることができます。これは、一部の用途で役立つこともありますが、Xpathによるノードアクセスが正しく機能しない可能性があります。ノードアクセス機能(nodeまたはall-nodes式を使用)の信頼性を確保するためには、この値をtrue設定のままにしておきます。

例:

set the treeInputFormat's alwaysJoinText to false

関連:

 

This topic was last updated on 2月 01, 2019, at 11:13:23 午前.

Eggplant icon Eggplant.io | Documentation Home | User Forums | Support | Copyright © 2019 Eggplant