<?xml version="1.0" encoding="iso-8859-1"?>
<application name="4ss" file="/work/a/ports/textproc/py-4suite/work/4Suite-1.0b1/build/lib.freebsd-7.1-RELEASE-i386-2.4/Ft/Server/Client/Commands/__init__.py">
  <description>Command-line client for 4Suite repository access</description>
  <verbose-description>This command is a client that provides access to a 4Suite repository and RDF model from the command line. The repository must exist and must be accessible via a 4Suite RPC server.</verbose-description>
  <options>
    <option short-name="h" long-name="help">
      <description>show detailed help message</description>
    </option>
    <option long-name="show-commands">
      <description>show system command tree</description>
    </option>
  </options>
  <subcommands>
    <command name="set">
      <description>Set properties on a resource in a repository</description>
      <verbose-description>This command sets properties, such as access permissions or arbitrary user data, for a resource in a 4Suite repository. A subcommand specifying which type of property to set is required. See the help message for a subcommand for specific usage info.</verbose-description>
      <options>
        <option short-name="h" long-name="help">
          <description>show detailed help message</description>
        </option>
        <exclusive-options>
          <option short-name="u" long-name="username">
            <description>connect using the given user name</description>
            <argument name="USER">
            </argument>
          </option>
          <option short-name="a" long-name="anonymous">
            <description>connect as anonymous user</description>
          </option>
        </exclusive-options>
        <option long-name="password">
          <description>connect using the given password</description>
          <argument name="PASSWORD">
          </argument>
        </option>
        <option short-name="p" long-name="port">
          <description>the port to connect to</description>
          <argument name="PORT">
          </argument>
        </option>
        <option long-name="host">
          <description>the host to connect to</description>
          <argument name="HOST">
          </argument>
        </option>
      </options>
      <subcommands>
        <command name="owner">
          <description>Set the owner of a resource in a repository</description>
          <verbose-description>This command sets the owner of a resource in a 4Suite repository. The new owner must be an existing User. If necessary, you will be prompted first for credentials and access info to connect to
the repository.</verbose-description>
          <example>username /repo/path/to/doc.xml</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="path">
              <description>path of the resource</description>
            </argument>
            <argument required="yes" multiple="no" name="newowner">
              <description>name of the User to set as the new owner</description>
            </argument>
          </arguments>
        </command>
        <command name="userdata">
          <description>Set custom data associated with a User in a repository</description>
          <verbose-description>This command sets one custom name-value data pair associated with a User resource in a 4Suite repository. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>michael age 26</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="userName">
              <description>the name of the User</description>
            </argument>
            <argument required="yes" multiple="no" name="key">
              <description>the key (name part) of a name-value pair</description>
            </argument>
            <argument required="no" multiple="no" name="value">
              <description>the value for a name-value pair; no value means delete the key</description>
            </argument>
          </arguments>
        </command>
        <command name="strobe">
          <description>In a repository, flag a stylesheet to be executed at regular intervals</description>
          <verbose-description>This command adds an XSLT Stylesheet resource in a 4Suite repository to a list of stylesheets that will be automatically executed against an empty source document at regular intervals.</verbose-description>
          <example>/repo/path/to/cron.xslt</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="path">
              <description>path of stylesheet to set for the strobe</description>
            </argument>
          </arguments>
        </command>
        <command name="acl">
          <description>Set access control info for a resource in a repository</description>
          <verbose-description>This command sets access control info for a resource in a 4Suite repository. It will prompts for specific permissions to add or modify. Requires write access on the resource. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>/path/to/doc.xml</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="path">
              <description>the path of the resource</description>
            </argument>
          </arguments>
        </command>
      </subcommands>
    </command>
    <command name="render">
      <description>Perform an XSLT transformation using documents in a repository</description>
      <verbose-description>This command will use 4xslt to render a source document with an XSLT stylesheet. Both the source and stylesheet must exist in a 4Suite repository, although the source document can be a virtual document such as the metadata XML for any resource in the repository.
