<?xml encoding="utf-8"?>

<!-- 
  This is the Document Type Definition File for the SCRIPTit plug-in.  You will
find brief descriptions of each of the elements and attributes in this file. For
a more complete explination, please see the SCRIPTit Guide PDF documentation.

Version: 1.0
Last Updated: Apr 1, 2002
-->

<!-- Root Element -->
<!ELEMENT SCRIPTit        
    (script | menu | updatemenuitem | insertmenuitem | deletemenuitem)+   >

<!-- script Element - Used to set up events that call scripts.          -->
<!ELEMENT script          EMPTY                                           >
  <!-- script Attributes                                                -->
  <!ATTLIST script          db            CDATA                 #REQUIRED >
    <!--                      The database that contains the script.    -->
  <!ATTLIST script          script        CDATA                 #REQUIRED >
    <!--                      The script to run.                        -->
  <!ATTLIST script          name          CDATA                 #IMPLIED  >
    <!--                      User-supplied name for this event. Use
                                LastScriptName function to retrieve.    -->
  <!ATTLIST script          value         CDATA                 #IMPLIED  >
    <!--                      User-supplied value for this event (record
                               id perhaps). Use LastScriptValue function
                               to retrieve.                             -->
  <!ATTLIST script          date          CDATA                 #IMPLIED  >
    <!--                      The date the event should occur. Form 
                                should be "01/21/2002".                 -->
  <!ATTLIST script          time          CDATA                 #IMPLIED  >
    <!--                      The time the event should occur. Form 
                                should be "14:30:00".                   -->
  <!ATTLIST script          interval      CDATA                 #IMPLIED  >
    <!--                      The interval between now and when the event
                                should occor. Form should be 
                                "1d 2h 3m 4s".                          -->
  <!ATTLIST script          repeat        (yes | no)            #IMPLIED  >
    <!--                      Should this event repeat?                 -->
  <!ATTLIST script          persistent    (yes | no)            #IMPLIED  >
    <!--                      Should this event be saved across all
                                  FileMaker sessions?                   -->
                                  
<!-- menu Element - Used to define popup menus.                         -->
<!ELEMENT menu            (menuitem | submenu | insertmenu)+              >
  <!-- menu Attributes                                                  -->
  <!ATTLIST menu            name          CDATA                 #REQUIRED >
    <!--                      The name of this menu.                    -->
  <!ATTLIST menu            action        (new | update)        #IMPLIED  >
    <!--                      Are you creating a new menu or updating an
                                existing menu?                          -->
  <!ATTLIST menu            defaultdb     CDATA                 #IMPLIED  >
    <!--                      Default DB to use for all menu items that
                                don't specify a DB.                     -->
  <!ATTLIST menu            defaultscript CDATA                 #IMPLIED  >
    <!--                      Default Script to use for all menu items
                                that don't specify a Script.            -->
  <!ATTLIST menuitem        defaultvalue  CDATA                 #IMPLIED  >
    <!--                      Default user-supplied value for all menu
                                items that don't specify a Value. Use
                                LastMenuValue function to retrieve.     -->
  <!ATTLIST menu            modifierkeys  CDATA                 #IMPLIED  >
    <!--                      Defines the modifier keys that must be down
                                in order to show the menu.  Must use
                                "none" or "shift", "ctrl", "opt", "cmd" or
                                combinations using plus sign:
                                "shift+ctrl+cmd".                       -->
                                
<!-- submenu Element - Used to define submenus of popup menus.          -->
<!ELEMENT submenu         (menuitem | submenu | insertmenu)+              >
  <!-- submenu Attributes                                               -->
  <!ATTLIST submenu         name          CDATA                 #REQUIRED >
    <!--                      The name/caption of this sub menu item.   -->
  <!ATTLIST submenu         defaultdb     CDATA                 #IMPLIED  >
    <!--                      Default DB to use for all sub menu items
                                that don't specify a DB.                -->
  <!ATTLIST submenu         defaultscript CDATA                 #IMPLIED  >
    <!--                      Default Script to use for all sub menu
                                items that don't specify a Script.      -->
  <!ATTLIST menuitem        defaultvalue  CDATA                 #IMPLIED  >
    <!--                      Default user-supplied value for all sub menu
                                items that don't specify a Value. Use
                                LastMenuValue function to retrieve.     -->
  <!ATTLIST submenu         enabled       (yes | no)            #IMPLIED  >
    <!--                      Is this sub menu enabled?                 -->
  <!ATTLIST submenu         groupid       CDATA                 #IMPLIED  >
    <!--                      User defined group identifier; for use with
                                modifierkeys to show menu items that are
                                alternatives of each other.             -->
  <!ATTLIST submenu         modifierkeys  CDATA                 #IMPLIED  >
    <!--                      Defines the modifier keys that must be down
                                in order to show the menu.  Must use
                                "none" or "shift", "ctrl", "opt", "cmd" or
                                combinations using plus sign:
                                "shift+ctrl+cmd".                       -->
  <!ATTLIST submenu         style         CDATA                 #IMPLIED  >
    <!--                      Defines the font style of the menu item.
                                Must use "none" or "bold", "italic", 
                                "underline" or combinations using plus 
                                sign: "bold+italic".                    -->

