<?xml version="1.0" encoding="iso-8859-1"?>
<ext-module name="Ft.Server.Server.Xslt" file="/work/a/ports/textproc/py-4suite/work/4Suite-1.0b1/build/lib.freebsd-7.1-RELEASE-i386-2.4/Ft/Server/Server/Xslt/__init__.py">
  <description>XSLT extension elements and functions supporting the 4SS repository API

Copyright 2004 Fourthought, Inc. (USA).
Detailed license and copyright information: http://4suite.org/COPYRIGHT
Project home, documentation, distributions: http://4suite.org/</description>
  <namespaces>
    <namespace prefix="fcore" namespace-uri="http://xmlns.4suite.org/4ss/score"/>
    <namespace prefix="futil" namespace-uri="http://xmlns.4suite.org/4ss/util"/>
    <namespace prefix="frdf" namespace-uri="http://xmlns.4suite.org/4ss/rdf"/>
    <namespace prefix="fhttp" namespace-uri="http://xmlns.4suite.org/4ss/http"/>
    <namespace prefix="fimap" namespace-uri="http://xmlns.4suite.org/4ss/imap"/>
  </namespaces>
  <functions>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:session-invalidate">
      <description>Destroy the current session</description>
      <result>unknown</result>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-ns-map">
      <description/>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-username">
      <description>Get the user name given the path to a user resource.
If the path is invalid or does not give a user object, '' is returned.</description>
      <result>unknown</result>
      <argument required="yes" name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:as-dom">
      <description>Get an RTF that is as a live version of the document function.  NOTE: This does not work like document(), where document() caches RTFs and always returns the same one per the spec, as-dom will return the latest in the repo.</description>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-member-paths">
      <description>Returns, as a node-set of 'path' elements, the full paths to all
user resources that are members of the specified group</description>
      <result>unknown</result>
      <argument required="yes" name="group"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-size">
      <description>Get the size of the resource</description>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-user-name">
      <description/>
      <result>unknown</result>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/http" name="fhttp:local-uri">
      <description>Given an ftss URI, returns a URI reference. The reference will be
relative to the HTTP handler's document root.</description>
      <result>unknown</result>
      <argument required="yes" name="uri"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:has-resource">
      <description>Query if the system has a resource specified by the path</description>
      <result>unknown</result>
      <argument required="yes" name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-user-data">
      <description>Gets property data associated with a user</description>
      <result>unknown</result>
      <argument required="yes" name="key"/>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-groups">
      <description/>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:verify-acl">
      <description>Verify that the testAclIdent is in the acl list specified by the acl key for this object.</description>
      <result>unknown</result>
      <argument required="yes" name="aclKey"/>
      <argument name="path"/>
      <argument name="verifyTraverse"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:hash-string">
      <description>Return a hash for a string
DEPRECATED - use f:sha-hash()</description>
      <result>unknown</result>
      <argument required="yes" name="rawString"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-name">
      <description>Get the name of the resource.</description>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-document-definition">
      <description/>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-user-or-group">
      <description>Given a user name, return the user resource path</description>
      <result>unknown</result>
      <argument required="yes" name="name"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/rdf" name="frdf:contains">
      <description>Runs a conatins on the repository model, which matches patterns