If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
      <example>/fourthought.com</example>
      <options>
        <option short-name="h" long-name="help">
          <description>show detailed help message</description>
        </option>
        <exclusive-options>
          <option short-name="u" long-name="username">
            <description>connect using the given user name</description>
            <argument name="USER">
            </argument>
          </option>
          <option short-name="a" long-name="anonymous">
            <description>connect as anonymous user</description>
          </option>
        </exclusive-options>
        <option long-name="password">
          <description>connect using the given password</description>
          <argument name="PASSWORD">
          </argument>
        </option>
        <option short-name="p" long-name="port">
          <description>the port to connect to</description>
          <argument name="PORT">
          </argument>
        </option>
        <option long-name="host">
          <description>the host to connect to</description>
          <argument name="HOST">
          </argument>
        </option>
        <option short-name="D" long-name="define">
          <description>Bind a top-level parameter</description>
          <argument name="NAME=VALUE">
          </argument>
        </option>
      </options>
      <arguments>
        <argument required="yes" multiple="no" name="path">
          <description>the path of the source document</description>
        </argument>
        <argument required="yes" multiple="yes" name="stylesheet">
          <description>the path of the stylesheet</description>
        </argument>
      </arguments>
    </command>
    <command name="passwd">
      <description>Set the password for a User in a repository</description>
      <verbose-description>This command sets a 4Suite repository User's password. It will first prompt for the new password to set. Then it will attempt to connect to the repository and change the password, prompting first for credentials and access info if necessary. The user accessing the repository must have write access on the User resource for which the password is being modified.</verbose-description>
      <example>molson</example>
      <options>
        <option short-name="h" long-name="help">
          <description>show detailed help message</description>
        </option>
        <exclusive-options>
          <option short-name="u" long-name="username">
            <description>connect using the given user name</description>
            <argument name="USER">
            </argument>
          </option>
          <option short-name="a" long-name="anonymous">
            <description>connect as anonymous user</description>
          </option>
        </exclusive-options>
        <option long-name="password">
          <description>connect using the given password</description>
          <argument name="PASSWORD">
          </argument>
        </option>
        <option short-name="p" long-name="port">
          <description>the port to connect to</description>
          <argument name="PORT">
          </argument>
        </option>
        <option long-name="host">
          <description>the host to connect to</description>
          <argument name="HOST">
          </argument>
        </option>
      </options>
      <arguments>
        <argument required="yes" multiple="no" name="userName">
          <description>User for which to change the password</description>
        </argument>
      </arguments>
    </command>
    <command name="create">
      <description>Create a resource in a repository</description>
      <verbose-description>This command will create a resource in a 4Suite repository. It requires a subcommand specifying which type of resource to create. See the help message for one of the subcommands for specific usage info.</verbose-description>
      <options>
        <option short-name="h" long-name="help">
          <description>show detailed help message</description>
        </option>
        <exclusive-options>
          <option short-name="u" long-name="username">
            <description>connect using the given user name</description>
            <argument name="USER">
            </argument>
          </option>
          <option short-name="a" long-name="anonymous">
            <description>connect as anonymous user</description>
          </option>
        </exclusive-options>
        <option long-name="password">
          <description>connect using the given password</description>
          <argument name="PASSWORD">
          </argument>
        </option>
        <option short-name="p" long-name="port">
          <description>the port to connect to</description>
          <argument name="PORT">
          </argument>
        </option>
        <option long-name="host">
          <description>the host to connect to</description>
          <argument name="HOST">
          </argument>
        </option>
      </options>
      <subcommands>
        <command name="container">
          <description>Create a new Container in a 4Suite repository</description>
          <verbose-description>This command creates a new Container resource in a 4Suite repository. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>/documents</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
            <option short-name="r" long-name="create-parents">
              <description>Recursively build all parent containers to complete the path.</description>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="path">
              <description>The name (repo path) of container to create</description>
            </argument>
          </arguments>
        </command>
        <command name="urireference">
          <description>Create a new URI Reference in a repository</description>
          <verbose-description>This command creates a new URI Reference resource in a 4Suite repository. A URI Reference resource is like a Raw File but its content is always obtained on demand by dereferencing the stored URI. The first dereference operation occurs when this command is run, so the resource identified by the URI must be retrievable at that time. Resource metadata (size, etc.) from the last dereference operation is stored in the repository. Media type information is not obtained automatically; if a media type is not given on the command line, it will default to text/plain. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>--imt=text/html /testref.html http://4suite.org/</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
            <option long-name="imt">
              <description>The referenced resource's Internet Media Type. Default: text/plain.</description>
              <argument name="imt">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="path">
              <description>The repo path of the new UriReference resource</description>
            </argument>
            <argument required="yes" multiple="no" name="sourceUri">
              <description>The URI to reference</description>
            </argument>
          </arguments>
        </command>
        <command name="server">
          <description>Create a new server definition in a 4Suite repository</description>
          <verbose-description>This command creates a new Server definiiton resource in a 4Suite repository. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>/documents</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
          </options>
        </command>
        <command name="alias">
          <description>Create a new Alias for an existing resource in a repository</description>
          <verbose-description>This command creates a new Alias resource for an existing resource in a 4Suite repository. If necessary, you will be prompted first for credentials and access info to connect to the repository. Prior to 4Suite 1.0b1, this command was known as '4ss add alias'.</verbose-description>
          <example>/path/to/docAlias.rdf /path/to/actualDoc.rdf</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="alias">
              <description>The full repository path of the new alias.</description>
            </argument>
            <argument required="yes" multiple="no" name="sourcePath">
              <description>The path to the resource being aliased.</description>
            </argument>
          </arguments>
        </command>
        <command name="user">
          <description>Create a new User and sets its password in a repository</description>
          <verbose-description>This command creates a new User resource in the 4Suite repository. It will first prompt for a password for the new User. Then it will attempt to connect to the repository to create the user, prompting first for credentials and access info if necessary. The user accessing the repository must have sufficient permissions in order to create the new User, and the new User must not already exist.</verbose-description>
          <example>michael</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
            <option short-name="c" long-name="container">
              <description>The container in which to create the user (default: '/ftss/users')</description>
              <argument name="PATH">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="userName">
              <description>The name of the user to create.</description>
            </argument>
          </arguments>
        </command>
        <command name="rawfile">
          <description>Create a new Raw File in a repository</description>
          <verbose-description>This command creates a new Raw File resource in a 4Suite repository. A Raw File is used to store non-XML based data in the repository. If you are storing XML data, please see the '4ss create document' command. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>--imt=image/jpeg /images/4suite.jpg /local/path/to/4Suite.jpg</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
            <option long-name="imt">
              <description>The file's Internet Media Type. Default: text/plain.</description>
              <argument name="imt">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="path">
              <description>The repo path of the Raw File to create</description>
            </argument>
            <argument required="yes" multiple="no" name="source-uri">
              <description>The URI to read the file's content from, or '-' for stdin</description>
            </argument>
            <argument required="no" multiple="yes" name="alias">
              <description>Additional aliases to assign to the new file.</description>
            </argument>
          </arguments>
        </command>
        <command name="group">
          <description>Create a new Group in a repository</description>
          <verbose-description>This command creates a new Group resource in a 4Suite repository. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>developers</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
            <option short-name="c" long-name="container">
              <description>The container in which to create the group (default: '/ftss/groups')</description>
              <argument name="PATH">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="groupName">
              <description>The name of the group to create</description>
            </argument>
          </arguments>
        </command>
        <command name="document">
          <description>Create a new XML Document in a repository</description>
          <verbose-description>This command creates a new XML Document resource in a 4Suite repository. An XML Document resource is used to store XML-based data in the repository. If you are storing non-XML data, see the '4ss create rawfile' command. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>/repo/path/to/dummy.xml dummy.xml</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
            <option short-name="i" long-name="imt">
              <description>The document's Internet Media Type. Default: text/xml</description>
              <argument name="IMT">
              </argument>
            </option>
            <option short-name="D" long-name="docdef">
              <description>The path of a Document Definition (already in the repo) to use,  if RDF statements are to be derived from the document</description>
              <argument name="docdef">
              </argument>
            </option>
            <option short-name="t" long-name="type">
              <description>The 4SS document type. If none specified, then the type is inferred from the document's content</description>
              <argument name="type">
                <value name="xml">
                  <description>generic XML Document (this is the default)</description>
                </value>
                <value name="xslt">
                  <description>XSLT Document</description>
                </value>
                <value name="schematron">
                  <description>Schematron Document</description>
                </value>
                <value name="rdf">
                  <description>RDF Document</description>
                </value>
                <value name="container">
                  <description>Container</description>
                </value>
                <value name="user">
                  <description>User</description>
                </value>
                <value name="xpathdocdef">
                  <description>XPath Document Definition</description>
                </value>
                <value name="xsltdocdef">
                  <description>XSLT Document Definition</description>
                </value>
                <value name="group">
                  <description>Group</description>
                </value>
                <value name="alias">
                  <description>Alias</description>
                </value>
                <value name="server">
                  <description>Server definition</description>
                </value>
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="path">
              <description>The repo path of the document to create</description>
            </argument>
            <argument required="yes" multiple="no" name="source-uri">
              <description>The URI to read the document's content from, or '-' for stdin</description>
            </argument>
            <argument required="no" multiple="yes" name="alias">
              <description>Additional aliases to assign to the new document</description>
            </argument>
          </arguments>
        </command>
      </subcommands>
    </command>
    <command name="list">
      <description>List certain types of resources in a repository</description>
      <verbose-description>This command lists information about sets of certain types of resources in a 4Suite repository. A subcommand specifying which type of resource to list is required. See the help message for a subcommand for specific usage info.</verbose-description>
      <options>
        <option short-name="h" long-name="help">
          <description>show detailed help message</description>
        </option>
        <exclusive-options>
          <option short-name="u" long-name="username">
            <description>connect using the given user name</description>
            <argument name="USER">
            </argument>
          </option>
          <option short-name="a" long-name="anonymous">
            <description>connect as anonymous user</description>
          </option>
        </exclusive-options>
        <option long-name="password">
          <description>connect using the given password</description>
          <argument name="PASSWORD">
          </argument>
        </option>
        <option short-name="p" long-name="port">
          <description>the port to connect to</description>
          <argument name="PORT">
          </argument>
        </option>
        <option long-name="host">
          <description>the host to connect to</description>
          <argument name="HOST">
          </argument>
        </option>
      </options>
      <subcommands>
        <command name="docdefs">
          <description>List all Document Definitions in a repository</description>
          <verbose-description>This command lists all Document Definition resources in a 4Suite repository. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
          </options>
        </command>
        <command name="users">
          <description>List all Users in a repository</description>
          <verbose-description>This command lists all User resources in a 4Suite repository. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
            <option short-name="f" long-name="fullpaths">
              <description>list full paths instead of user names</description>
            </option>
          </options>
        </command>
        <command name="groups">
          <description>List all Groups in a repository</description>
          <verbose-description>This command lists all Group resources in a 4Suite repository. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
            <option short-name="f" long-name="fullpaths">
              <description>list full paths instead of group names</description>
            </option>
          </options>
        </command>
      </subcommands>
    </command>
    <command name="update">
      <description>Update the content of a resource in a repository</description>
      <verbose-description>This command will replace the content of an existing resource in a 4Suite repository, reading in the new content from a file on the local filesystem, for example. A subcommand specifying which type of resource to update is required. See the help message for a subcommand for specific usage info.</verbose-description>
      <options>
        <option short-name="h" long-name="help">
          <description>show detailed help message</description>
        </option>
        <exclusive-options>
          <option short-name="u" long-name="username">
            <description>connect using the given user name</description>
            <argument name="USER">
            </argument>
          </option>
          <option short-name="a" long-name="anonymous">
            <description>connect as anonymous user</description>
          </option>
        </exclusive-options>
        <option long-name="password">
          <description>connect using the given password</description>
          <argument name="PASSWORD">
          </argument>
        </option>
        <option short-name="p" long-name="port">
          <description>the port to connect to</description>
          <argument name="PORT">
          </argument>
        </option>
        <option long-name="host">
          <description>the host to connect to</description>
          <argument name="HOST">
          </argument>
        </option>
      </options>
      <subcommands>
        <command name="document">
          <description>Update the content of an XML Document in a repository</description>
          <verbose-description>This command updates the content of an existing XML Document resource in a 4Suite repository. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>/repo/path/to/dummy.xml dummy.xml</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
            <option long-name="imt">
              <description>The internet media type to assign to the document.  If not specified it is left unchanged.</description>
              <argument name="imt">
              </argument>
            </option>
            <exclusive-options>
              <option long-name="docdef">
                <description>The new document definition for this document</description>
                <argument name="docdef">
                </argument>
              </option>
              <option long-name="nodocdef">
                <description>remove the current doc def</description>
              </option>
            </exclusive-options>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="path">
              <description>The repo path of the existing document in the repository.</description>
            </argument>
            <argument required="yes" multiple="no" name="sourceUri">
              <description>The URI to read the source from (Use '-' to read it from standard input)</description>
            </argument>
          </arguments>
        </command>
        <command name="extension">
          <description>Reload an extension module in a repository</description>
          <verbose-description>This command reloads an extension module in a 4Suite repository. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>Ft.Share.ExtensionModules.SomeModule</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="module">
              <description>The Python module name</description>
            </argument>
          </arguments>
        </command>
        <command name="rawfile">
          <description>Update the content of a Raw File in a repository</description>
          <verbose-description>This command updates the content of an existing Raw File resource in a 4Suite repository. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>/images/4suite.jpg /local/path/to/4Suite.jpg</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
            <option long-name="imt">
              <description>The file's Internet Media Type. Default: no change.</description>
              <argument name="imt">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="path">
              <description>The repo path of the file</description>
            </argument>
            <argument required="yes" multiple="no" name="sourceUri">
              <description>The URI to read the file's content from, or '-' for stdin</description>
            </argument>
          </arguments>
        </command>
      </subcommands>
    </command>
    <command name="agent">
      <description>Spawn a subshell that knows authentication defaults</description>
      <verbose-description>This command will set a default username, password hash, hostname and port in an environment variable in a new shell so that you do not need to provide this info for subsequent invocations of 4ss command-line scripts. The username and password must be valid for the repository server on the given host and port. This command is an alternative to the login command.</verbose-description>
      <options>
        <option short-name="h" long-name="help">
          <description>show detailed help message</description>
        </option>
        <exclusive-options>
          <option short-name="u" long-name="username">
            <description>connect using the given user name</description>
            <argument name="USER">
            </argument>
          </option>
          <option short-name="a" long-name="anonymous">
            <description>connect as anonymous user</description>
          </option>
        </exclusive-options>
        <option long-name="password">
          <description>connect using the given password</description>
          <argument name="PASSWORD">
          </argument>
        </option>
        <option short-name="p" long-name="port">
          <description>the port to connect to</description>
          <argument name="PORT">
          </argument>
        </option>
        <option long-name="host">
          <description>the host to connect to</description>
          <argument name="HOST">
          </argument>
        </option>
      </options>
      <arguments>
        <argument required="no" multiple="no" name="shell">
          <description>name of shell to execute (default is system specific)</description>
        </argument>
      </arguments>
    </command>
    <command name="add">
      <description>Relate two resources in a repository (e.g., add a User to a Group)</description>
      <verbose-description>This command is used to create a certain type of relationship between two objects in a 4Suite repository. See the help message for one of the subcommands for details.</verbose-description>
      <options>
        <option short-name="h" long-name="help">
          <description>show detailed help message</description>
        </option>
        <exclusive-options>
          <option short-name="u" long-name="username">
            <description>connect using the given user name</description>
            <argument name="USER">
            </argument>
          </option>
          <option short-name="a" long-name="anonymous">
            <description>connect as anonymous user</description>
          </option>
        </exclusive-options>
        <option long-name="password">
          <description>connect using the given password</description>
          <argument name="PASSWORD">
          </argument>
        </option>
        <option short-name="p" long-name="port">
          <description>the port to connect to</description>
          <argument name="PORT">
          </argument>
        </option>
        <option long-name="host">
          <description>the host to connect to</description>
          <argument name="HOST">
          </argument>
        </option>
      </options>
      <subcommands>
        <command name="member">
          <description>Add a User to a Group in a repository</description>
          <verbose-description>This command adds a User to a Group in a 4Suite repository. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>developers michael</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="groupName">
              <description>The name (not path) of the Group</description>
            </argument>
            <argument required="yes" multiple="no" name="memberName">
              <description>The name (not path) of the User</description>
            </argument>
          </arguments>
        </command>
      </subcommands>
    </command>
    <command name="rdf">
      <description>Perform basic operations on an RDF model in a repository</description>
      <verbose-description>This command allows one to perform basic operations on the 4Suite RDF model. It requires a subcommand specifying what operation is desired. See the help message for each subcommand for specific usage info.</verbose-description>
      <options>
        <option short-name="h" long-name="help">
          <description>show detailed help message</description>
        </option>
        <exclusive-options>
          <option short-name="u" long-name="username">
            <description>connect using the given user name</description>
            <argument name="USER">
            </argument>
          </option>
          <option short-name="a" long-name="anonymous">
            <description>connect as anonymous user</description>
          </option>
        </exclusive-options>
        <option long-name="password">
          <description>connect using the given password</description>
          <argument name="PASSWORD">
          </argument>
        </option>
        <option short-name="p" long-name="port">
          <description>the port to connect to</description>
          <argument name="PORT">
          </argument>
        </option>
        <option long-name="host">
          <description>the host to connect to</description>
          <argument name="HOST">
          </argument>
        </option>
      </options>
      <subcommands>
        <command name="add">
          <description>Add RDF statements to a given scope</description>
          <verbose-description>Adds statements to the user RDF model associated with a 4Suite repository. A single statement can be given via command-line arguments, or multiple statements can be given in an RDF XML file that will be deserialized. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>--document=spam.rdf /my/scope/path</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
            <option short-name="d" long-name="document">
              <description>Add statements deserialized from the given document</description>
              <argument name="URI">
              </argument>
            </option>
            <option long-name="create">
              <description>When adding a single statement, create a virtual RDF document representing the scope, if it doesn't already exist</description>
            </option>
            <option long-name="imt">
              <description>When creating a virtual RDF document, the Internet Media Type (default: text/xml) to set</description>
            </option>
            <option long-name="objtype">
              <description>When adding a single statement, the type of the object, either 'resource' or 'literal' (default: literal)</description>
              <argument name="TYPE">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="scope">
              <description>The scope into which the statements are to be added</description>
            </argument>
            <argument required="no" multiple="no" name="subject">
              <description>The subject of the new statement</description>
            </argument>
            <argument required="no" multiple="no" name="predicate">
              <description>The predicate of the new statement</description>
            </argument>
            <argument required="no" multiple="no" name="object">
              <description>The object of the new statement</description>
            </argument>
            <argument required="no" multiple="no" name="uri">
              <description>The URI of the new statement.</description>
            </argument>
          </arguments>
        </command>
        <command name="versa">
          <description>Perform a Versa query</description>
          <verbose-description>This command performs a query on the combined user and
