在 SDEF 中声明各种 <accessor style> 标签有什么影响?
What effect does declaring the various <accessor style> tags in SDEF have?
当我在 .sdef 文件中为我的可编写脚本的应用程序声明元素时,我可以选择声明各种访问器,如下所示:
<accessor style="id"/>
<accessor style="index"/>
但是,我不知道这些声明有什么后果。到目前为止,只要我实现了必要的方法,无论是添加还是删除 index 和 id 的访问器,我都无法在我的测试脚本中发现任何行为变化。
那么,这些有什么影响呢?它们是否仅用于记录目的,例如脚本编辑器词典中显示的内容?
或者脚本引擎在某些情况下是否根据这些声明实际表现不同?
到目前为止,我只注意到一种影响它们的行为:Script Debugger 似乎使用它们来决定如何在其资源管理器中浏览值。但我怀疑 Apple 添加这些声明只是为了这个应用程序的目的。
AppleScript 不会根据您的 SDEF 中的这些设置进行验证。但是,其他工具可能。例如,我的脚本调试器应用程序使用此信息来控制在其资源管理器查看器中呈现给用户的对象访问选项。各种 AppleEvent 桥也可以使用此信息来控制它们提供给宿主脚本语言的对象访问类型。很久以前的一个例子是我的 JavaScriptOSA 项目,它将 AppleEvent 访问连接到 JavaScript。它使用键形式设置来控制访问元素对象时可以使用的键。
当我在 .sdef 文件中为我的可编写脚本的应用程序声明元素时,我可以选择声明各种访问器,如下所示:
<accessor style="id"/>
<accessor style="index"/>
但是,我不知道这些声明有什么后果。到目前为止,只要我实现了必要的方法,无论是添加还是删除 index 和 id 的访问器,我都无法在我的测试脚本中发现任何行为变化。
那么,这些有什么影响呢?它们是否仅用于记录目的,例如脚本编辑器词典中显示的内容?
或者脚本引擎在某些情况下是否根据这些声明实际表现不同?
到目前为止,我只注意到一种影响它们的行为:Script Debugger 似乎使用它们来决定如何在其资源管理器中浏览值。但我怀疑 Apple 添加这些声明只是为了这个应用程序的目的。
AppleScript 不会根据您的 SDEF 中的这些设置进行验证。但是,其他工具可能。例如,我的脚本调试器应用程序使用此信息来控制在其资源管理器查看器中呈现给用户的对象访问选项。各种 AppleEvent 桥也可以使用此信息来控制它们提供给宿主脚本语言的对象访问类型。很久以前的一个例子是我的 JavaScriptOSA 项目,它将 AppleEvent 访问连接到 JavaScript。它使用键形式设置来控制访问元素对象时可以使用的键。