You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by gr...@apache.org on 2005/01/03 04:42:50 UTC

svn commit: r123935 - /lenya/site/docs/1_2_x/components/resource-types/resource-types.html

Author: gregor
Date: Sun Jan  2 19:42:49 2005
New Revision: 123935

URL: http://svn.apache.org/viewcvs?view=rev&rev=123935
Log:
Updated site with latest documentation changes and removed eol-style
Added:
   lenya/site/docs/1_2_x/components/resource-types/resource-types.html

Added: lenya/site/docs/1_2_x/components/resource-types/resource-types.html
Url: http://svn.apache.org/viewcvs/lenya/site/docs/1_2_x/components/resource-types/resource-types.html?view=auto&rev=123935
==============================================================================
--- (empty file)
+++ lenya/site/docs/1_2_x/components/resource-types/resource-types.html	Sun Jan  2 19:42:49 2005
@@ -0,0 +1,623 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Resource Types (formerly known as Document Types)</title>
+<link type="text/css" href="../../../../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../../../../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../../../../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../../../../skin/profile.css" rel="stylesheet">
+<script src="../../../../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../../../../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../../../../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../../../../favicon.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://lenya.apache.org/">lenya</a><script src="../../../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://lenya.apache.org"><img class="logoImage" alt="Lenya" src="../../../../images/apache-lenya-light.png" title="
+  	Apache Lenya is a Java-based Open-Source Content Management System.
+  	It is based on open standards such as XML and XSLT.
+  	One of its core components is Cocoon from the Apache Software Foundation.
+  "></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogo">
+<a href=""></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
+<div class="searchbox">
+<form action="http://www.google.com/search" method="get" class="roundtopsmall">
+<input value="lenya.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with :');" value="Search the site with :" size="25" name="q" id="query" type="text">&nbsp; 
+                    <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../../../../index.html">Project</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../../../installation/index.html">Installation</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../../../../docs/index.html">Documentation</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../../../community/index.html">Community</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript" language="JavaScript"><!--
+              document.write("Published: " + document.lastModified);
+              //  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_selected_1.1', '../../../../skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('../../../../skin/images/chapter_open.gif');">Documentation</div>
+<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../../../../docs/index.html">Documentation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docu.pdf">pdf docu 1.2.x (whole)</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docu.html">html docu 1.2.x (whole)</a>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.1.4', '../../../../skin/')" id="menu_selected_1.1.4Title" class="menutitle" style="background-image: url('../../../../skin/images/chapter_open.gif');">1.2.x</div>
+<div id="menu_selected_1.1.4" class="selectedmenuitemgroup" style="display: block;">
+<div onclick="SwitchMenu('menu_selected_1.1.4.1', '../../../../skin/')" id="menu_selected_1.1.4.1Title" class="menutitle" style="background-image: url('../../../../skin/images/chapter_open.gif');">Components</div>
+<div id="menu_selected_1.1.4.1" class="selectedmenuitemgroup" style="display: block;">
+<div onclick="SwitchMenu('menu_1.1.4.1.1', '../../../../skin/')" id="menu_1.1.4.1.1Title" class="menutitle">Access&nbsp;Control</div>
+<div id="menu_1.1.4.1.1" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/accesscontrol/terms.html">Basic Terms</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/accesscontrol/accesscontrollers.html">Access&nbsp;Controllers</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/accesscontrol/accesscontrollerresolvers.html">Access Controller Resolvers</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/accesscontrol/authenticators.html">Authenticators</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/accesscontrol/authorizers.html">Authorizers</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/accesscontrol/policymanagers.html">Policies and Policy&nbsp;Managers</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/accesscontrol/accreditablemanagers.html">Accreditable&nbsp;Managers</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/accesscontrol/ssl.html">SSL Encryption</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.1.2', '../../../../skin/')" id="menu_1.1.4.1.2Title" class="menutitle">Deployment</div>
+<div id="menu_1.1.4.1.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/deployment/proxying.html">Proxying</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.1.3', '../../../../skin/')" id="menu_1.1.4.1.3Title" class="menutitle">Editors</div>
+<div id="menu_1.1.4.1.3" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/editors/htmlform.html">HTML Form Editor</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/editors/1form.html">HTML One Form Editor</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/editors/bxe.html">Bitflux Editor</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/editors/kupu.html">Kupu</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/editors/xopus.html">Xopus</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.1.4', '../../../../skin/')" id="menu_1.1.4.1.4Title" class="menutitle">Layout</div>
+<div id="menu_1.1.4.1.4" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/layout/navigation.html">Navigation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/layout/xhtml-templating.html">XHTML templating</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/layout/static-resources.html">Serving static resources</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/layout/lenya-menubar.html">Lenya Menubar</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.1.5', '../../../../skin/')" id="menu_1.1.4.1.5Title" class="menutitle">Publication</div>
+<div id="menu_1.1.4.1.5" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/publication/pageenvelopemodule.html">PageEnvelopeModule</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/publication/siteTree.html">Site tree</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.1.4.1.6', '../../../../skin/')" id="menu_selected_1.1.4.1.6Title" class="menutitle" style="background-image: url('../../../../skin/images/chapter_open.gif');">Resource&nbsp;Types</div>
+<div id="menu_selected_1.1.4.1.6" class="selectedmenuitemgroup" style="display: block;">
+<div class="menupage">
+<div class="menupagetitle">Resource&nbsp;Types</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.1.7', '../../../../skin/')" id="menu_1.1.4.1.7Title" class="menutitle">Revision Control</div>
+<div id="menu_1.1.4.1.7" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/revisioncontrol/revisioncontroller.html">Revision Controller</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/revisioncontrol/rcml.html">RCML</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/revisioncontrol/checkin.html">Check In</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/revisioncontrol/checkout.html">Check Out</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/revisioncontrol/version.html">Revisions</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/revisioncontrol/rollback.html">Rollback</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.1.8', '../../../../skin/')" id="menu_1.1.4.1.8Title" class="menutitle">Repository</div>
+<div id="menu_1.1.4.1.8" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/repository/webdav.html">WebDAV Servers</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.1.9', '../../../../skin/')" id="menu_1.1.4.1.9Title" class="menutitle">Search</div>
+<div id="menu_1.1.4.1.9" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/search/lucene.html">Searching with Lucene</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.1.10', '../../../../skin/')" id="menu_1.1.4.1.10Title" class="menutitle">URI Handling</div>
+<div id="menu_1.1.4.1.10" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/uri-handling/URIParametrizer.html">URI Parametrizer</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/uri-handling/standardURI.html">URI Scheme</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/uri-handling/usecases.html">Usecases</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.1.11', '../../../../skin/')" id="menu_1.1.4.1.11Title" class="menutitle">Asset Management</div>
+<div id="menu_1.1.4.1.11" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/asset-management/management.html">Asset Management</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.1.12', '../../../../skin/')" id="menu_1.1.4.1.12Title" class="menutitle">Link Management</div>
+<div id="menu_1.1.4.1.12" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/link-management/link-management.html">Link Management</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.1.13', '../../../../skin/')" id="menu_1.1.4.1.13Title" class="menutitle">Meta Data</div>
+<div id="menu_1.1.4.1.13" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/metadata/metadata.html">Meta Data Handling</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.1.14', '../../../../skin/')" id="menu_1.1.4.1.14Title" class="menutitle">Multilingual Documents</div>
+<div id="menu_1.1.4.1.14" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/multilingual/multilingual.html">Multilingual Document Handling</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.1.15', '../../../../skin/')" id="menu_1.1.4.1.15Title" class="menutitle">Tasks</div>
+<div id="menu_1.1.4.1.15" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/tasks/concept.html">The Task Concept</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/tasks/defining.html">Defining Tasks</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/tasks/taskaction.html">The TaskAction</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/tasks/scheduling.html">Scheduling a Task</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.1.15.5', '../../../../skin/')" id="menu_1.1.4.1.15.5Title" class="menutitle">Included tasks</div>
+<div id="menu_1.1.4.1.15.5" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/tasks/anttask.html">AntTask</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/tasks/publisher.html">DefaultFilePublisher</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/tasks/exporter.html">StaticHTMLExporter</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/tasks/mailtask.html">MailTask</a>
+</div>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/tasks/development.html">Developing Tasks</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.1.16', '../../../../skin/')" id="menu_1.1.4.1.16Title" class="menutitle">Workflow</div>
+<div id="menu_1.1.4.1.16" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/workflow/terms.html">Terms</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/workflow/state-machine.html">The State Machine</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/workflow/configuration.html">Configuration</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/workflow/implementation.html">Implementation</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.1.17', '../../../../skin/')" id="menu_1.1.4.1.17Title" class="menutitle">Site Management</div>
+<div id="menu_1.1.4.1.17" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/sitemanagement/archive.html">Archive</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/sitemanagement/copy.html">Copy</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/sitemanagement/deactivate.html">Deactivate</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/sitemanagement/delete.html">Delete</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/sitemanagement/deletetrash.html">Delete the trash</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/sitemanagement/move.html">Move</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/sitemanagement/moveupdown.html">Move Up/Down</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/sitemanagement/rename.html">Rename</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/components/sitemanagement/restore.html">Restore</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.2', '../../../../skin/')" id="menu_1.1.4.2Title" class="menutitle">Specifications</div>
+<div id="menu_1.1.4.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/specs/namespaces.html">Namespaces</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.3', '../../../../skin/')" id="menu_1.1.4.3Title" class="menutitle">Miscellaneous</div>
+<div id="menu_1.1.4.3" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/misc/coding-guidelines.html">Coding Guidelines</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/misc/unittests.html">Unit Tests</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../docs/1_2_x/misc/xinclude-processor.html">XInclude Processor</a>
+</div>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../apidocs/1.2/index.html">1.2 API (Javadoc)</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5', '../../../../skin/')" id="menu_1.1.5Title" class="menutitle">1.4</div>
+<div id="menu_1.1.5" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../../apidocs/1.4/index.html">1.4 API (Javadoc)</a>
+</div>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../../../../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div id="skinconf-txtlink"></div>
+<div title="Portable Document Format" class="pdflink">
+<a class="dida" href="resource-types.pdf"><img alt="PDF -icon" src="../../../../skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a>
+</div>
+<h1>Resource Types (formerly known as Document Types)</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Basics">Basics</a>
+</li>
+<li>
+<a href="#Adding+a+Resource+Type+to+a+Publication">Adding a Resource Type to a Publication</a>
+<ul class="minitoc">
+<li>
+<a href="#Choose+a+Unique+Resource+Type+Name">Choose a Unique Resource Type Name</a>
+</li>
+<li>
+<a href="#Providing+a+Sample+XML+Document">Providing a Sample XML Document</a>
+</li>
+<li>
+<a href="#Providing+an+XML+Structure+Definition">Providing an XML Structure Definition</a>
+</li>
+<li>
+<a href="#Creating+a+Workflow+Schema">Creating a Workflow Schema</a>
+</li>
+<li>
+<a href="#The+Resource+Type+Definition">The Resource Type Definition</a>
+</li>
+<li>
+<a href="#Define+the+Mapping+From+URLs+to+Resource+Types">Define the Mapping From URLs to Resource Types</a>
+</li>
+<li>
+<a href="#Define+a+Custom+Menubar">Define a Custom Menubar</a>
+</li>
+<li>
+<a href="#Presentation">Presentation</a>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+	
+
+<a name="N10019"></a><a name="Basics"></a>
+<h2 class="underlined_10">Basics</h2>
+<div class="section">
+<p>
+	A resource type defines a certain XML source format, together with processing options.
+	It typically consists of
+	</p>
+<ul>
+	  
+<li>an XML structure definition (e.g., Relax NG)</li>
+	  
+<li>a workflow schema,</li>
+	  
+<li>some presentation pipelines,</li>
+	  
+<li>some presentation XSLT stylesheets,</li>
+	  
+<li>a Lenya menubar.</li>
+	
+</ul>
+<p>
+	  All of these can be shared between several resource types.
+	</p>
+</div>
+
+
+<a name="N10038"></a><a name="Adding+a+Resource+Type+to+a+Publication"></a>
+<h2 class="underlined_10">Adding a Resource Type to a Publication</h2>
+<div class="section">
+<p>
+    Adding a custom resource type to your publication includes the following steps:
+  </p>
+<a name="N10041"></a><a name="Choose+a+Unique+Resource+Type+Name"></a>
+<h3 class="underlined_5">Choose a Unique Resource Type Name</h3>
+<p>
+    You should choose a reasonable name for your resource type.
+    In the examples, we use <em>profile</em> (page with information about a person).
+  </p>
+<a name="N1004D"></a><a name="Providing+a+Sample+XML+Document"></a>
+<h3 class="underlined_5">Providing a Sample XML Document</h3>
+<p>
+      If you want to enable users to create new resources belonging to
+      your resource type, it is useful to provide a sample XML document.
+      If you want to use the <span class="codefrag">DefaultBranchCreator</span> that ships
+      with Lenya, you have to add the sample document because it is used
+      as a template for creating new resources.
+    </p>
+<p>
+      The sample document is placed in <span class="codefrag">{publication}/config/doctypes/samples/</span>.
+      You can choose an arbitrary filename, but it is recommended to
+      use the resource type name (e.g., <span class="codefrag">profile.xml</span>).
+    </p>
+<a name="N10062"></a><a name="Providing+an+XML+Structure+Definition"></a>
+<h3 class="underlined_5">Providing an XML Structure Definition</h3>
+<p>
+      This step is only needed if you want to edit resources with Lenya
+      or validate them after they have been imported or manipulated.
+      The type of the structure definition
+      (<a href="http://www.w3.org/XML/Schema">XML Schema</a>,
+      <a href="http://www.relaxng.org/">Relax NG</a>, ...)
+      depends on the editor or validator you want to use. For instance,
+      the <a href="http://www.bitfluxeditor.org/">BXE</a> WYSIWYG
+      editor requires a Relax NG document.
+    </p>
+<p>The structure definition document is placed in the directory
+      <span class="codefrag">{publication}/config/doctypes/schemas/</span>. The name
+      of the file is arbitrary, but it is recommended to use the
+      resource type name (e.g., <span class="codefrag">profile.rng</span>).
+    </p>
+<a name="N10080"></a><a name="Creating+a+Workflow+Schema"></a>
+<h3 class="underlined_5">Creating a Workflow Schema</h3>
+<p>
+      If your resources should have a workflow, you have to add a workflow
+      schema for your resource type as described in
+      <a href="../workflow/configuration.html">Workflow Configuration</a>.
+      A workflow schema can be shared between multiple resource types.
+    </p>
+<a name="N1008D"></a><a name="The+Resource+Type+Definition"></a>
+<h3 class="underlined_5">The Resource Type Definition</h3>
+<p>
+    To assign the creator and the workflow schema to your resource type,
+	  declare it in <span class="codefrag">{publication}/config/doctypes/doctypes.xconf</span>:
+	  </p>
+<pre class="code">&lt;doc type="profile"&gt;
+    &lt;creator src="org.apache.lenya.cms.authoring.DefaultBranchCreator"&gt;
+      &lt;sample-name&gt;profile.xml&lt;/sample-name&gt;
+    &lt;/creator&gt;
+    &lt;workflow src="2stage.xml"/&gt;
+  &lt;/doc&gt;</pre>
+<a name="N1009D"></a><a name="Define+the+Mapping+From+URLs+to+Resource+Types"></a>
+<h3 class="underlined_5">Define the Mapping From URLs to Resource Types</h3>
+<p>
+      The resource type of a resource is determined based on the resource URL.
+      This mapping happens in <span class="codefrag">{publication}/parameter-doctype.xmap</span>.
+    </p>
+<p>
+      A typical approach to determine the resource type is to apply the
+      <span class="codefrag">SourceTypeAction</span> on the source document:
+    </p>
+<pre class="code">&lt;map:match pattern="*/**.html"&gt;
+  &lt;map:act type="sourcetype" src="content/{1}/{page-envelope:document-path}"&gt;
+    &lt;map:generate type="serverpages" src="../../config/parameters/default.xsp"&gt;
+      &lt;map:parameter name="value" value="{sourcetype}"/&gt;
+    &lt;/map:generate&gt;
+    &lt;map:serialize type="xml"/&gt;
+  &lt;/map:act&gt;
+&lt;/map:match&gt;</pre>
+<p>Another way is to return the resource type by just matching
+    certain URLs:</p>
+<pre class="code">&lt;map:match pattern="*/profiles/*.html"&gt;
+  &lt;map:generate type="serverpages" src="../../config/parameters/default.xsp"&gt;
+    &lt;map:parameter name="value" value="profile"/&gt;
+  &lt;/map:generate&gt;
+  &lt;map:serialize type="xml"/&gt;
+&lt;/map:match&gt;</pre>
+<a name="N100BA"></a><a name="Define+a+Custom+Menubar"></a>
+<h3 class="underlined_5">Define a Custom Menubar</h3>
+<p>
+      If you want to use a custom menubar for your resource type,
+      follow the guidelines on the page
+      <a href="../layout/lenya-menubar.html">The Lenya Menubar</a>.
+      Typically, a menubar is shared between multiple resource types.
+      Small customizations can be achieved with Java code in the menubar XSP.
+    </p>
+<p>
+      To let the user create new resources using the <span class="codefrag">DefaultBranchCreator</span>,
+      you have to add the following menu item:
+    </p>
+<pre class="code">&lt;item uc:usecase="create" uc:step="showscreen" href="?doctype=profile"&gt;&lt;i18n:text&gt;New Document&lt;/i18n:text&gt;&lt;/item&gt;
+</pre>
+<a name="N100D1"></a><a name="Presentation"></a>
+<h3 class="underlined_5">Presentation</h3>
+<p>
+      To make your resources available as HTTP pages, you have to add the
+      appropriate pipelines and XSLT stylesheets. In general, there are no
+      restrictions.
+    </p>
+<p>
+      If you derive your publication from the default publication,
+      the pipelines have to be placed in
+      <span class="codefrag">{publication}/doctypes.xmap</span>. The stylesheets are located in
+      <span class="codefrag">{publication}/xslt/</span> and are named <span class="codefrag">{resource-type}2xhtml.xsl</span>
+      (e.g., <span class="codefrag">profile2xhtml.xsl</span>). The stylesheet is supposed to generate
+      a valid XHTML fragment (in the XHTML namespace) with <span class="codefrag">&lt;div id="body"&gt;</span>
+      as the document element.
+    </p>
+</div>
+
+
+
+  
+<p align="right">
+<font size="-2">by&nbsp;Lenya community</font>
+</p>
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+ Copyright &copy; 2002-2004 The Apache Software Foundation.</div>
+<div id="feedback">
+    Send feedback about the website to:
+  <a id="feedbackto" href="mailto:dev@lenya.apache.org?subject=Feedback%C2%A0for%C2%A0docs/1_2_x/components/resource-types/resource-types.html">dev@lenya.apache.org</a>
+</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org