system RDF models, using the Versa query language for RDF. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>--query-file=</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
            <option short-name="q" long-name="quiet">
              <description>Present no output except for errors or any result</description>
            </option>
            <option short-name="f" long-name="query-file">
              <description>A file with the Versa query</description>
              <argument name="query-file">
              </argument>
            </option>
            <option long-name="no-mapping-file">
              <description>Do not use the user's namespace mapping file</description>
            </option>
            <option long-name="scope">
              <description>a scope to restrict the query</description>
              <argument name="scope">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="no" multiple="no" name="query">
              <description>The query to perform.  Required if --file is not specified</description>
            </argument>
          </arguments>
        </command>
        <command name="complete">
          <description>Perform an RDF complete</description>
          <verbose-description>This command performs an RDF &quot;complete&quot;: a query that returns, by default, all RDF statements from the combined system and user models in a 4Suite repository. The query can be constrained to return only those statements with a certain subject, predicate, object,
scope, or statement URI, in any combination. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>--subject=urn:uuid1234456</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
            <option long-name="subject">
              <description>The subject for the complete</description>
              <argument name="subject">
              </argument>
            </option>
            <option long-name="predicate">
              <description>The predicate for the complete</description>
              <argument name="predicate">
              </argument>
            </option>
            <option long-name="object">
              <description>The object for the complete</description>
              <argument name="object">
              </argument>
            </option>
            <option long-name="uri">
              <description>The URI of the statement to fetch</description>
              <argument name="URI">
              </argument>
            </option>
            <option long-name="scope">
              <description>The scope of statements to fetch</description>
              <argument name="scope">
              </argument>
            </option>
            <option short-name="x" long-name="xml">
              <description>Generate Serialized RDF in XML format</description>
            </option>
            <option long-name="flat-model">
              <description>Do not show the results sorted by scope</description>
            </option>
          </options>
        </command>
        <command name="remove">
          <description>Remove RDF statements from a given scope</description>
          <verbose-description>This command removes statements from the user RDF model in a 4Suite repository. A single statement can be given via command-line arguments, or multiple statements can be given in an RDF XML file that will be deserialized. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>--document=spam.rdf /my/scope/path</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
            <option short-name="d" long-name="document">
              <description>Remove statements deserialized from the given document</description>
              <argument name="document">
              </argument>
            </option>
            <option long-name="subject">
              <description>The subject of statements selected to be deleted</description>
              <argument name="subject">
              </argument>
            </option>
            <option long-name="predicate">
              <description>The predicate of statements selected to be deleted</description>
              <argument name="predicate">
              </argument>
            </option>
            <option long-name="object">
              <description>The object of statements selected to be deleted</description>
              <argument name="object">
              </argument>
            </option>
            <option long-name="subject-regex">
              <description>The subject string is a regular expression to match</description>
            </option>
            <option long-name="predicate-regex">
              <description>The predicate string is a regular expression to match</description>
            </option>
            <option long-name="object-regex">
              <description>The object string is a regular expression to match</description>
            </option>
          </options>
          <arguments>
            <argument required="no" multiple="no" name="scope">
              <description>The scope from which the statements are to be removed</description>
            </argument>
          </arguments>
        </command>
      </subcommands>
    </command>
    <command name="export">
      <description>Export an application from a repository to the filesystem</description>
      <verbose-description>This command will export an application from a 4Suite repository, creating a setup.xml file and a mirror of the application's resources as files on the local filesystem. The application is assumed to be all resources in a particular container (including descendant containers). The user doing the export must have read access to all of the files in the container.  If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
      <example>--version=&quot;0.0a1&quot; --title=&quot;GuestBook&quot; --description=&quot;a guest book demo&quot; /ftss/demos/GuestBook</example>
      <options>
        <option short-name="h" long-name="help">
          <description>show detailed help message</description>
        </option>
        <exclusive-options>
          <option short-name="u" long-name="username">
            <description>connect using the given user name</description>
            <argument name="USER">
            </argument>
          </option>
          <option short-name="a" long-name="anonymous">
            <description>connect as anonymous user</description>
          </option>
        </exclusive-options>
        <option long-name="password">
          <description>connect using the given password</description>
          <argument name="PASSWORD">
          </argument>
        </option>
        <option short-name="p" long-name="port">
          <description>the port to connect to</description>
          <argument name="PORT">
          </argument>
        </option>
        <option long-name="host">
          <description>the host to connect to</description>
          <argument name="HOST">
          </argument>
        </option>
        <option short-name="d" long-name="directory">
          <description>directory to export to (must already exist)</description>
          <argument name="DIR">
          </argument>
        </option>
        <option long-name="version">
          <description>set version of exported application</description>
          <argument name="VERS">
          </argument>
        </option>
        <option long-name="description">
          <description>set description of exported application</description>
          <argument name="DESC">
          </argument>
        </option>
        <option long-name="title">
          <description>set title of exported application</description>
          <argument name="TITLE">
          </argument>
        </option>
        <option long-name="archive">
          <description>archive the exported data (options are platform-dependent)</description>
          <argument name="TYPE">
            <value name="gztar">
              <description>gzip'ed tar-file</description>
            </value>
            <value name="ztar">
              <description>compressed tar file</description>
            </value>
            <value name="bztar">
              <description>bzip2'ed tar-file</description>
            </value>
            <value name="zip">
              <description>ZIP file</description>
            </value>
            <value name="tar">
              <description>uncompressed tar file</description>
            </value>
          </argument>
        </option>
      </options>
      <arguments>
        <argument required="no" multiple="no" name="path">
          <description>the base path (in the repo) of the application to export (default: /)</description>
        </argument>
      </arguments>
    </command>
    <command name="remove">
      <description>Unrelate two resources in a repository (e.g., remove a User from a Group)</description>
      <verbose-description>This command is used to delete a certain type of relationship between two objects in a 4Suite repository. See the help message for one of the subcommands for details.</verbose-description>
      <options>
        <option short-name="h" long-name="help">
          <description>show detailed help message</description>
        </option>
        <exclusive-options>
          <option short-name="u" long-name="username">
            <description>connect using the given user name</description>
            <argument name="USER">
            </argument>
          </option>
          <option short-name="a" long-name="anonymous">
            <description>connect as anonymous user</description>
          </option>
        </exclusive-options>
        <option long-name="password">
          <description>connect using the given password</description>
          <argument name="PASSWORD">
          </argument>
        </option>
        <option short-name="p" long-name="port">
          <description>the port to connect to</description>
          <argument name="PORT">
          </argument>
        </option>
        <option long-name="host">
          <description>the host to connect to</description>
          <argument name="HOST">
          </argument>
        </option>
      </options>
      <subcommands>
        <command name="member">
          <description>Remove a User from a Group in a repository</description>
          <verbose-description>This command removes a User from a Group in a 4Suite repository. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>developers michael</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="groupName">
              <description>The name (not path) of the Group</description>
            </argument>
            <argument required="yes" multiple="no" name="userName">
              <description>The name (not path) of the User</description>
            </argument>
          </arguments>
        </command>
      </subcommands>
    </command>
    <command name="install">
      <description>Install, update, or remove a repository application</description>
      <verbose-description>This command reads a 4Suite repository application's setup XML file from the local filesystem and uses it to install, update or remove the application in a repository. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
      <example>GuestBook</example>
      <options>
        <option short-name="h" long-name="help">
          <description>show detailed help message</description>
        </option>
        <exclusive-options>
          <option short-name="u" long-name="username">
            <description>connect using the given user name</description>
            <argument name="USER">
            </argument>
          </option>
          <option short-name="a" long-name="anonymous">
            <description>connect as anonymous user</description>
          </option>
        </exclusive-options>
        <option long-name="password">
          <description>connect using the given password</description>
          <argument name="PASSWORD">
          </argument>
        </option>
        <option short-name="p" long-name="port">
          <description>the port to connect to</description>
          <argument name="PORT">
          </argument>
        </option>
        <option long-name="host">
          <description>the host to connect to</description>
          <argument name="HOST">
          </argument>
        </option>
        <option long-name="demo">
          <description>install the 4Suite repository demo applications</description>
        </option>
        <option long-name="dashboard">
          <description>install the 4Suite repository Dashboard applicaiton</description>
        </option>
        <option short-name="D" long-name="delete">
          <description>delete an installed repository application</description>
        </option>
        <option short-name="b" long-name="base">
          <description>base path (in the repo) where the application should be installed</description>
          <argument name="base">
          </argument>
        </option>
        <option short-name="q" long-name="quiet">
          <description>don't display what is happening</description>
        </option>
        <option long-name="no-acl">
          <description>don't sync ACL (install faster)</description>
        </option>
      </options>
      <arguments>
        <argument required="no" multiple="no" name="setup">
          <description>the location of the setup XML file on the local filesystem; if not given, then you must provide the --demo flag</description>
        </argument>
      </arguments>
    </command>
    <command name="login">
      <description>Associate a default password, host, port with a username</description>
      <verbose-description>This command will associate a password hash, hostname and port with a username, storing the info in a password file on the local filesystem. Subsequent invocations of 4ss command-line scripts can then automatically look up access info for connecting to a repository. The location of the password file is determined by the FTSS_PASSWORD_FILE environment variable. If not set, then the location is assumed to be a file named '.4ss.passwd' in the directory determined by the environment variable HOME (on Unix) or HOMEPATH (on Windows), or the environment variable WINDIR (on Windows) (one must be set). If the password file does not exist, it will be created when the first entry is stored. The location must be writable by the user invoking the command. At this time, this command does NOT verify that the username, password hash, hostname and port combination is valid; no repository connection is made.</verbose-description>
      <options>
        <option short-name="h" long-name="help">
          <description>show detailed help message</description>
        </option>
        <exclusive-options>
          <option short-name="u" long-name="username">
            <description>connect using the given user name</description>
            <argument name="USER">
            </argument>
          </option>
          <option short-name="a" long-name="anonymous">
            <description>connect as anonymous user</description>
          </option>
        </exclusive-options>
        <option long-name="password">
          <description>connect using the given password</description>
          <argument name="PASSWORD">
          </argument>
        </option>
        <option short-name="p" long-name="port">
          <description>the port to connect to</description>
          <argument name="PORT">
          </argument>
        </option>
        <option long-name="host">
          <description>the host to connect to</description>
          <argument name="HOST">
          </argument>
        </option>
      </options>
      <arguments>
        <argument required="no" multiple="no" name="username">
          <description>User for which to set defaults</description>
        </argument>
      </arguments>
    </command>
    <command name="fetch">
      <description>Retrieve a resource from the repository</description>
      <verbose-description>This command retrieves the content of a resource from a 4Suite repository. It requires a subcommand specifying which type of resource to fetch. See the help message for one of the subcommands for specific usage info.</verbose-description>
      <options>
        <option short-name="h" long-name="help">
          <description>show detailed help message</description>
        </option>
        <exclusive-options>
          <option short-name="u" long-name="username">
            <description>connect using the given user name</description>
            <argument name="USER">
            </argument>
          </option>
          <option short-name="a" long-name="anonymous">
            <description>connect as anonymous user</description>
          </option>
        </exclusive-options>
        <option long-name="password">
          <description>connect using the given password</description>
          <argument name="PASSWORD">
          </argument>
        </option>
        <option short-name="p" long-name="port">
          <description>the port to connect to</description>
          <argument name="PORT">
          </argument>
        </option>
        <option long-name="host">
          <description>the host to connect to</description>
          <argument name="HOST">
          </argument>
        </option>
      </options>
      <subcommands>
        <command name="resource">
          <description>Print general info about a resource in a repository</description>
          <verbose-description>This command prints a summary of the metadata for a resource in a 4Suite repository. Metadata includes the resource type, creation date, last modified date, Internet Media Type, size, owner, and ACL. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>/ftss/data/identity.xslt</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="path">
              <description>the path of the resource</description>
            </argument>
          </arguments>
        </command>
        <command name="group">
          <description>Print information about a Group in a repository</description>
          <verbose-description>This command prints information about a Group resource in a 4Suite repository. It lists the group's members and summarizes its ACL. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>developers</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="groupName">
              <description>the name of the Group</description>
            </argument>
          </arguments>
        </command>
        <command name="userdata">
          <description>List custom data associated with a User in a repository</description>
          <verbose-description>This command lists the custom name-value data pairs associated with a User resource in a 4Suite repository. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>root</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="userName">
              <description>the name of the User</description>
            </argument>
            <argument required="no" multiple="yes" name="key">
              <description>the key (name part) of a name-value pair; if none are given, all data will be listed</description>
            </argument>
          </arguments>
        </command>
        <command name="docdef">
          <description>Print info about a Document Definition in a repository</description>
          <verbose-description>This command produces a summary of the information in a
