Applescript 脚本编辑器“;损坏的字典”;

Applescript 脚本编辑器“;损坏的字典”;,applescript,Applescript,我正在尝试在OSXMavericks上创建一个AppleScript库。我已将文件作为脚本包保存到~/Library/Script Libraries;它有一个正确的(据我所知;见下文)sdef文件,我已经设置了脚本定义字段 但是,当我试图保存脚本包时,AppleScript Editor会给我以下一般性错误消息:“应用程序的字典已损坏”。防止这种情况发生的唯一方法是在保存文档之前删除文档中的所有文本(如果其中有任何内容(甚至只是注释),AppleScript抛出了错误。发生了什么事 <?

我正在尝试在OSXMavericks上创建一个AppleScript库。我已将文件作为脚本包保存到
~/Library/Script Libraries
;它有一个正确的(据我所知;见下文)sdef文件,我已经设置了脚本定义字段

但是,当我试图保存脚本包时,AppleScript Editor会给我以下一般性错误消息:“应用程序的字典已损坏”。防止这种情况发生的唯一方法是在保存文档之前删除文档中的所有文本(如果其中有任何内容(甚至只是注释),AppleScript抛出了错误。发生了什么事

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dictionary SYSTEM "file://localhost/System/Library/DTDs/sdef.dtd">
<dictionary>
  <suite name="Regular Expressions" code="RExp" description="Commands for working with regular expressions">
    <command name="match" code="RExpMtch" description="Gets whether or not the regular expression matches.">
      <direct-parameter type="text" description="The regular expression to match." />
      <parameter name="against" code="targ" type="text" description="The string to match the regular expression against. "/>
      <parameter name="with options" code="opts" type="expression options" optional="yes" />
      <result type="expression match" />
    </command>

    <command name="default expression options" code="DOpt">
        <result type="expression options" />
    </command>

    <class name="expression match" code="Rslt" description="The output of a match command.">
        <contents type="text" name="capture group" code="Mgrp" />
        <property type="boolean" name="success" code="OK? " access="r" />
    </class>

    <class name="expression options" code="opts">
      <property name="case sensitive" code="Case" type="boolean" access="rw" />
      <property name="single line flag" code="S\n " type="boolean" access="rw" />
      <property name="multiple line flag" code="M\n " type="boolean" access="rw" />
    </class>
  </suite>
</dictionary>


上述sdef代码也是

出现错误的主要原因是命令格式错误

< command name="default expression options" code="DOpt">
            <result type="expression options" />
</command>

删除它将允许脚本编译


此外,不应使用所有小写代码。它们是为苹果的代码保留的,可能会发生冲突

谢谢,它成功了。然而,为什么这个命令首先是无效的?因为它只有一个4位数的代码。命令必须有8个字符。你应该看:。此外,可能还有其他问题。。