among the triples in the model.  You provide whichever of the
subject, predicate and object you'd like to match, and use
the frdf:any() function as a wildcard.  The return value is a boolean
indicating whether or not a matching statement exists.</description>
      <result>unknown</result>
      <argument required="yes" name="subj"/>
      <argument required="yes" name="pred"/>
      <argument name="obj"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-reference">
      <description>Get the URI that this resource references</description>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:delete-session-data">
      <description>Delete one of the key/value pairs stored in the session data</description>
      <result>unknown</result>
      <argument required="yes" name="key"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:remove-user-data">
      <description>Erases property data associated with a user</description>
      <result>unknown</result>
      <argument required="yes" name="key"/>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-all-document-definition-paths">
      <description>Get the resource (path) given a user or group name</description>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/rdf" name="frdf:versa-query">
      <description>Perform a Versa Query as a function, return a node-set representing the outside list.</description>
      <result>unknown</result>
      <argument required="yes" name="query"/>
      <argument name="scope"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-imt">
      <description>Get the IMT of a resource</description>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-acl-by-key">
      <description/>
      <result>unknown</result>
      <argument required="yes" name="aclKey"/>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-available-modules">
      <description/>
      <result>unknown</result>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-parent">
      <description>Get the parent container of this resource</description>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:repo-path-to-uri">
      <description>Convert a full repository URI e.g. (&quot;ftss:///spam/eggs&quot;) to a
repository path (e.g. &quot;/spam/eggs&quot;)</description>
      <result>unknown</result>
      <argument required="yes" name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-last-modified-date">
      <description>Get the date the resource was last modified</description>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/rdf" name="frdf:any">
      <description/>
      <result>unknown</result>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-current-username">
      <description>Get the name (not the resource) of the current user</description>
      <result>unknown</result>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-creation-params">
      <description/>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-rdf-maps">
      <description/>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-aliases">
      <description>Get a list of alias objects that reference this object</description>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-all-acl">
      <description/>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:session-data">
      <description>Session data is stored under a session ID (a UUID string) and takes the
form of zero or more key-value pairs. Each key is a unique string, and each
value is either a string or a node-set.

This XSLT extension function coerces the given key to its string-value
and returns from the current session the node-set that is associated with
that key. If the key does not exist in the current session, or if there is
no current session, then an empty node-set is returned. There is no way to
distinguish between an empty node-set as an indication of such an error and
an empty node-set as the legitimate value for the given key.</description>
      <result>unknown</result>
      <argument required="yes" name="key"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-available-handlers">
      <description/>
      <result>unknown</result>
      <argument required="yes" name="module"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:set-user-data">
      <description>Sets property data associated with a user</description>
      <result>unknown</result>
      <argument required="yes" name="key"/>
      <argument required="yes" name="value"/>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:normalize-uri">
      <description>Resolve a relative URI against a given base, in effect just
turning it into a proper repository URI (ftss://...) if no base
is given for a relative path</description>
      <result>unknown</result>
      <argument required="yes" name="uri"/>
      <argument name="base"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-creation-date">
      <description>Get the date the resource was created</description>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-owner">
      <description>Get the owner of the resource</description>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-raw-content">
      <description>Get the string content of this resource as a raw Unicode object

path - the repository path to the object to retrieve
encoding - the encoding to use in converting the content to Unicode</description>
      <result>unknown</result>
      <argument name="path"/>
      <argument name="encoding"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/rdf" name="frdf:complete">
      <description>Runs a complete on the repository model, which matches patterns
among the triples in the model.  You provide whichever of the
subject, predicate and object you'd like to match, and use
the frdf:any() function as a wildcard.  The return value is a generated
node set which has one or more &quot;Statement&quot; elements, each with 5
children: &quot;Subject&quot;, &quot;Predicate&quot;, &quot;Object&quot;, &quot;StatementUri&quot;, &quot;Scope&quot;
which represent the respective components of the RDF statement.

for example:

frdf:complete(&quot;http://spam.com&quot;, frdf:any(), frdf:any())

would return all statements with &quot;http://spam.com&quot; as the subjects.</description>
      <result>unknown</result>
      <argument required="yes" name="subj"/>
      <argument required="yes" name="pred"/>
      <argument name="obj"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-metadata-resource">
      <description>Get the string meta data of this resource</description>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:uri-to-repo-path">
      <description>Convert a repository path (e.g. &quot;/spam/eggs&quot;) to a proper repository URI
e.g. (&quot;ftss:///spam/eggs&quot;)</description>
      <result>unknown</result>
      <argument required="yes" name="uri"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-current-user">
      <description>Get the resource (path) for the current user</description>
      <result>unknown</result>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-absolute-path">
      <description>Get the full path into the system, resolving aliases if needed</description>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-content">
      <description>Get the string content of this resource as an XPath string object

path - the repository path to the object to retrieve
encoding - the encoding to use in converting the content to Unicode</description>
      <result>unknown</result>
      <argument name="path"/>
      <argument name="encoding"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/http" name="fhttp:local-path">
      <description>Given a repo path, returns a repo path that is relative to the
HTTP handler's document root, if possible. Otherwise, returns
the given path unchanged.</description>
      <result>unknown</result>
      <argument required="yes" name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-base-definitions">
      <description/>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:resource-type">
      <description>Get the resource type of the resource</description>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-user-data-keys">
      <description>Gets the names of properties associated with a user</description>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:has-session">
      <description>See if this connection is in a session</description>
      <result>unknown</result>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:get-derived-definitions">
      <description/>
      <result>unknown</result>
      <argument name="path"/>
    </function>
    <function namespace-uri="http://xmlns.4suite.org/4ss/http" name="fhttp:get-query-args">
      <description>fhttp:get-query-args() returns a node-set consisting of
one 'requestParameters' element, containing one child
element for each item in the HTTP request parameters,
a.k.a. the query arguments (typically HTML form data).

The HTTP server will have already decoded the parameters
and made them available to the XSLT processor; this
function merely provides access to that data as a
node-set. The parameter name becomes the element name,
and the value is the element's content. If there are
multiple parameters with the same name, they'll manifest
as separate elements.</description>
      <result>unknown</result>
    </function>
  </functions>
  <elements>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:create-group">
      <description>Creates a new group with the specified path.  A group is a set of users
and other groups.</description>
      <attribute content="{ uri-reference }" required="yes" name="path">
        <description>The path for the new group</description>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="base-path">
        <description>The base-uri to use for relative path</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:remove-ns-map">
      <description>Change the namespace mapping of this doc def.</description>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the document definition</description>
      </attribute>
      <attribute content="{ prefixes }" required="yes" name="prefix">
        <description>A whitespace-separated list of namespace prefixes to remove.</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/rdf" name="frdf:add">
      <description>Adds statements to the repository model.  The subject,
predicates and objects can be strings or node sets
node sets are converted to a list of strings by taking
the string value of each item.  String values are treated
a list with one string.  The cartesian product of
statements that come from the list of subject, predicate
and object strings are all added to the model using the
given scope and statement URI.</description>
      <attribute content="string-expression" required="no" name="stmt-uri">
        <description>The statement uri</description>
      </attribute>
      <attribute content="expression" required="no" name="o">
        <description>The object</description>
      </attribute>
      <attribute content="expression" required="no" name="p">
        <description>The predicate</description>
      </attribute>
      <attribute content="expression" required="no" name="s">
        <description>The subject</description>
      </attribute>
      <attribute content="string-expression" required="no" name="scope">
        <description>The scope of the statement</description>
      </attribute>
      <attribute content="expression" required="no" name="type">
        <description>The type (or xml:lang) of the object</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/http" name="fhttp:request-headers">
      <description/>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/rdf" name="frdf:remove">
      <description>Removes statements to the repository model.  The subject,
predicates and objects can be strings or node sets
node sets are converted to a list of strings by taking
the string value of each item.  String values are treated
a list with one string.  The cartesian product of
statements that come from the list of subject, predicate
and object strings and that match the given scope and
statement URI are all removed from the model.</description>
      <attribute content="{ &quot;normal&quot; | &quot;regex&quot; | &quot;ignore-case&quot; | &quot;regex-ignore-case&quot; }" default="normal" required="no" name="s-flags">
        <description>Indicates the method for matching the value of the subject argument</description>
      </attribute>
      <attribute content="string-expression" required="no" name="stmt-uri">
        <description>The statement uri</description>
      </attribute>
      <attribute content="{ &quot;normal&quot; | &quot;regex&quot; | &quot;ignore-case&quot; | &quot;regex-ignore-case&quot; }" default="normal" required="no" name="p-flags">
        <description>Indicates the method for matching the value of the predicate argument</description>
      </attribute>
      <attribute content="expression" required="no" name="o">
        <description>The object</description>
      </attribute>
      <attribute content="{ &quot;normal&quot; | &quot;regex&quot; | &quot;ignore-case&quot; | &quot;regex-ignore-case&quot; }" default="normal" required="no" name="scope-flags">
        <description>Indicates the method for matching the value of the scope argument</description>
      </attribute>
      <attribute content="expression" required="no" name="p">
        <description>The predicate</description>
      </attribute>
      <attribute content="expression" required="no" name="s">
        <description>The subject</description>
      </attribute>
      <attribute content="{ &quot;normal&quot; | &quot;regex&quot; | &quot;ignore-case&quot; | &quot;regex-ignore-case&quot; }" default="normal" required="no" name="stmt-uri-flags">
        <description>Indicates the method for matching the value of the statement URI argument</description>
      </attribute>
      <attribute content="{ &quot;normal&quot; | &quot;regex&quot; | &quot;ignore-case&quot; | &quot;regex-ignore-case&quot; }" default="normal" required="no" name="o-flags">
        <description>Indicates the method for matching the value of the object argument</description>
      </attribute>
      <attribute content="string-expression" required="no" name="scope">
        <description>The scope of the statement</description>
      </attribute>
      <attribute content="expression" required="no" name="type">
        <description>The type (or xml:lang) of the object</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:change-password">
      <description>Changes the password of the specified user resource.</description>
      <attribute content="{ string }" required="no" name="new-password">
        <description>The new password. If not specified, will remove the password for this user.</description>
      </attribute>
      <attribute content="{ uri-reference }" required="yes" name="path">
        <description>The path of the user</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:set-content">
      <description>Set the string content of the resource with the given path, document
definition and type.  The output of the body of the element makes up
the content of the resulting document, either literally or as a
result of the contained XSLT instructions (according to the
literal-content attribute).
All the attributes available on the xsl:output instruction are also
allowed on this element, in order to control the creation of the content.
If the resource is a document whose definition specifies a full text
index, then the content is re-indexed</description>
      <content>/template/</content>
      <attribute content="{ string }" required="no" name="media-type">
        <description/>
      </attribute>
      <attribute content="{ &quot;yes&quot; | &quot;no&quot; }" required="no" name="indent">
        <description/>
      </attribute>
      <attribute content="{ string }" required="no" name="doctype-system">
        <description/>
      </attribute>
      <attribute content="{ string }" required="no" name="encoding">
        <description/>
      </attribute>
      <attribute content="{ &quot;yes&quot; | &quot;no&quot; }" required="no" name="standalone">
        <description/>
      </attribute>
      <attribute content="{ &quot;yes&quot; | &quot;no&quot; }" required="no" name="omit-xml-declaration">
        <description/>
      </attribute>
      <attribute content="{ string }" required="no" name="doctype-public">
        <description/>
      </attribute>
      <attribute content="&quot;yes&quot; | &quot;no&quot;" required="no" name="content-as-string">
        <description>Deprecated - use literal-content now</description>
      </attribute>
      <attribute content="&quot;yes&quot; | &quot;no&quot;" default="no" required="no" name="literal-content">
        <description>If yes, treat the content literally, i.e. do not execute any XSLT instructions or extensions</description>
      </attribute>
      <attribute content="{ nmtoken }" required="no" name="version">
        <description/>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the resource to modify</description>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="base-path">
        <description>The base to use for relative paths</description>
      </attribute>
      <attribute content="{ qname }" required="no" name="method">
        <description/>
      </attribute>
      <attribute content="{ qnames }" required="no" name="cdata-section-elements">
        <description/>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:create-uri-reference">
      <description>Creates a new uri reference resource.  A URI reference resource is
a special object that references an external URI (which can be a file)
and loads its contents whenever the resource is requested.  It behaves
in some ways similar to a soft link in UNIX.</description>
      <attribute content="{ uri-reference }" required="yes" name="path">
        <description>The path for the new uri-reference</description>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="source-uri">
        <description>The source uri of the resource being referenced</description>
      </attribute>
      <attribute content="{ string }" required="no" name="imt">
        <description>The internet media-type (MIME content-type)</description>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="base-path">
        <description>The base to use for relative path</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:add-rdf-map">
      <description>Change the rdf mapping of this doc def.</description>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the document definition</description>
      </attribute>
      <attribute content="{ string }" required="yes" name="predicate">
        <description>The predicate to add.</description>
      </attribute>
      <attribute content="{ string }" required="yes" name="object">
        <description>The object to add.</description>
      </attribute>
      <attribute content="{ &quot;yes&quot; | &quot;no&quot; }" required="yes" name="object-is-resource">
        <description>Is the object a resource?</description>
      </attribute>
      <attribute content="{ string }" required="yes" name="subject">
        <description>The subject to add.</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/http" name="fhttp:response-uri">
      <description/>
      <attribute content="{ uri-reference }" required="yes" name="uri">
        <description>The URI to use for the response redirect.</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:remove-base-document-definition">
      <description>Remove a document definition from a document definition's base defs.</description>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the document</description>
      </attribute>
      <attribute content="{ uri-reference }" required="yes" name="docdef">
        <description>The document definition to use</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:create-user">
      <description>Create a new user in the system</description>
      <attribute content="{ string }" required="yes" name="username">
        <description>The name of the user to create</description>
      </attribute>
      <attribute content="{ string }" required="yes" name="password">
        <description>The initial password for new user</description>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="base-path">
        <description>The base path to be used for creating this user. If not specified, uses the path of the source document.</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:add-member">
      <description>Adds a user or group to the specified group</description>
      <attribute content="{ uri-reference }" required="yes" name="path">
        <description>The path of the group to which to add this member.</description>
      </attribute>
      <attribute content="{ uri-reference }" required="yes" name="member-path">
        <description>The path of the new member (user or group) to add to this group.</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:create-session">
      <description>Create a new repository session.  This allows implicit log in on all requests, and the management of persistent state data.</description>
      <attribute content="{ string }" required="no" name="key">
        <description>The session key to use.  If omitted, a session key is generated for you.</description>
      </attribute>
      <attribute content="{ number }" required="no" name="ttl">
        <description>The time to live for the session.  If omitted, the driver default is used (usually 15 minutes)</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/rdf" name="frdf:deserialize-and-remove">
      <description>Deserializes an RDF document into statements, and removes any statements
in the given scope with matching triple values.

The content of the frdf:deserialize-and-remove element is a template for
the RDF/XML source from which the statements are parsed.</description>
      <content>/template/</content>
      <attribute content="{ uri-reference }" required="yes" name="path">
        <description>The path of the RDF resource in the repository</description>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="base-path">
        <description>The base to use for relative paths</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:delete-resource">
      <description>Delete this resource</description>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the resource to delete</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:repo-text-reindex">
      <description>Trigger a re-indexing for full-text in the repository
(Requires SWISH-E as supporting software)</description>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:x-update">
      <description>Allows XML content to be updated with the XUpdate protocol

The content of the fcore:xupdate element is a template for
the XUpdate document source.</description>
      <content>/template/</content>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the resource to apply XUpdate to</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:create-document">
      <description>Creates a document with the given path, document definition and type.
The output of the body of the element makes up the content of the
resulting document.  All the attributes available on the xsl:output
instruction are also allowed on this element, in order to control the
generation of the document.
If the document type is not specified, and the internet media type of
the source is XML, the type will be inferred from the content,
if possible.
If path is an empty string, then a UUID will be generated for
the file name, which will be placed in the container that holds the source
document of the transform.
If the document definition specifies a full text index, then
the content is indexed

The content of the fcore:create-document element is a template; this is
instantiated to create a sequence of nodes; a root node is created with
this sequence of nodes as its children; the tree with this root node
represents the subsidiary result document.</description>
      <content>/template/</content>
      <attribute content="{ uri-reference }" required="no" name="docdef">
        <description>The document definition to use</description>
      </attribute>
      <attribute content="{ string }" default="text/xml" required="no" name="media-type">
        <description>Specifies the internet media type for the new resource</description>
      </attribute>
      <attribute content="{ &quot;yes&quot; | &quot;no&quot; }" required="no" name="indent">
        <description/>
      </attribute>
      <attribute content="{ string }" required="no" name="doctype-system">
        <description/>
      </attribute>
      <attribute content="{ string }" required="no" name="encoding">
        <description/>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="base-path">
        <description>The base to use for relative paths</description>
      </attribute>
      <attribute content="{ &quot;yes&quot; | &quot;no&quot; }" required="no" name="standalone">
        <description/>
      </attribute>
      <attribute content="{ &quot;yes&quot; | &quot;no&quot; }" required="no" name="omit-xml-declaration">
        <description/>
      </attribute>
      <attribute content="{ string }" required="no" name="doctype-public">
        <description/>
      </attribute>
      <attribute content="{ nmtoken }" required="no" name="version">
        <description/>
      </attribute>
      <attribute content="{ string }" default="text/xml" required="no" name="imt">
        <description>(deprecated: see media-type)</description>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path for the new document</description>
      </attribute>
      <attribute content="{ string }" required="no" name="type">
        <description>Specifies the resource type to create</description>
      </attribute>
      <attribute content="{ qname }" required="no" name="method">
        <description/>
      </attribute>
      <attribute content="{ qnames }" required="no" name="cdata-section-elements">
        <description/>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/rdf" name="frdf:versa-assign">
      <description>Execute a Versa query and assign the result to a Versa variable,
for use in further queries.  The variable becomes bound in the
Versa context for the current stylesheet invokation, and thus will
be defined on all Versa queries performed subsequently, through
&lt;frdf:versa-query&gt; or &lt;frdf:versa-assign&gt;.

The content of the frdf:versa-assign element is a template for the
extra namespace mappings for the query (see /ftss/dashboard/NsMappings.xml
for an example of the xml format).

For example, if you have the following:

&lt;frdf:versa-assign query=&quot;type(rdfs:Class)&quot; name=&quot;classes&quot;/&gt;

You can later execute

&lt;frdf:versa-query query=&quot;$classes - rdfs:label -&gt; *&quot;/&gt;</description>
      <content>/template/</content>
      <attribute content="{ string }" required="yes" name="query">
        <description>The Versa query string</description>
      </attribute>
      <attribute content="{ qname }" required="yes" name="name">
        <description>Name of the Versa variable to which to assign results of this query</description>
      </attribute>
      <attribute content="{ string }" required="no" name="scope">
        <description>Narrow the versa query to the given scope</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/rdf" name="frdf:versa-query">
      <description>Execute a Versa query and put the results in serialized XML form to the
XSLT processor output.

The content of the frdf:versa-query element is a template for the
extra namespace mappings for the query (see /ftss/dashboard/NsMappings.xml
for an example of the xml format).

The form of the Versa output is as documented in
http://rdfinference.org/versa-xml.</description>
      <content>/template/</content>
      <attribute content="{ string }" required="yes" name="query">
        <description>The query string</description>
      </attribute>
      <attribute content="{ string }" required="no" name="scope">
        <description>Narrow the versa query to the given scope</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:add-acl">
      <description>Add access for an given identifer and level to the ACL of a resource</description>
      <attribute content="{ string }" required="yes" name="access">
        <description>The access level or type.  The built-in ACL levels are "read" | "write" | "write user model" | "execute" | "delete" | "change owner" | "change permissions"</description>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the resource where to add the ACL. If not given, the source document is used.</description>
      </attribute>
      <attribute content="{ string }" required="yes" name="ident">
        <description>The ACL identifier (a user or group identifier)</description>
      </attribute>
      <attribute content="{ &quot;yes&quot; | &quot;no&quot; }" default="yes" required="no" name="allowed">
        <description>Allow or deny this type of access</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:remove-rdf-map">
      <description>Change the rdf mapping of this doc def.</description>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the document definition</description>
      </attribute>
      <attribute content="{ string }" required="yes" name="predicate">
        <description>The predicate to add.</description>
      </attribute>
      <attribute content="{ string }" required="yes" name="object">
        <description>The object to add.</description>
      </attribute>
      <attribute content="{ string }" required="yes" name="subject">
        <description>The subject to add.</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:mark-temporary">
      <description>Mark a resource as temporary</description>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the resource to mark as temporary. Defaults to current.</description>
      </attribute>
      <attribute content="{ number }" required="yes" name="time-to-live">
        <description>The time in seconds from now that the resource is to live.</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:set-acl">
      <description>Reset the ACL for a resource, and then optionally add access for an
given identifer and level to the ACL of a resource</description>
      <attribute content="{ string }" required="yes" name="access">
        <description>The access level or type.  The built-in ACL levels are "read" | "write" | "write user model" | "execute" | "delete" | "change owner" | "change permissions"</description>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the resource where to set the ACL. If not given, the source document is used.</description>
      </attribute>
      <attribute content="{ string }" required="yes" name="ident">
        <description>The ACL identifier (user or group)</description>
      </attribute>
      <attribute content="{ &quot;yes&quot; | &quot;no&quot; }" default="yes" required="no" name="allowed">
        <description>Allow or deny this type of access</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:create-raw-file">
      <description>Creates a raw file resource, using the specified path and
internet media type.
The output of the body of the element makes up the content of the
resulting document.  All the attributes available on the xsl:output
instruction are also allowed on this element, in order to control the
generation of the document.

In order to set the IMT, use the media-type attribute
The default is text/plain
There is also a special value for the method attribute
method=&quot;binary&quot; is equivalent to method=&quot;text&quot; and
encoding=&quot;latin-1&quot; (to simulate the binary byte stream)</description>
      <content>/template/</content>
      <attribute content="{ string }" default="text/plain" required="no" name="media-type">
        <description>Specifies the internet media type for the new resource</description>
      </attribute>
      <attribute content="{ &quot;yes&quot; | &quot;no&quot; }" required="no" name="indent">
        <description/>
      </attribute>
      <attribute content="{ string }" required="no" name="doctype-system">
        <description/>
      </attribute>
      <attribute content="{ string }" required="no" name="encoding">
        <description/>
      </attribute>
      <attribute content="{ &quot;yes&quot; | &quot;no&quot; }" required="no" name="standalone">
        <description/>
      </attribute>
      <attribute content="{ &quot;yes&quot; | &quot;no&quot; }" required="no" name="omit-xml-declaration">
        <description/>
      </attribute>
      <attribute content="&quot;yes&quot; | &quot;no&quot;" required="no" name="content-as-string">
        <description>Specifies whether or not to assume the child argument is a string</description>
      </attribute>
      <attribute content="{ string }" required="no" name="doctype-public">
        <description/>
      </attribute>
      <attribute content="{ nmtoken }" required="no" name="version">
        <description/>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path for the new raw file</description>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="base-path">
        <description>The base to use for relative paths</description>
      </attribute>
      <attribute content="{ qname }" required="no" name="method">
        <description/>
      </attribute>
      <attribute content="{ qnames }" required="no" name="cdata-section-elements">
        <description/>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:set-username">
      <description>Set the username of a user resource.</description>
      <attribute content="{ uri-reference }" required="yes" name="path">
        <description>The path of the user</description>
      </attribute>
      <attribute content="{ string }" required="yes" name="new-name">
        <description>The new name</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/rdf" name="frdf:visualize">
      <description>This extension element uses GraphViz to generate a diagram of a given
resource, a set of resources in a particular scope, or of the entire
system model. It adds an HTML imagemap (a chunk of text that can be
placed in a MAP element) to the result tree, and has the side effect
of generating in the repository an SVG or JPEG image resource
representing the corresponding diagram.

output-path specifies the repo path of the diagram to generate. If the
resource exists already, its content will be overwritten.

If provided, resourcePath must to refer to either a specific resource in
the system model or an RDF document in the repository. If it refers to an
RDF document, then all RDF statements with that document's URI as their
scope will be graphed. If the resourcePath refers to any other kind of
resource, then only statements about it will be graphed. If no
resourcePath is specified, then the entire system model will be graphed.

The image map text placed in the result tree uses the uriFormat string
to generate (by appying the uris of all resources against this string)
the links for all resources in the image. imagemap information is
generated and returned only if the uriFormat string is specified.

Most RDF graphs are width heavy and the visualizer can be told to rotate
the image 90 degrees which can be helpful far larger graphs (which could
great widths).  This is specified by the rotate attribute. If present,
the graph is rotated, otherwise it isn't.

The max-arcs attribute specifies the maximum number of arcs. If the graph
requires more arcs, then nothing will be generated at all.

This element can also take a versa query result as its child nodes. In
this case, all the resources in the result are graphed and resource-path
is ignored.</description>
      <content>/template/</content>
      <attribute content="{ &quot;yes&quot; | &quot;no&quot; }" default="no" required="no" name="rotate">
        <description>Whether to rotate the graph image by 90 degrees.</description>
      </attribute>
      <attribute content="{ &quot;yes&quot; | &quot;no&quot; }" default="no" required="no" name="scoped">
        <description>Whether to render RDF documents asscoped mini-graphs</description>
      </attribute>
      <attribute content="{ uri-reference }" required="yes" name="output-path">
        <description>The name of the diagram resource to be created</description>
      </attribute>
      <attribute content="{ &quot;yes&quot; | &quot;no&quot; }" default="no" required="no" name="svg">
        <description>generate an svg diagram?</description>
      </attribute>
      <attribute content="{ number }" default="300" required="no" name="max-arcs">
        <description>The maximum number of arcs to allow</description>
      </attribute>
      <attribute content="{ string }" required="no" name="resourcePath">
        <description>A resource in the repository to graph</description>
      </attribute>
      <attribute content="{ uri-reference }" required="yes" name="graph-vis">
        <description>The directory in which 'graphViz' executable is located.</description>
      </attribute>
      <attribute content="{ id }" required="no" name="map-name">
        <description>The ID to use for the image-map</description>
      </attribute>
      <attribute content="{ string }" required="no" name="uri-format">
        <description>A format string to use for the image-map links. Every uri in the graph is applied against this string.</description>
      </attribute>
      <attribute content="{ string }" default="/ftss/dashboard/NsMappings.xml" required="no" name="namespaces">
        <description>The location in repository of a namespace mapping document to use for retrieving additional namespaces to truncate predicate names with</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:set-creation-params">
      <description>Change the creation params of a document definition.

The content of the fcore:set-creation-params element is a template for
the new creation params in serialized format.</description>
      <content>/template/</content>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path for the new document</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:repo-text-search">
      <description>Invoke the full-text search to find text in the repository
(Requires SWISH-E as supporting software)</description>
      <attribute content="{ string }" required="yes" name="query">
        <description>The string to search for</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:add-ns-map">
      <description>Change the namespace mapping of this doc def.</description>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the document definition</description>
      </attribute>
      <attribute content="{ prefix }" required="yes" name="prefix">
        <description>The prefix to add.</description>
      </attribute>
      <attribute content="{ uri-reference }" required="yes" name="uri">
        <description>The uri to add.</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:set-owner">
      <description>Change the owner of a resource</description>
      <attribute content="{ uri-reference }" required="yes" name="owner">
        <description>The path to the new owner</description>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the resource to change the IMT of. If not given, the source document is used.</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/util" name="futil:xml-rpc-invoke">
      <description>Invoke an XML-RPC server at a remote URI (Requires Python 2.2 or above)
There are 5 attributes, p1, p2... which are used for the positional
arguments to the remote method [this will be made less kludgy soon]
Each one is an expression which follows the following conversion rules
from the XPath data model:

    string -&gt; string
    number -&gt; floating-point number
    boolean -&gt; boolean
    node set -&gt; array of strings

You can also coerce the value to a certain type by using an attribute
of the form t1, t2,... corresponding to the pN attribute with one of the
following string values:

INT
DOUBLE
STRING
BOOLEAN

The return value is converted into an XML fragment representation,
which is sent to output.

    string -&gt; &lt;String&gt;[value]&lt;/String&gt;
    floating-point number -&gt; &lt;Double&gt;[value]&lt;/Double&gt;
    boolean -&gt; boolean &lt;Boolean&gt;[&quot;true&quot; or &quot;false&quot;]&lt;/Boolean&gt;
    array -&gt; &lt;Array&gt;[sequence of child elements as above, according to array elements]&lt;/Array&gt;

An example of an array:

    &lt;Array&gt;
      &lt;String&gt;a string&lt;/String&gt;
      &lt;Float&gt;123.4&lt;/Float&gt;
      &lt;Int&gt;1234&lt;/Int&gt;
      &lt;String&gt;another string&lt;/String&gt;
    &lt;/Array&gt;

This means that in order to access a remote method

obj.spam('eggs', 3)

On a remote server at

http://spam.com/xmlrpcserver

And save the result of XSLT variable &quot;monty&quot;,
you can use the following XSLT snippet:

&lt;xsl:variable name=&quot;monty&quot;&gt;
  &lt;futil:xml-rpc-invoke uri=&quot;http://spam.com/xmlrpcserver&quot;
                        method=&quot;obj.spam&quot;
                        p1=&quot;'eggs'&quot;
                        p2=&quot;3&quot; t2=&quot;INT&quot;/&gt;
&lt;/xsl:variable&gt;

No type coercion is used for p1 because XSLT string are generally
unambiguous in converting to XML-RPC.  However, the second param
could be integer or double, so it is coerced (default is double).

Beware that if an array is returned, you might need to use
the exslt:node-set function to convert from result tree fragment
to node set.</description>
      <attribute content="expression" required="no" name="p2">
        <description>The second parameter for the remote server</description>
      </attribute>
      <attribute content="expression" required="no" name="p3">
        <description>The third parameter for the remote server</description>
      </attribute>
      <attribute content="expression" required="no" name="p1">
        <description>The first parameter for the remote server</description>
      </attribute>
      <attribute content="expression" required="no" name="p4">
        <description>The fourth parameter for the remote server</description>
      </attribute>
      <attribute content="expression" required="no" name="p5">
        <description>The fifth parameter for the remote server</description>
      </attribute>
      <attribute content="expression" required="no" name="t4">
        <description>Optional type spec for the The fourth parameter</description>
      </attribute>
      <attribute content="expression" required="no" name="t5">
        <description>Optional type spec for the The fifth parameter</description>
      </attribute>
      <attribute content="expression" required="no" name="t2">
        <description>Optional type spec for the The second parameter</description>
      </attribute>
      <attribute content="{ uri-reference }" required="yes" name="uri">
        <description>The URI of the remote server</description>
      </attribute>
      <attribute content="expression" required="no" name="t1">
        <description>Optional type spec for the first parameter</description>
      </attribute>
      <attribute content="expression" required="no" name="t3">
        <description>Optional type spec for the The third parameter</description>
      </attribute>
      <attribute content="{ string }" required="yes" name="method">
        <description>The method name to be invoked</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:rollback">
      <description>Abort the current transaction (governing the current XSLT operation)
which will undo all repository operations</description>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:create-container">
      <description>Creates a container, if createParents is true then all its parents along
the path are created (if they dont exist).  createParents defaults to
false if not set.  The base-path attribute is the base to use for the
new containers path, if relative. If not specified it uses the path of
the source document.</description>
      <attribute content="{ uri-reference }" required="yes" name="path">
        <description>The path for the new container</description>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="base-path">
        <description>The base to use for relative path</description>
      </attribute>
      <attribute content="{ &quot;yes&quot; | &quot;no&quot; }" default="yes" required="no" name="create-parents">
        <description>Create any parent containers of the specified container that do not already exist.</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:session-data">
      <description>Sets a key/value pair in the data for the current session data,
for persistence in the user agent
If the &quot;value&quot; attribute is used, the resulting string is the session
entry value.  If this attribute is omitted, a node set is the resulting
value, whose sole entry is the root node of the result tree fragment
from instantiating the template that makes up the content of this element.</description>
      <content>/template/</content>
      <attribute content="{ string }" required="no" name="value">
        <description>A string value for the session datum</description>
      </attribute>
      <attribute content="{ string }" required="yes" name="key">
        <description>The session key to use</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:set-imt">
      <description>Change the IMT of a resource</description>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the resource to change the IMT of. Defaults to current.</description>
      </attribute>
      <attribute content="{ string }" required="yes" name="imt">
        <description>The new IMT</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:login">
      <description>Log in a user and create a new repository session accordingly,
establishing a session for the logged in user with implicit log in on
all subsequent requests from that agent until timeout.  Sessions also
support the management of persistent state data.
When the repo session eventually times out, the user is redirected
to timeout-redirect on the next request.</description>
      <attribute content="{ string }" required="no" name="failure-redirect">
        <description>A URI to redirect to if the login fails. Defaults to the current page.</description>
      </attribute>
      <attribute content="{ string }" required="no" name="success-redirect">
        <description>A URI to redirect to if the login succeeds. Defaults to the current page.</description>
      </attribute>
      <attribute content="{ string }" required="yes" name="user">
        <description>The 4Suite user name</description>
      </attribute>
      <attribute content="{ number }" required="no" name="ttl">
        <description>The time to live (in seconds) for the session. If omitted, the driver default is used (usually 15 minutes)</description>
      </attribute>
      <attribute content="{ string }" required="no" name="timeout-redirect">
        <description>A URI to redirect to for requests after the session eventually times out. Defaults to the current page.</description>
      </attribute>
      <attribute content="{ string }" required="yes" name="password">
        <description>The 4Suite user password</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:remove-acl">
      <description>Remove the ACL from a resource</description>
      <attribute content="{ string }" required="yes" name="access">
        <description>The access level or type.  The built-in ACL levels are "read" | "write" | "write user model" | "execute" | "delete" | "change owner" | "change permissions"</description>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the resource where to add the ACL. If not given, the source document is used.</description>
      </attribute>
      <attribute content="{ string }" required="yes" name="ident">
        <description>The ACL identifier (user or group)</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/rdf" name="frdf:complete">
      <description/>
      <attribute content="{ &quot;normal&quot; | &quot;regex&quot; | &quot;ignore-case&quot; | &quot;regex-ignore-case&quot; }" default="normal" required="no" name="s-flags">
        <description>Indicates the method for matching the value of the subject argument</description>
      </attribute>
      <attribute content="string-expression" required="no" name="stmt-uri">
        <description>The statement uri</description>
      </attribute>
      <attribute content="{ &quot;normal&quot; | &quot;regex&quot; | &quot;ignore-case&quot; | &quot;regex-ignore-case&quot; }" default="normal" required="no" name="p-flags">
        <description>Indicates the method for matching the value of the predicate argument</description>
      </attribute>
      <attribute content="expression" required="no" name="o">
        <description>The object</description>
      </attribute>
      <attribute content="{ &quot;normal&quot; | &quot;regex&quot; | &quot;ignore-case&quot; | &quot;regex-ignore-case&quot; }" default="normal" required="no" name="scope-flags">
        <description>Indicates the method for matching the value of the scope argument</description>
      </attribute>
      <attribute content="expression" required="no" name="p">
        <description>The predicate</description>
      </attribute>
      <attribute content="expression" required="no" name="s">
        <description>The subject</description>
      </attribute>
      <attribute content="{ &quot;normal&quot; | &quot;regex&quot; | &quot;ignore-case&quot; | &quot;regex-ignore-case&quot; }" default="normal" required="no" name="stmt-uri-flags">
        <description>Indicates the method for matching the value of the statement URI argument</description>
      </attribute>
      <attribute content="{ &quot;normal&quot; | &quot;regex&quot; | &quot;ignore-case&quot; | &quot;regex-ignore-case&quot; }" default="normal" required="no" name="o-flags">
        <description>Indicates the method for matching the value of the object argument</description>
      </attribute>
      <attribute content="string-expression" required="no" name="scope">
        <description>The scope of the statement</description>
      </attribute>
      <attribute content="expression" required="no" name="type">
        <description>The type (or xml:lang) of the object</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:remove-member">
      <description>Removes a user or group from the specified group</description>
      <attribute content="{ uri-reference }" required="yes" name="path">
        <description>The path of the group to which to remove this member.</description>
      </attribute>
      <attribute content="{ uri-reference }" required="yes" name="member-path">
        <description>The path of the member (user or group) to remove from this group.</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:add-base-document-definition">
      <description>Add a new document definition to a document definition's base defs.</description>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the document</description>
      </attribute>
      <attribute content="{ uri-reference }" required="yes" name="docdef">
        <description>The document definition to use</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/rdf" name="frdf:deserialize-and-add">
      <description>Deserializes an RDF document into statements, and adds them to a
scope

The content of the frdf:deserialize-and-add element is a template for the
RDF/XML source from which the statements are parsed.</description>
      <content>/template/</content>
      <attribute content="{ uri-reference }" required="yes" name="path">
        <description>The path of the RDF resource in the repository</description>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="base-path">
        <description>The base to use for relative paths</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:add-alias">
      <description>Adds an alias for this resource to the repository.</description>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the resource to add an alias too. Defaults to current.</description>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="doc-def">
        <description>The document definition to use for the new alias</description>
      </attribute>
      <attribute content="{ uri-reference }" required="yes" name="alias">
        <description>The path of the new alias</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:set-document-definition">
      <description>Change the Document Definition of a XML document</description>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the resource to change the IMT of. Defaults to current.</description>
      </attribute>
      <attribute content="{ string }" required="yes" name="docdef">
        <description>The new Document Definition</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:set-reference">
      <description>Change what a URI reference references.</description>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the document</description>
      </attribute>
      <attribute content="{ uri-reference }" required="yes" name="reference">
        <description>The new URI</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:remove-alias">
      <description>Remove an alias for this resource from the repository.</description>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the resource to add an alias to. Defaults to current.</description>
      </attribute>
      <attribute content="{ uri-reference }" required="yes" name="alias">
        <description>The path of the new alias</description>
      </attribute>
    </element>
    <element namespace-uri="http://xmlns.4suite.org/4ss/score" name="fcore:inherit-acl">
      <description>Set the inheritance ACL of a resource</description>
      <attribute content="{ string }" required="yes" name="access">
        <description>The access level or type.  The built-in ACL levels are "read" | "write" | "write user model" | "execute" | "delete" | "change owner" | "change permissions"</description>
      </attribute>
      <attribute content="{ uri-reference }" required="no" name="path">
        <description>The path of the resource where to set the ACL. If not given, the source document is used.</description>
      </attribute>
    </element>
  </elements>
</ext-module>