<!-- menuitem Element - Used to define a single menu item.              -->
<!ELEMENT menuitem        EMPTY                                           >
  <!-- menuitem Attributes                                              -->
  <!ATTLIST menuitem        name          CDATA                 #REQUIRED >
    <!--                      The name/caption of this menu item. For a
                                separator, use "-". Use LastMenuChoice
                                function to retrieve.                   -->
  <!ATTLIST menuitem        db            CDATA                 #IMPLIED  >
    <!--                      The database that contains the script.    -->
  <!ATTLIST menuitem        script        CDATA                 #IMPLIED  >
    <!--                      The script to call when this item is
                                selected.                               -->
  <!ATTLIST menuitem        value         CDATA                 #IMPLIED  >
    <!--                      User-supplied value for this item. Use
                                LastMenuValue function to retrieve.     -->
  <!ATTLIST menuitem        enabled       (yes | no)            #IMPLIED  >
    <!--                      Is this menu item enabled?                -->
  <!ATTLIST menuitem        groupid       CDATA                 #IMPLIED  >
    <!--                      User defined group identifier; for use with
                                modifierkeys to show menu items that are
                                alternatives of each other.             -->
  <!ATTLIST menuitem        modifierkeys  CDATA                 #IMPLIED  >
    <!--                      Defines the modifier keys that must be down
                                in order to show the menu.  Must use
                                "none" or "shift", "ctrl", "opt", "cmd" or
                                combinations using plus sign:
                                "shift+ctrl+cmd".                       -->
  <!ATTLIST menuitem        style         CDATA                 #IMPLIED  >
    <!--                      Defines the font style of the menu item.
                                Must use "none" or "bold", "italic", 
                                "underline" or combinations using plus 
                                sign: "bold+italic".                    -->
  <!ATTLIST menuitem        mark          (none | check | bullet | dimond)
                                                                #IMPLIED  >
    <!--                      Defines the mark for the menu item.       -->
    
<!-- insertmenu Element - Used to insert the items from another menu.   -->
<!ELEMENT insertmenu      EMPTY                                           >
  <!-- insertmenu Attributes                                            -->
  <!ATTLIST insertmenu      name          CDATA                 #REQUIRED >
    <!--                      The name of the menu to insert.           -->
  <!ATTLIST insertmenu      groupid       CDATA                 #IMPLIED  >
    <!--                      User defined group identifier; for use with
                                modifierkeys to show menu items that are
                                alternatives of each other.             -->
  <!ATTLIST insertmenu      modifierkeys  CDATA                 #IMPLIED  >
    <!--                      Defines the modifier keys that must be down
                                in order to show the menu.  Must use
                                "none" or "shift", "ctrl", "opt", "cmd" or
                                combinations using plus sign:
                                "shift+ctrl+cmd".                       -->

<!-- updatemenuitem Element - Used to update an individual menu item.
                                Only attributes that are present
                                overwrite existing attributes.          -->
