You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by re...@locus.apache.org on 2000/07/08 00:47:57 UTC
cvs commit: jakarta-slide/src/doc/style slide.xsl
remm 00/07/07 15:47:57
Modified: src/doc conf-lib.xml examples.xml index.xml project.xml
src/doc/style slide.xsl
Added: src/doc/samples avalon-conf.sample noavalon-conf.sample
Log:
- Documentation on Slide's various configuration files
- Cleaned up a bit the layout of the documentation
Revision Changes Path
1.3 +472 -55 jakarta-slide/src/doc/conf-lib.xml
Index: conf-lib.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/conf-lib.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- conf-lib.xml 2000/05/24 18:41:52 1.2
+++ conf-lib.xml 2000/07/07 22:47:50 1.3
@@ -1,95 +1,512 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<document>
- <meta>
- <title>Configuration, Libraries and Building</title>
- <author email="boisvert@exoffice.com"/>
- <copyright>Copyright (c) 2000 Exolab, Inc.</copyright>
- </meta>
-
- <body numbering="true">
- <table-of-contents/>
-
- <section title="The Slide configuration file">
-
- <p>Slide uses a configuration file for environmental properties that are shared across all the Slide sub systems. The configuration file is specified as a Java properties file with the name <tt>slide.properties</tt>.</p>
+<document url="./conf-lib.xml">
+ <body>
+ <title>First Steps with Slide</title>
+
+ <section title="The Slide properties file">
+
+ <p>
+ Slide uses a configuration file for environmental properties that
+ is used to define some global options for Slide. Those options affect
+ the general behavior of the Slide Content Management Framework, and
+ can be used for example to completely disable security. Therefore, the
+ security of the slide.proporties file is crucial, and access to it
+ should be restricted to the server administrator. These properties are
+ specified in a Java properties file with the name
+ <tt>slide.properties</tt>.
+ </p>
- <p>The Slide JAR includes a default configuration file. A configuration
- file in the Java library directory (e.g. <tt>/jdk1.2/lib</tt>) can be used to override the default configuration file with system wide properties. In addition, a configuration file can be placed in the classpath and will override both the system wide properties and default configuration.
+ <p>
+ The Slide JAR includes a default configuration file. A configuration
+ file in the Java library directory (e.g. <tt>/jdk1.2/lib</tt>) can be
+ used to override the default configuration file with system wide
+ properties. In addition, a configuration file can be placed in the
+ classpath and will override both the system wide properties and
+ default configuration.
</p>
- <p>When running the provided examples, Slide will use the configuration
- file located in the examples directory which specifies additional
- debugging information and pretty printing of all produced XML
- documents.
+ <p>
+ When running the provided examples, Slide will use the configuration
+ file located in the examples directory which specifies additional
+ debugging information and pretty printing of all produced XML
+ documents.
</p>
- <p>The following properties are currently supported in the configuration file:
+ <p>
+ The following properties are currently supported in the configuration
+ file:
</p>
+
+ <p>
<pre>
- # Domain XML definition file
+ # Domain XML definition file. This is the Slide configuration file
+ # (see below).
+ # This value is ignored when running on top of Avalon, as Avalon have its own
+ # way of handling blocks configuration. See the Avalon documentation on the
+ # Avalon website for more information.
# Default : Will look for domain.xml in current directory
#org.exolab.slide.domain=domain.xml
- # Automatically perform security checks
+ # Automatically perform security checks. If set to false, no security checks
+ # will be performed. It's equivalent to giving root access to each principal.
# Default : true
#org.exolab.slide.security=true
- # Automatically perform locking checks
+ # Automatically perform locking checks. Locking is disabled if set to false.
# Default : true
#org.exolab.slide.lock=true
</pre>
+ </p>
+
</section>
- <section title="Dependent Libraries">
+ <section title="Dependencies with external libraries">
- <p>JARs required to build Slide and dependencies for various packages
- are contained in the <tt>lib</tt> directory. JARs required for
- distribution are marked with bold text:
-<pre>
- ant.jar The Ant build tool
- <b>castor.jar</b> Castor binary package
- hSql.jar Hypersonic SQL
- jasper.jar JSP and Sevlet engine from Tomcat
- <b>jndi.jar</b> The JNDI API
- <b>log4j.jar</b> IBM logging package
- servlet.jar JSDK 2.2
- <b>xerces.jar</b> Xerces XML library
- xslp.jar XSL processor, used for documentation
-</pre>
- </p>
+ <p>
+ Slide has dependencies to some external function libraries. Some of
+ these dependencies are both compile-time and runtime dependencies,
+ while some are only runtime dependencies. Some build options also
+ require additional external libraries.
+ </p>
<section title="Slide">
- <p>Slide is dependent on the latest release of <a href="http://castor.exolabl.org">Castor</a>, which is also availible from the <a href="http://www.exolab.org">Exolab</a> group.
+
+ <p>
+ Slide depends on the following software libraries at build time :
+ <ul>
+ <li>Apache Avalon 2.2</li>
+ <li>Sun JAXP</li>
+ <li>Sun Servlet API 2.2</li>
+ </ul>
</p>
-
- <p>Slide depends on the following software libraries:
- <ul>
- <li><a href="http://castor.exolab.org/">Castor XML</a>, from Keith Visco and the Exolab group</li>
- <li>log4j from IBM</li>
- </ul>
+
+ <p>
+ Slide depends on the following software libraries at run time :
+ <ul>
+ <li>Apache Avalon 2.2</li>
+ <li>Sun JAXP</li>
+ <li>A JAXP-compliant XML parser</li>
+ </ul>
</p>
+ <p>
+ Slide can be managed at run time if it is run on top of a management
+ framework like Apache Avalon or Sun JMX (in a future Slide release).
+ In any case, Slide uses some services provided by the Avalon
+ framework. When Slide is NOT run on top of Avalon, it requires both
+ AvalonAware.jar and Avalon.jar, which are present in the Avalon
+ distribution. When Slide is run on top of Avalon, it is only
+ dependent on AvalonAware.jar.
+ </p>
+
+ <p>
+ As said above, the requirements for the various build options can
+ greatly vary. Some might require :
+ <ul>
+ <li>Tomcat Catalina</li>
+ <li>A properly installed Avalon full distribution</li>
+ <li>A JMX MBean server, and the JMX libraries</li>
+ </ul>
+ Additional dependencies will probably be added as more deployment
+ scenarios are supported.
+ </p>
+
</section>
<section title="Services">
- <p>Individual Slide service may have different dependancies to various libraries.
- </p>
-
- <p>Some Slide services are implemented with those back-end repositories:
- <ul>
- <li><a href="http://www.lynx.ch/contacts/~/thomasm/hSql.html">Hypersonic SQL</a></li>
- </ul>
+ <p>
+ Slide can store the data it manages in a broad array of repositories.
+ Each repository is accessed through a module called a Service. Each
+ of these services have widely different dependencies, and can need
+ a lot of extra setup steps. It is expected that services will be
+ developed by Slide adopters to address their specific content
+ management needs. For exemple, one company would want to access
+ its website and NFS file server through Slide, so a NFS Service will
+ be needed, along with a HTTP service.
+ </p>
+
+ <p>
+ The scope of the Slide project is not to integrate every existing
+ repository in the universe (although there will be out-of-the-box
+ support for the most widely used ones), but to enable users to
+ easily write services which would enable access to them.
</p>
+
+ <p>
+ Some services included, or scheduled for inclusion with Slide are :
+ <ul>
+ <li>Memory</li>
+ <li>File system</li>
+ <li>File system with versioning</li>
+ <li>JDBC</li>
+ <li>CVS</li>
+ </ul>
+ </p>
+
</section>
- <section title="WebDAV">
- <p>The WebDAV module is a Servlet and requires a property configured Servlet implementation.
+ <section title="WebDAV Server">
+
+ <p>
+ The WebDAV module is a Servlet and requires a property configured
+ Servlet 2.2 implementation. It also requires JAXP and a JAXP
+ compliant XML parser.
+ </p>
+
+ <p>
+ It is recommended that this servlet be loaded as a web application,
+ as defined in the Servlet 2.2 specification.
</p>
+
</section>
</section>
+
+ <section title="The Domain configuration file">
+
+ <p>
+ Sample configuration file :
+ <a href="samples/noavalon-conf.sample">click here</a>.
+ </p>
+
+ <p>
+ Apache Avalon has its own special way of handling blocks
+ initialization, so that the Slide initialization file is a bit
+ different when used under Avalon. More specifically, it includes an
+ additional section (see below).
+ </p>
+
+ <section title="Without Avalon">
+
+ <p>
+ Slide needs a configuration file to initialize the
+ <a href="domain.xml">domain</a>. This configuration file defines
+ the namespaces which are part of this domain, the services associated
+ with them, and the namespaces data configuration. This file uses the
+ XML language for its syntax. The XML elements and attributes used by
+ Slide are formally defined in the following
+ <a href="schema/slide.xsd">schema</a>. A less formal abstract
+ follows.
+ </p>
+
+ <p>
+ Note : For convinience purposes, the root element is named "slide".
+ If Slide is run under Avalon, this root element must be "avalon".
+ </p>
+
+ <p>
+
+ <ul>
+
+ <li><b>slide/namespace</b>
+ <p>
+ This element is used to define a namespace in the domain.
+ </p>
+ <p>
+ Attributes list :
+ <attribute-list>
+ <attribute name="name"
+ description="Defines the name of the namespace"
+ required="true"/>
+ </attribute-list>
+ </p>
+ </li>
+
+ <li><b>slide/namespace/definition</b>
+ <p>
+ This contains the declaration of the services mapped by the
+ namespace.
+ </p>
+ </li>
+
+ <li><b>slide/namespace/definition/descriptorsstore</b>
+ <p>
+ Declaration of a descriptors store service which will be used
+ by the namespace. The association of the service to a specific
+ path in the namespace is done by using the
+ slide/namespace/definition/scope element (see below).
+ </p>
+ <p>
+ Attributes list :
+ <attribute-list>
+ <attribute name="name"
+ description="Name under which the service is mapped"
+ required="true"/>
+ <attribute name="classname"
+ description="Service class name"
+ required="true"/>
+ </attribute-list>
+ </p>
+ </li>
+
+ <li><b>slide/namespace/definition/descriptorsstore/parameter</b>
+ <p>
+ Specifies an additional parameter.
+ </p>
+ <p>
+ Attributes list :
+ <attribute-list>
+ <attribute name="name"
+ description="Name of the parameter"
+ required="true"/>
+ </attribute-list>
+ </p>
+ </li>
+
+ <li><b>slide/namespace/definition/contentstore</b>
+ <p>
+ Declaration of a content store service which will be used
+ by the namespace. The association of the service to a specific
+ path in the namespace is done by using the
+ slide/namespace/definition/scope element (see below).
+ </p>
+ <p>
+ Attributes list :
+ <attribute-list>
+ <attribute name="name"
+ description="Name under which the service is mapped"
+ required="true"/>
+ <attribute name="classname"
+ description="Service class name"
+ required="true"/>
+ </attribute-list>
+ </p>
+ </li>
+
+ <li><b>slide/namespace/definition/contentstore/parameter</b>
+ <p>
+ Specifies an additional parameter.
+ </p>
+ <p>
+ Attributes list :
+ <attribute-list>
+ <attribute name="name"
+ description="Name of the parameter"
+ required="true"/>
+ </attribute-list>
+ </p>
+ </li>
+
+ <li><b>slide/namespace/definition/scope</b>
+ <p>
+ Associates a service to a specified scope in the namespace.
+ </p>
+ <p>
+ Attributes list :
+ <attribute-list>
+ <attribute name="match"
+ description="Uri filter"
+ required="true"/>
+ <attribute name="descriptorsstore"
+ description="Name of the descriptors store associated with the scope"
+ required="true"/>
+ <attribute name="contentstore"
+ description="Name of the content store associated with the scope"
+ required="true"/>
+ </attribute-list>
+ </p>
+ </li>
+
+ <li><b>slide/namespace/configuration</b>
+ <p>
+ This element specifies the namespace configuration.
+ </p>
+ </li>
+
+ <li><b>slide/namespace/configuration/[actions]</b>
+ <p>
+ Specifies to which object in the namespace the default action
+ types are mapped in the namespace. The value of the element
+ must be the uri of the corresponding object.
+ </p>
+ <p>
+ [actions] can have one of the following values :
+ <ul>
+ <li>default-action</li>
+ <li>read-object</li>
+ <li>create-object</li>
+ <li>remove-object</li>
+ <li>grant-permission</li>
+ <li>revoke-permission</li>
+ <li>read-permissions</li>
+ <li>lock-object</li>
+ <li>kill-lock</li>
+ <li>read-locks</li>
+ <li>read-revision</li>
+ <li>create-revision</li>
+ <li>modify-revision</li>
+ <li>remove-revision</li>
+ <li>read-revision</li>
+ <li>create-revision</li>
+ <li>modify-revision</li>
+ <li>remove-revision</li>
+ </ul>
+ It is legal not to specify any of these elements, al long as
+ the default default-action element is present and have a valid
+ value (which means that an object should exist at the specified
+ uri.
+ </p>
+ </li>
+
+ <li><b>slide/namespace/configuration/userspath</b>
+ <p>
+ Specify the uri of the users root. For example, a value of
+ "/users" will indicate that principal "foo" has a corresponding
+ object which uri is "/users/foo" in the namespace. This element
+ is optional.
+ </p>
+ </li>
+
+ <li><b>slide/namespace/configuration/filespath</b>
+ <p>
+ Specify the uri of the document root. This value is mainly used
+ by the webdav module, which will base it's root directory using
+ this value. Note : This feature is not implemented right now.
+ This element is optional.
+ </p>
+ </li>
+
+ <li><b>slide/namespace/configuration/parameter</b>
+ <p>
+ Specifies an additional parameter.
+ </p>
+ <p>
+ Attributes list :
+ <attribute-list>
+ <attribute name="name"
+ description="Name of the parameter"
+ required="true"/>
+ </attribute-list>
+ </p>
+ </li>
+
+ <li><b>slide/namespace/data</b>
+ <p>
+ Specify the namespace bootstrap data. Slide will attempt to
+ create the objects specified in this section each time the
+ namespace is intialized, and will stop if it finds the
+ namespace has already been initialized before. Unless the
+ namespace has already been initialized or a repository access
+ error occurs, the creation of the specified objects / ACL /
+ metadata will always be successful. The objects defined in this
+ section should at least contain a user and an action object, so
+ that later on at least one pricipal has enough credentials to
+ perform an action on the namespace (unless security is
+ disabled).
+ </p>
+ </li>
+
+ <li><b>slide/namespace/data/objectnode</b>
+ <p>
+ Defines a namespace node. Can have another objectnode element
+ as child element. If the object only has one revision, the
+ revision element can be omitted, and objectnode can contain
+ property and content child elements.
+ </p>
+ <p>
+ Attributes list :
+ <attribute-list>
+ <attribute name="classname"
+ description="Class name of the attribute"
+ required="true"/>
+ <attribute name="uri"
+ description="Uri of the object"
+ required="true"/>
+ </attribute-list>
+ </p>
+ </li>
+
+ <li><b>slide/namespace/data/objectnode/permission</b>
+ <p>
+ Grants a permission on the associated node.
+ </p>
+ <p>
+ Attributes list :
+ <attribute-list>
+ <attribute name="action"
+ description="Action which can be performed"
+ required="true"/>
+ <attribute name="subject"
+ description="Subject who can perform the action"
+ required="true"/>
+ </attribute-list>
+ </p>
+ </li>
+
+ <li><b>slide/namespace/data/objectnode/revision (Not implemented)</b>
+ <p>
+ Defines a revision on the associated node.
+ </p>
+ <p>
+ Attributes list :
+ <attribute-list>
+ <attribute name="number"
+ description="Revision number"
+ required="true"/>
+ </attribute-list>
+ </p>
+ </li>
+
+ <li><b>slide/namespace/data/objectnode/revision/ancestor (Not implemented)</b>
+ <p>
+ Indicates that the revision is based on a previous revision.
+ </p>
+ </li>
+
+ <li><b>slide/namespace/data/objectnode/revision/property (Not implemented)</b>
+ <p>
+ Defines a revision's property.
+ </p>
+ <p>
+ Attributes list :
+ <attribute-list>
+ <attribute name="name"
+ description="Property name"
+ required="true"/>
+ </attribute-list>
+ </p>
+ </li>
+
+ <li><b>slide/namespace/data/objectnode/revision/content (Not implemented)</b>
+ <p>
+ Defines the revision's content. This element's value MUST NOT
+ be the actual content, but an URL to the content.
+ </p>
+ </li>
+
+ </ul>
+
+ </p>
+
+ </section>
+
+ <section title="With Avalon">
+
+ <p>
+ Sample configuration file :
+ <a href="samples/avalon-conf.sample">click here</a>.
+ </p>
+
+ <p>
+ Avalon needs an additional section, called the service map, which
+ tells Avalon which of its services it will need. It is recomended
+ not to modify the service map defaults, which map the logger.
+ The document's root must have the "avalon" name. The Slide
+ configuration file is then treated as an Avalon block configuration,
+ which means it is embedded within an avalon/blocks/block element.
+ Other than those points, the configuration file syntax is unchanged.
+ </p>
+
+ <p>
+ The service map is defined with the avalon/servicesmap XML element.
+ Please refer to the Apache Avalon documentation for more information.
+ </p>
+
+ </section>
+
+ </section>
</body>
</document>
1.4 +4 -0 jakarta-slide/src/doc/examples.xml
Index: examples.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/examples.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- examples.xml 2000/07/04 19:11:27 1.3
+++ examples.xml 2000/07/07 22:47:50 1.4
@@ -17,12 +17,16 @@
</section>
+<section title="Examples list">
+
<section title="XML">
<p>The XML example simply imports an XML document into OpenDAV and tries to do various operations on it, including security checks, and different locking and versioning actions.
</p>
</section>
+
+</section>
</body>
</document>
1.5 +2 -2 jakarta-slide/src/doc/index.xml
Index: index.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/index.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- index.xml 2000/07/04 07:15:16 1.4
+++ index.xml 2000/07/07 22:47:50 1.5
@@ -51,14 +51,14 @@
<li>Hierarchical object storage</li>
<li>Data storage abstraction</li>
<li>Distributable over a network</li>
- <li>Integrated user management</li>
+ <li>User management</li>
<li>Security</li>
<li>Locking</li>
<li>Versioning</li>
<li>Indexing</li>
<li>Searching</li>
<li>Integrated process engine</li>
- <li>Manageable (Apache Avalon and JMX support)</li>
+ <li>Manageable (Apache Avalon and Sun JMX support)</li>
</ul>
</p>
</section>
1.7 +9 -7 jakarta-slide/src/doc/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/project.xml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- project.xml 2000/07/04 19:11:28 1.6
+++ project.xml 2000/07/07 22:47:50 1.7
@@ -21,13 +21,13 @@
<item name="First Steps" href="conf-lib.xml"/>
<item name="FAQ" href="faq.xml"/>
<item name="Examples" href="examples.xml"/>
- <item name="Tomcat Howto" href="usage.xml#Using Tomcat"/>
- <item name="Avalon Howto" href="usage.xml#Using Avalon"/>
+ <item name="Tomcat Howto" href="howto.xml#Tomcat"/>
+ <item name="Avalon Howto" href="howto.xml#Avalon"/>
<item name="The Slide Guide"
href="http://www.interlog.com/~bcholmes/geek/slide-home.html"/>
</menu>
<menu name="Programmer's Corner">
- <item name="JavaDoc" href="../../../build/slide/doc/javadoc/index.html"/>
+ <item name="JavaDoc" href="javadoc/index.html"/>
<item name="Architecture" href="architecture.xml"/>
<item name="Domain" href="domain.xml"/>
<item name="Namespace" href="namespace.xml"/>
@@ -38,12 +38,14 @@
</menu>
<notice>
- Java, EJB, JDBC, JNDI, Sun, Sun Microsystems are trademarks or registered trademarks of Sun Microsystems, Inc.
- in the United States and in other countries. All other product
- names mentioned herein are trademarks of their respective owners.
+ Java, JDBC, JNDI, Sun, Sun Microsystems are trademarks or registered
+ trademarks of Sun Microsystems, Inc. in the United States and in other
+ countries. All other product names mentioned herein are trademarks of
+ their respective owners.
</notice>
<notice>
- <a href="http://jakarta.apache.org">The Apache Software Foundation.</a> (C) 2000. All rights reserved
+ <a href="http://jakarta.apache.org">The Apache Software Foundation.</a>
+ (C) 2000. All rights reserved
</notice>
</project>
1.1 jakarta-slide/src/doc/samples/avalon-conf.sample
Index: avalon-conf.sample
===================================================================
<?xml version="1.0"?>
<avalon>
<servicesmap>
<service name="Slide">
<resource type="org.apache.avalon.blocks.Logger"
mapTo="ApacheDefaultLogger"/>
</service>
</servicesmap>
<blocks>
<block class="org.apache.slide.common.SlideBlock"
name="Slide"
implementedInterface="org.apache.slide.common.Slide"
help="Slide server">
<!-- Insert here the definitions of the namespaces -->
<namespace name="webdav">
<definition>
<!--descriptorsstore
name="database"
classname="org.apache.slide.store.DescriptorsStoreDatabaseImpl">
<parameter name="driver">org.hsql.jdbcDriver</parameter>
<parameter name="url">HypersonicSQL:database</parameter>
<parameter name="user">sa</parameter>
<parameter name="password"></parameter>
</descriptorsstore-->
<descriptorsstore
name="memory"
classname="org.apache.slide.store.DescriptorsStoreMemoryImpl"/>
<contentstore
name="file"
classname="org.apache.slide.store.ContentStoreFilesystemImpl">
<parameter name="rootpath">files</parameter>
</contentstore>
<!--contentstore
name="tempfiles"
classname="org.apache.slide.store.ContentStoreFilesystemImpl">
<parameter name="rootpath">tempfiles</parameter>
</contentstore-->
<scope
match="/"
descriptorsstore="memory"
contentstore="file"/>
<!--scope
match="/files/temp"
descriptorsstore="memory"
contentstore="tempfiles"/-->
</definition>
<configuration>
<default-action>/actions</default-action>
<userspath>/users</userspath>
<filespath></filespath>
<parameter name="dav">true</parameter>
<parameter name="standalone">true</parameter>
</configuration>
<data>
<objectnode
classname="org.apache.slide.structure.SubjectNode"
uri="/">
<permission
action="/actions"
subject="/users/root"/>
<objectnode
classname="org.apache.slide.structure.SubjectNode"
uri="/users">
<objectnode
classname="org.apache.slide.structure.SubjectNode"
uri="/users/root"/>
</objectnode>
<objectnode
classname="org.apache.slide.structure.ActionNode"
uri="/actions"/>
</objectnode>
</data>
</namespace>
</block>
</blocks>
</avalon>
1.1 jakarta-slide/src/doc/samples/noavalon-conf.sample
Index: noavalon-conf.sample
===================================================================
<?xml version="1.0"?>
<slide>
<namespace name="webdav">
<definition>
<!--descriptorsstore
name="database"
classname="org.apache.slide.store.DescriptorsStoreDatabaseImpl">
<parameter name="driver">org.hsql.jdbcDriver</parameter>
<parameter name="url">HypersonicSQL:database</parameter>
<parameter name="user">sa</parameter>
<parameter name="password"></parameter>
</descriptorsstore-->
<descriptorsstore
name="memory"
classname="org.apache.slide.store.DescriptorsStoreMemoryImpl"/>
<contentstore
name="file"
classname="org.apache.slide.store.ContentStoreFilesystemImpl">
<parameter name="rootpath">files</parameter>
</contentstore>
<scope
match="/"
descriptorsstore="memory"
contentstore="file"/>
<!--scope
match="/files/temp"
descriptorsstore="memory"
contentstore="tempfiles"/-->
</definition>
<configuration>
<default-action>/actions</default-action>
<userspath>/users</userspath>
<filespath></filespath>
<parameter name="dav">true</parameter>
<parameter name="standalone">true</parameter>
</configuration>
<data>
<objectnode
classname="org.apache.slide.structure.SubjectNode"
uri="/">
<permission
action="/actions"
subject="/users/root"/>
<objectnode
classname="org.apache.slide.structure.SubjectNode"
uri="/users">
<objectnode
classname="org.apache.slide.structure.SubjectNode"
uri="/users/root"/>
</objectnode>
<objectnode
classname="org.apache.slide.structure.ActionNode"
uri="/actions"/>
</objectnode>
</data>
</namespace>
</slide>
1.4 +23 -1 jakarta-slide/src/doc/style/slide.xsl
Index: slide.xsl
===================================================================
RCS file: /home/cvs/jakarta-slide/src/doc/style/slide.xsl,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- slide.xsl 2000/07/04 07:15:32 1.3
+++ slide.xsl 2000/07/07 22:47:56 1.4
@@ -196,6 +196,29 @@
</html>
</xsl:template>
+ <!-- Match an attribute list
+ -->
+ <xsl:template match="attribute-list">
+ <table border="1" cellpadding="2" cellspacing="0">
+ <tr>
+ <td>
+ Name
+ </td>
+ <td>
+ Description
+ </td>
+ <td>
+ Required
+ </td>
+ </tr>
+ <xsl:for-each select="attribute">
+ <tr><td><xsl:value-of select="@name"/></td><td>
+ <xsl:value-of select="@description"/></td><td>
+ <xsl:value-of select="@required"/></td></tr>
+ </xsl:for-each>
+ </table>
+ </xsl:template>
+
<!-- Special handling for project-wide links which appear both at the
top and bottom of the page
-->
@@ -242,7 +265,6 @@
<td align="left" valign="top"><xsl:apply-templates/></td>
</tr>
</xsl:template>
-
</xsl:stylesheet>