Document Definition resource (&quot;DocDef&quot;) in a 4Suite repository. For XSLT based DocDefs, fetches the XSLT document. For XPath based DocDefs, provides a formatted summary. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>BASE_XML</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="path">
              <description>the path of the Document Definition</description>
            </argument>
          </arguments>
        </command>
        <command name="user">
          <description>Print information about a User in a repository</description>
          <verbose-description>This command prints information about a User resource in the 4Suite repository. Lists the user's password hash, ACL, and group membership. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>root</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="userName">
              <description>the name of the User</description>
            </argument>
          </arguments>
        </command>
        <command name="rawfile">
          <description>Print raw content of a resource in a repository</description>
          <verbose-description>This command prints the raw content of a resource in a 4Suite repository, without additional interpretation. The resource type must be a Raw File or a subclass thereof (most resource types are). If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>/ftss/data/4SSPowered.jpg &gt; localfile.jpg</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
            <option short-name="q" long-name="quiet">
              <description>Don't preface output with informational header</description>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="path">
              <description>the path of the Raw File</description>
            </argument>
          </arguments>
        </command>
        <command name="container">
          <description>List contents of a Container in a repository</description>
          <verbose-description>This command produces a directory-like listing of the resources that are the children of a Container in a 4Suite repository. Columns in the listing include: Internet Media Type, size in bytes, date last modified, and resource's relative name. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>/ftss/data</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
          </options>
          <arguments>
            <argument required="no" multiple="no" name="path">
              <description>the path of the Container (default: /)</description>
            </argument>
          </arguments>
        </command>
        <command name="document">
          <description>Print content of an XML-based document in a repository</description>
          <verbose-description>This command prints the content of an XML-based document (e.g. an XML Document or XSLT Document) in a 4Suite repository. Currently, the output is the same as for '4ss fetch rawfile', but it may eventually be interpreted as if processed by a repository-aware version of '4xml'. If necessary, you will be prompted first for credentials and access info to connect to the repository.</verbose-description>
          <example>/ftss/demos/index.html</example>
          <options>
            <option short-name="h" long-name="help">
              <description>show detailed help message</description>
            </option>
            <exclusive-options>
              <option short-name="u" long-name="username">
                <description>connect using the given user name</description>
                <argument name="USER">
                </argument>
              </option>
              <option short-name="a" long-name="anonymous">
                <description>connect as anonymous user</description>
              </option>
            </exclusive-options>
            <option long-name="password">
              <description>connect using the given password</description>
              <argument name="PASSWORD">
              </argument>
            </option>
            <option short-name="p" long-name="port">
              <description>the port to connect to</description>
              <argument name="PORT">
              </argument>
            </option>
            <option long-name="host">
              <description>the host to connect to</description>
              <argument name="HOST">
              </argument>
            </option>
            <option short-name="q" long-name="quiet">
              <description>Don't preface output with informational header</description>
            </option>
          </options>
          <arguments>
            <argument required="yes" multiple="no" name="path">
              <description>the path of the Document</description>
            </argument>
          </arguments>
        </command>
      </subcommands>
    </command>
    <command name="delete">
      <description>Delete a resource from a repository</description>
      <verbose-description>This command will delete from a 4Suite repository all resources with paths matching a given pattern. The pattern may contain shell-style wildcards as supported by Python's fnmatch module (but you probably have to escape them from being matched by your own shell first). If necessary, you will be prompted first for credentials and access info to connect to the repository. Aliases are normally traversed, so in order to delete an Alias, use the --no-traverse option.</verbose-description>
      <example>/fourthought.com</example>
      <options>
        <option short-name="h" long-name="help">
          <description>show detailed help message</description>
        </option>
        <exclusive-options>
          <option short-name="u" long-name="username">
            <description>connect using the given user name</description>
            <argument name="USER">
            </argument>
          </option>
          <option short-name="a" long-name="anonymous">
            <description>connect as anonymous user</description>
          </option>
        </exclusive-options>
        <option long-name="password">
          <description>connect using the given password</description>
          <argument name="PASSWORD">
          </argument>
        </option>
        <option short-name="p" long-name="port">
          <description>the port to connect to</description>
          <argument name="PORT">
          </argument>
        </option>
        <option long-name="host">
          <description>the host to connect to</description>
          <argument name="HOST">
          </argument>
        </option>
        <option long-name="no-traverse">
          <description>don't traverse aliases</description>
        </option>
        <option short-name="i" long-name="interactive">
          <description>prompt for confirmation before deleting</description>
        </option>
      </options>
      <arguments>
        <argument required="yes" multiple="no" name="path">
          <description>the path of the resource to delete; can be a regular expression</description>
        </argument>
      </arguments>
    </command>
  </subcommands>
</application>