<!ELEMENT updatemenuitem  EMPTY                                           >
  <!-- updatemenuitem Attributes                                        -->
  <!ATTLIST updatemenuitem  name          CDATA                 #REQUIRED >
    <!--                      The path and name/caption of this menu item
                                in the form 
                                "menu name/sub menu name/menu item". For a
                                separator, use "-". Use LastMenuChoice
                                function to retrieve.                   -->
  <!ATTLIST updatemenuitem  db            CDATA                 #IMPLIED  >
    <!--                      The database that contains the script.    -->
  <!ATTLIST updatemenuitem  script        CDATA                 #IMPLIED  >
    <!--                      The script to call when this item is
                                selected.                               -->
  <!ATTLIST updatemenuitem  value         CDATA                 #IMPLIED  >
    <!--                      User-supplied value for this item. Use
                                LastMenuValue function to retrieve.     -->
  <!ATTLIST updatemenuitem  enabled       (yes | no)            #IMPLIED  >
    <!--                      Is this menu item enabled?                -->
  <!ATTLIST updatemenuitem  groupid       CDATA                 #IMPLIED  >
    <!--                      User defined group identifier; for use with
                                modifierkeys to show menu items that are
                                alternatives of each other.             -->
  <!ATTLIST updatemenuitem  modifierkeys  CDATA                 #IMPLIED  >
    <!--                      Defines the modifier keys that must be down
                                in order to show the menu.  Must use
                                "none" or "shift", "ctrl", "opt", "cmd" or
                                combinations using plus sign:
                                "shift+ctrl+cmd".                       -->
  <!ATTLIST updatemenuitem  style         CDATA                 #IMPLIED  >
    <!--                      Defines the font style of the menu item.
                                Must use "none" or "bold", "italic", 
                                "underline" or combinations using plus 
                                sign: "bold+italic".                    -->
  <!ATTLIST updatemenuitem  mark          (none | check | bullet | dimond)
                                                                #IMPLIED  >
    <!--                      Defines the mark for the menu item.       -->
   
<!-- insertmenuitem Element - Used to insert a menu item.               -->
<!ELEMENT insertmenuitem  EMPTY                                           >
  <!-- insertmenuitem Attributes                                        -->
  <!ATTLIST insertmenuitem  name          CDATA                 #REQUIRED >
    <!--                      The name/caption of this menu item. For a
                                separator, use "-". Use LastMenuChoice
                                function to retrieve.                   -->
  <!ATTLIST insertmenuitem  before        CDATA                 #REQUIRED >
    <!--                      The path to the item that this new item is
                                to be placed before. Form is
                                "menu name/sub menu item/menu item". If
                                inserting as the last item, use "__LAST__"
                                as the item name.                       -->
  <!ATTLIST insertmenuitem  autocreatemenu (yes | no)           #IMPLIED  >
    <!--                      Create the menu and/or submenus in the
                                before path, if they do not exist.      -->
  <!ATTLIST insertmenuitem  db            CDATA                 #IMPLIED  >
    <!--                      The database that contains the script.    -->
  <!ATTLIST insertmenuitem  script        CDATA                 #IMPLIED  >
    <!--                      The script to call when this item is
                                selected.                               -->
  <!ATTLIST insertmenuitem  value         CDATA                 #IMPLIED  >
    <!--                      User-supplied value for this item. Use
                                LastMenuValue function to retrieve.     -->
  <!ATTLIST insertmenuitem  enabled       (yes | no)            #IMPLIED  >
    <!--                      Is this menu item enabled?                -->
  <!ATTLIST insertmenuitem  groupid       CDATA                 #IMPLIED  >
    <!--                      User defined group identifier; for use with
                                modifierkeys to show menu items that are
                                alternatives of each other.             -->
  <!ATTLIST insertmenuitem  modifierkeys  CDATA                 #IMPLIED  >
    <!--                      Defines the modifier keys that must be down
                                in order to show the menu.  Must use
                                "none" or "shift", "ctrl", "opt", "cmd" or
                                combinations using plus sign:
                                "shift+ctrl+cmd".                       -->
  <!ATTLIST insertmenuitem  style         CDATA                 #IMPLIED  >
    <!--                      Defines the font style of the menu item.
                                Must use "none" or "bold", "italic", 
                                "underline" or combinations using plus 
                                sign: "bold+italic".                    -->
  <!ATTLIST insertmenuitem  mark          (none | check | bullet | dimond)
                                                                #IMPLIED  >
    <!--                      Defines the mark for the menu item.       -->

<!-- deletemenuitem Element - Used to delete an individual menu item.   -->
<!ELEMENT deletemenuitem  EMPTY                                           >
  <!-- deletemenuitem Attributes                                        -->
  <!ATTLIST deletemenuitem  name          CDATA                 #REQUIRED >
    <!--                      The path and name/caption of this menu item
                                in the form 
                                "menu name/sub menu name/menu item".    -->
