XMLおよびツリーのグローバルプロパティ
SenseTalkには、スクリプトがXMLおよびツリー構造のデータとどのように対話するかを影響させるために使用できる2つのグローバルプロパティが含まれています。
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}
setoption
とsetoptions
はグローバルプロパティとローカルプロパティの使用に特化しているため、これらのコマンドのコマンド構文においてプロパティ名からthe
を省略します。
ローカルおよびグローバルプロパティの使用に関する追加情報については、SenseTalkのローカルおよびグローバルプロパティを参照してください。
the treeFormat
グローバルプロパティ
値: プロパティprettyPrint
、compactEmptyElements
、useStandardFormat
を持つプロパティリスト。
デフォルト:
prettyPrint
:True
compactEmptyElements
:False
useStandardFormat
:False
動作: PrettyPrint
はツリーがきれいにフォーマットされて表示されるかどうかを定義します。この値をfalse
に設定すると、ツリーがXMLテキスト として表示されるときに、ツリーのきれいなフォーマットがオフになります。compactEmptyElements
プロパティは、ツリー内の空の要素の表示を制御します。このプロパティがFalse
に設定されている場合、空のノードは開始要素と終了要素が別々に表示されます。プロパティがTrue
に設定されている場合、空のノードは自己閉じタグで表示されます。
the treeFormat
のuseStandardFormat
プロパティが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
関連項目: