メインコンテンツまでスキップ
バージョン:23.3

XMLおよびツリーのグローバルプロパティ

SenseTalkには、スクリプトがXMLおよびツリー構造のデータとどのように対話するかを影響させるために使用できる2つのグローバルプロパティが含まれています。

Closedグローバルプロパティ値の設定または変更

SenseTalkのコマンドSetまたはPutでグローバルプロパティ値を設定できます。これらのプロパティを参照するときは、プロパティ名の前にtheを使用して、それを通常の変数と区別する必要があります。

例:

set the searchrectangle to [1,2,2,3]
put 2 into the remoteworkinterval

このように、グローバルプロパティ内の特定の名前付きプロパティを追加または変更できます:

set the namedColors.pink to color("RGB,1.0,0.5,0.5") -- namedColorsグローバルプロパティにpinkを追加し、そのRGBカラー値を定義します
set the listFormat's separator to " & " -- listFormatグローバルプロパティのseparatorプロパティを設定します

プロパティは、setoptionまたはsetoptionsコマンドを使用して設定または更新することもできます。setoptionコマンドを使用すると、単一のプロパティを更新できます。setoptionsを使用すると、複数のプロパティを更新できます。

例:

setoption searchrectangle, [1,2,2,3]
setoptions {searchrectangle: [1,2,2,3], scriptlogging: yes}
ノート

setoptionsetoptionsはグローバルプロパティとローカルプロパティの使用に特化しているため、これらのコマンドのコマンド構文においてプロパティ名からtheを省略します。

ローカルおよびグローバルプロパティの使用に関する追加情報については、SenseTalkのローカルおよびグローバルプロパティを参照してください。

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

値: プロパティprettyPrintcompactEmptyElementsuseStandardFormatを持つプロパティリスト。

デフォルト:

  • prettyPrint: True
  • compactEmptyElements: False
  • useStandardFormat: False

動作: 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

上記のコマンドの出力は、次のようになります:

<order id="001">
<quantity>5</quantity>
<price/>
</order>

例:

put {{
<person id="007">
<name>James Bond</name>
</person>
}} into Person
set the treeFormat's prettyPrintをfalseに設定します
put person as tree //Displays 'James Bond'

例:

set OrderInfo to {{
<order id="001">
<quantity>5</quantity>
<price></price>
</order>
}}
}}
put OrderInfo as tree as object //Displays '(_attributes:(id:"001"), order:((quantity:(5)),(_tag:"price")))'
set the treeFormat's useStandardFormat to true

関連項目:

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

値: プロパティ alwaysJoinText を持つプロパティリスト

デフォルト: True

動作: alwaysJoinText プロパティは、木に変更が加えられて2つのテキストノードが隣接するときに、テキストノードが自動的に結合されるかどうかを定義します。false に設定すると、木に連続したテキストノードが存在することが許されます。これは一部のアプリケーションには有用かもしれませんが、Xpathノードアクセスが正常に動作しない可能性があります。ノードアクセス(ノードまたはすべてのノード式を使用)が確実に動作するように、この値を true に設定したままにしておきます。

例:

set the treeInputFormat's alwaysJoinText to false

関連項目: