cocoon-docs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From stev...@outerthought.org
Subject [WIKI-UPDATE] LenyaAddingCustomDocType Tue Apr 6 20:00:03 2004
Date Tue, 06 Apr 2004 18:00:04 GMT
Page: http://wiki.cocoondev.org/Wiki.jsp?page=LenyaAddingCustomDocType , version: 5 on Mon
Apr  6 17:46:17 2004 by 217.227.134.78

- * define a doctype ID: ''mydoctype''
+ * Choose a name for the doctype ID: ''mydoctype''
- * define the doctype in {{mypub/config/doctypes/doctypes.xconf}}
?   ^

+ * Define the doctype ID in {{mypub/config/doctypes/doctypes.xconf}}
?   ^                 +++

+ {{{<doctypes>
+   <!-- Here is the document ID -->
+   <doc type="mydoctype">
+     <!-- if the document is allowed to have children, define what doctypes they can be
-->
+     <children>
+       <!-- this doctype is allowed to have xhtml and/or mydoctype documents as children
-->
+       <doc type="xhtml"/>
+       <doc type="mydoctype"/>
+     </children>
+     <!-- ??? -->
+     <creator src="org.apache.lenya.cms.authoring.DefaultBranchCreator">
+       <!-- this sample file is created later -->
+       <sample-name>mydoctype.xml</sample-name>
+     </creator>
+     <!-- [FixMe] the tasks allowed for this document type ? -->
+     <!-- tasks are defined in mypub/config/tasks/tasks.xconf -->
+     <tasks>
+       <task id="publish"/>
+     </tasks>
+     <!-- [FixMe] the workflow process allowed for this document type ? -->
+     <!-- workflow process is defined in mypub/config/workflow/workflow.xml (see below)
-->
+     <workflow src="workflow.xml"/>
+   </doc>
+ 
+ </doctypes>}}}
+ {{{<?xml version="1.0" encoding="UTF-8"?>
+ <!--+
+     | mydoctype doctype
+     +-->
+ 
+ <grammar ns="http://www.w3.org/1999/xhtml"
+          xmlns="http://relaxng.org/ns/structure/1.0"
+          xmlns:lenya="http://apache.org/cocoon/lenya/page-envelope/1.0"
+          xmlns:dc="http://purl.org/dc/elements/1.1/"
+          xmlns:dcterms="http://purl.org/dc/terms/"
+          xmlns:xhtml="http://www.w3.org/1999/xhtml"
+          >
+ 
+ <!-- include the general lenya schema -->
+ <include href="lenya.rng"/>
+ 
+ <!-- include original XHTML transitional schema -->
+ <include href="xhtml/xhtml-basic.rng">
+ 
+   <define name="html">
+     <element name="html">
+       <ref name="html.attlist"/>
+       <ref name="lenya.meta"/>
+       <ref name="head"/>
+       <ref name="body"/>
+     </element>
+   </define>
+ 
+   <define name="html.attlist">
+     <ref name="XHTML.version.attrib"/>
+     <ref name="I18n.attrib"/>
+     <ref name="dummy.attlist"/>
+   </define>
+ 
+ </include>
+ 
+ 
+ <!-- additional block elements -->
+ <define name="Block.class" combine="choice">
+   <choice>
+     <ref name="lenya.asset"/>
+   </choice>
+ </define>
+ 
+ 
+ </grammar>}}}
- * add doctype matcher in {{mypub/parameter-doctype.xmap}}
?   ^

+ * Add doctype matcher in {{mypub/parameter-doctype.xmap}}
?   ^

+ {{mypub/parameter-doctype.xmap}} is map:mounted from {{mypub/publication-sitemap.xmap}}
+ [FixMe], describe the options for matching, or link to the relevant cocoon documentation
+ [FixMe], if creating another xhtml type document is there any need to modify this file?
- * add a sample file: {{mypub/config/doctypes/samples/mydoctype.xml}}
?   ^

+ * Add a sample file: {{mypub/config/doctypes/samples/mydoctype.xml}}
?   ^

- * create presentation XSLT and CSS
+ {{{<?xml version="1.0" encoding="UTF-8"?>
+ <html xmlns="http://www.w3.org/1999/xhtml" 
+       xmlns:xhtml="http://www.w3.org/1999/xhtml" 
+       xmlns:dc="http://purl.org/dc/elements/1.1/" 
+       xmlns:dcterms="http://purl.org/dc/terms/"
+       xmlns:lenya="http://apache.org/cocoon/lenya/page-envelope/1.0" 
+       xhtml:dummy="FIXME:keepNamespace" dc:dummy="FIXME:keepNamespace" 
+       lenya:dummy="FIXME:keepNamespace" dcterms:dummy="FIXME:keepNamespace">
+     <lenya:meta>
+         <dc:title>dctitle</dc:title>
+         <dc:creator>dccreator</dc:creator>
+         <dc:subject>dcsubject</dc:subject>
+         <dc:description>An empty page for a new doctype</dc:description>
+         <dc:publisher/>
+         <dc:contributor/>
+         <dc:date>2004-4-6</dc:date>
+         <dc:type/>
+         <dc:format/>
+         <dc:identifier/>
+         <dc:source/>
+         <dc:language>en</dc:language>
+         <dc:relation/>
+         <dc:coverage/>
+         <dc:rights>dcrights</dc:rights>
+     </lenya:meta>
+   <head>
+     <title>Sample new doctype</title>
+   </head>
+   <body>
+     <h1>New Doctype sample</h1>
+     <p>This sample page is the basis for pages based on this doctype</p>
+   </body>
+ </html>}}}
+ * Create presentation XSLT and CSS.  If the XSLT and CSS are specific to the publication,
you may want to store them in {{mypub/xslt/mydoctype2xhtml.xsl}} and {{mypub/resources/shared/css/mydoctype.css}},
respectively.
- * add the presentation pipelines in {{mypub/sitemap.xmap}}
?   ^

+ * Add the presentation pipelines in {{mypub/sitemap.xmap}}
?   ^

+ ;:[FixMe], doesn't this go into {{mypub/doctypes.xmap}}? Is it even needed?
- * configure the menus (either 1. or 2.)
?   ^

+ * Configure the menus (either 1. or 2.)
?   ^

- ## use an existing menu and add necessary menu items
?    ^

+ ## Use an existing menu and add necessary menu items
?    ^

- *** creating new ''mydoctype'' document
- *** edit, ...
+ *** Edit {{mypub/config/menus/generic.xsp}} and add an entry for the new document type
+ *** {{{...
+     <menus>
+       <menu i18n:attr="name" name="File" label="File">
+ 	<block>
+ 	  <xsp:logic>
+ 	    {
+         if (Publication.ARCHIVE_AREA.equals(area) || Publication.TRASH_AREA.equals(area))
{
+           <item><i18n:text>New Document</i18n:text></item>
+         }
+         else {
+           <item uc:usecase="create" uc:step="showscreen" href="?doctype=xhtml"><i18n:text>New
Document</i18n:text></item>
+           <item uc:usecase="create" uc:step="showscreen" href="?doctype=mydoctype"><i18n:text>New
''Doc type'' Document</i18n:text></item>
+         }
+ 	    }
+ 	  </xsp:logic>
+ 	</block>
+ ...}}}
- ## create a custom menu for this doctype
?    ^

+ ## or Create a custom menu for this doctype
?    ^^^^




Mime
View raw message