You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by th...@apache.org on 2006/07/17 17:50:18 UTC

svn commit: r422748 - in /lenya/trunk/src: modules/xopus/ modules/xopus/config/ modules/xopus/config/cocoon-xconf/ modules/xopus/config/cocoon-xconf/input-modules/ modules/xopus/resources/ modules/xopus/resources/schemas/ modules/xopus/xslt/ modules/xo...

Author: thorsten
Date: Mon Jul 17 08:50:17 2006
New Revision: 422748

URL: http://svn.apache.org/viewvc?rev=422748&view=rev
Log:
ASF Bugzilla Bug 39906 - Move Xopus integration code to a module
>From Jonathan Addison. Thank you.

This patch moves all of the xopus files and pipelines from the core to a new
xopus module.

It also fixes some issues left over from migrating xopus from 1.2 to 1.4:
- deleted old stylesheets
- added xopus.path parameter next to xopus.context parameter in xopus.xconf
(previously the pipeline had to be updated with the relative path of the xopus
location)
- added a basic xhtml schema (thanks to Josias)
- added strip_namespaces.xsl to the xopus transformation pipeline

There is a README.txt that covers what needs to be set up.

Added:
    lenya/trunk/src/modules/xopus/
    lenya/trunk/src/modules/xopus/README.txt   (with props)
    lenya/trunk/src/modules/xopus/config/
    lenya/trunk/src/modules/xopus/config/cocoon-xconf/
    lenya/trunk/src/modules/xopus/config/cocoon-xconf/input-modules/
    lenya/trunk/src/modules/xopus/config/cocoon-xconf/input-modules/xopus.xconf   (with props)
    lenya/trunk/src/modules/xopus/module.xml   (with props)
    lenya/trunk/src/modules/xopus/resources/
    lenya/trunk/src/modules/xopus/resources/schemas/
    lenya/trunk/src/modules/xopus/resources/schemas/homepage.xsd   (with props)
    lenya/trunk/src/modules/xopus/resources/schemas/xhtml.xsd   (with props)
    lenya/trunk/src/modules/xopus/sitemap.xmap   (with props)
    lenya/trunk/src/modules/xopus/xslt/
    lenya/trunk/src/modules/xopus/xslt/authoring/
    lenya/trunk/src/modules/xopus/xslt/authoring/edit/
    lenya/trunk/src/modules/xopus/xslt/authoring/edit/xopus-xhtml.xsl   (with props)
    lenya/trunk/src/modules/xopus/xslt/homepage.xsl   (with props)
    lenya/trunk/src/modules/xopus/xslt/xhtml.xsl   (with props)
Removed:
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/input-modules/xopus.xconf
    lenya/trunk/src/webapp/lenya/resources/misc/xopus/download.xhtml
    lenya/trunk/src/webapp/lenya/xslt/authoring/edit/xopus-xhtml.xsl
    lenya/trunk/src/webapp/lenya/xslt/xopus/response.xsl
    lenya/trunk/src/webapp/lenya/xslt/xopus/root.xsl
    lenya/trunk/src/webapp/lenya/xslt/xopus/xopus.xsl
Modified:
    lenya/trunk/src/webapp/global-sitemap.xmap
    lenya/trunk/src/webapp/lenya/usecase.xmap

Added: lenya/trunk/src/modules/xopus/README.txt
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/xopus/README.txt?rev=422748&view=auto
==============================================================================
--- lenya/trunk/src/modules/xopus/README.txt (added)
+++ lenya/trunk/src/modules/xopus/README.txt Mon Jul 17 08:50:17 2006
@@ -0,0 +1,43 @@
+How to configure/install:
+1. download your preferred xopus release (i.e. Xopus-2.1.79)
+
+2. follow the installation instructions to install it on your server
+   (in this case we are unzipping to the tomcat webapps/ROOT directory)
+   
+3. configure the xopus context and path in (local.)build.properties
+   (i.e. xopus.context=Xopus-2.1.79, xopus.path=relative/path/to/tomcat/webapps/ROOT)
+   
+4. set these same two parameters in modules/xopus/config/cocoon-xconf/input-modules/xopus.xconf
+
+5. [optional] if you wish to use a resource type other than xhtml, create a resource type-specific xsl file
+   in <your-pub>/modules/xopus/xslt/{resource-type}.xsl
+   
+6. [optional] this applies only if you do step 5.  create a resource type-specific xsd schema file
+   in <your-pub>/modules/xopus/resources/schemas/{resource-type}.xsd
+   
+7. TODO: add the xopus module call to menu.xsp
+   (currently menu.xsp only recognizes usecases when creating the url, we need to modify the stylesheet to
+   accept lenya.module in addition to lenya.usecase.  It should look similar to what is shown below)
+
+    ex: menu.xsp
+    
+    [...]
+      <menu i18n:attr="name" name="Edit">
+          <xsp:logic>
+            String doctype = <input:get-attribute module="page-envelope" as="string" name="document-type"/>;
+            if ("xhtml".equals(doctype)) {
+                <block info="false">
+                  <item wf:event="edit" uc:usecase="edit.bxe" href="?"><i18n:text>With BXE</i18n:text></item>
+                  <item wf:event="edit" uc:usecase="edit.oneform" href="?"><i18n:text>With one Form</i18n:text></item>
+                  <item wf:event="edit" mod:module="xopus" href="?lenya.step=open"><i18n:text>With Xopus</i18n:text></item>
+                </block>
+            }
+          </xsp:logic>
+      </menu>
+    [...]
+    
+8. build lenya
+
+9. try to edit your document by adding "?lenya.module=xopus&lenya.step=open" to the url and hitting enter.
+   this will eventually be replaced by the menu entry in step 7.
+    

Propchange: lenya/trunk/src/modules/xopus/README.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lenya/trunk/src/modules/xopus/config/cocoon-xconf/input-modules/xopus.xconf
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/xopus/config/cocoon-xconf/input-modules/xopus.xconf?rev=422748&view=auto
==============================================================================
--- lenya/trunk/src/modules/xopus/config/cocoon-xconf/input-modules/xopus.xconf (added)
+++ lenya/trunk/src/modules/xopus/config/cocoon-xconf/input-modules/xopus.xconf Mon Jul 17 08:50:17 2006
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 1999-2005 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: usecases-workflow-deactivate.xconf 348547 2005-11-23 20:13:01Z chestnut $ -->
+<!--
+    This file defines the Xopus context path.
+-->
+
+  <xconf xpath="/cocoon/input-modules" unless="/cocoon/input-modules/component-instance[@name = 'xopus']">
+    <component-instance name="xopus" class="org.apache.cocoon.components.modules.input.DefaultsModule">
+      <values>
+        <!-- Same as from (local.)build.properties -->
+        <context>Xopus-2.1.79</context>
+        <path>../../../../tomcat-5.5.x/build/build/webapps/ROOT</path>
+      </values>
+    </component-instance>
+  </xconf>

Propchange: lenya/trunk/src/modules/xopus/config/cocoon-xconf/input-modules/xopus.xconf
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lenya/trunk/src/modules/xopus/module.xml
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/xopus/module.xml?rev=422748&view=auto
==============================================================================
--- lenya/trunk/src/modules/xopus/module.xml (added)
+++ lenya/trunk/src/modules/xopus/module.xml Mon Jul 17 08:50:17 2006
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2005 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: publication.xml 374687 2006-02-03 15:24:55Z michi $ -->
+
+<lenya:module xmlns:lenya="http://apache.org/lenya/module/1.0">
+  <lenya:id>org.apache.lenya.modules.xopus</lenya:id>
+  <lenya:depends module="org.apache.lenya.modules.usecase"/>
+  <lenya:depends module="org.apache.lenya.modules.sitemanagement"/>
+  <lenya:package>org.apache.lenya.modules</lenya:package>
+  <lenya:version>0.1-dev</lenya:version>
+  <lenya:name>Xopus Module</lenya:name>
+  <lenya:lenya-version>@lenya.version@</lenya:lenya-version>
+  <lenya:description>Xopus Module</lenya:description>
+</lenya:module>

Propchange: lenya/trunk/src/modules/xopus/module.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lenya/trunk/src/modules/xopus/resources/schemas/homepage.xsd
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/xopus/resources/schemas/homepage.xsd?rev=422748&view=auto
==============================================================================
--- lenya/trunk/src/modules/xopus/resources/schemas/homepage.xsd (added)
+++ lenya/trunk/src/modules/xopus/resources/schemas/homepage.xsd Mon Jul 17 08:50:17 2006
@@ -0,0 +1,608 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xhtml="http://www.w3.org/1999/xhtml">
+  <xs:element name="html">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="head"/>
+        <xs:element ref="body"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="head">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="head.content"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="body">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="h1"/>
+          <xs:element ref="h2"/>
+          <xs:element ref="p"/>
+          <xs:element ref="table"/>
+          <xs:element ref="h3"/>
+          <xs:element ref="ul"/>
+          <xs:element ref="ol"/>
+          <xs:element ref="div"/>
+          <xs:element ref="a"/>
+        </xs:choice>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+  
+<xs:group name="Table.class">
+    <xs:choice>
+      <xs:element ref="table"/>
+    </xs:choice>
+  </xs:group>
+
+  <xs:attributeGroup name="CellVAlign.attrib">
+    <xs:attribute name="valign">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="top"/>
+          <xs:enumeration value="middle"/>
+          <xs:enumeration value="bottom"/>
+          <xs:enumeration value="baseline"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="CellHAlign.attrib">
+    <xs:attribute name="align">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="left"/>
+          <xs:enumeration value="center"/>
+          <xs:enumeration value="right"/>
+          <xs:enumeration value="justify"/>
+          <xs:enumeration value="char"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="td.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+    <xs:attribute name="rowspan" type="Number" use="optional" default="1"/>
+    <xs:attribute name="colspan" type="Number" use="optional" default="1"/>
+    <xs:attributeGroup ref="CellHAlign.attrib"/>
+    <xs:attributeGroup ref="CellVAlign.attrib"/>
+    <xs:attribute name="width" type="Pixels" use="optional" />
+    <xs:attribute name="height" type="Pixels" use="optional" />
+  </xs:attributeGroup>
+  <xs:complexType name="td.type" mixed="true">
+    <xs:group ref="Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
+    <xs:attributeGroup ref="td.attlist"/>
+  </xs:complexType>
+  <xs:element name="td" type="td.type"/>
+  <xs:attributeGroup name="th.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+    <xs:attribute name="rowspan" type="Number" use="optional" default="1"/>
+    <xs:attribute name="colspan" type="Number" use="optional" default="1"/>
+    <xs:attributeGroup ref="CellHAlign.attrib"/>
+    <xs:attributeGroup ref="CellVAlign.attrib"/>
+    <xs:attribute name="width" type="Pixels" use="optional" />
+    <xs:attribute name="height" type="Pixels" use="optional" />    
+  </xs:attributeGroup>
+  <xs:complexType name="th.type" mixed="true">
+    <xs:group ref="Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
+    <xs:attributeGroup ref="th.attlist"/>
+  </xs:complexType>
+  <xs:element name="th" type="th.type"/>
+
+  <xs:attributeGroup name="tr.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+    <xs:attributeGroup ref="CellHAlign.attrib"/>
+    <xs:attributeGroup ref="CellVAlign.attrib"/>
+  </xs:attributeGroup>
+  <xs:group name="tr.content">
+    <xs:choice>
+      <xs:element ref="td"/>
+      <xs:element ref="th"/>
+    </xs:choice>
+  </xs:group>
+  <xs:complexType name="tr.type">
+    <xs:group ref="tr.content" minOccurs="1" maxOccurs="unbounded"/>
+    <xs:attributeGroup ref="tr.attlist"/>
+  </xs:complexType>
+  <xs:element name="tr" type="tr.type"/>
+  <xs:group name="tbody.content">
+    <xs:sequence>
+      <xs:element ref="tr" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:group>
+  <xs:complexType name="tbody.type">
+    <xs:group ref="tbody.content"/>
+  </xs:complexType>
+  <xs:element name="tbody" type="tbody.type"/>
+  <xs:attributeGroup name="tfoot.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+    <xs:attributeGroup ref="CellHAlign.attrib"/>
+    <xs:attributeGroup ref="CellVAlign.attrib"/>
+  </xs:attributeGroup>
+  <xs:group name="tfoot.content">
+    <xs:sequence>
+      <xs:element ref="tr" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:group>
+  <xs:complexType name="tfoot.type">
+    <xs:group ref="tfoot.content"/>
+    <xs:attributeGroup ref="tfoot.attlist"/>
+  </xs:complexType>
+  <xs:element name="tfoot" type="tfoot.type"/>
+  <xs:attributeGroup name="thead.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+    <xs:attributeGroup ref="CellHAlign.attrib"/>
+    <xs:attributeGroup ref="CellVAlign.attrib"/>
+  </xs:attributeGroup>
+  <xs:group name="thead.content">
+    <xs:sequence>
+      <xs:element ref="tr" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:group>
+  <xs:complexType name="thead.type">
+    <xs:group ref="thead.content"/>
+    <xs:attributeGroup ref="thead.attlist"/>
+  </xs:complexType>
+  <xs:element name="thead" type="thead.type"/>
+  <xs:attributeGroup name="table.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+    <xs:attribute name="width" type="Length"/>
+    <xs:attribute name="border" type="Pixels" use="optional" />
+    <xs:attribute name="cellspacing" type="Pixels" use="optional" />
+    <xs:attribute name="cellpadding" type="Pixels" use="optional" />
+  </xs:attributeGroup>
+  <xs:group name="table.content">
+    <xs:sequence>
+      <xs:choice>
+        <xs:sequence>
+          <xs:element ref="thead" minOccurs="0"/>
+          <xs:element ref="tfoot" minOccurs="0"/>
+          <xs:element ref="tbody" maxOccurs="unbounded"/>
+        </xs:sequence>
+      </xs:choice>
+    </xs:sequence>
+  </xs:group>
+  <xs:complexType name="table.type" mixed="true">
+    <xs:group ref="table.content"/>
+    <xs:attributeGroup ref="table.attlist"/>
+  </xs:complexType>
+  <xs:element name="table" type="table.type"/>
+
+  <xs:attributeGroup name="InlPres.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+  </xs:attributeGroup>
+  <xs:complexType name="InlPres.type" mixed="true">
+    <xs:group minOccurs="0" maxOccurs="unbounded" ref="Inline.mix"/>
+    <xs:attributeGroup ref="InlPres.attlist"/>
+  </xs:complexType>
+  <xs:element name="sub" type="InlPres.type"/>
+  <xs:element name="sup" type="InlPres.type"/>
+
+  <xs:attributeGroup name="title.attlist">
+  </xs:attributeGroup>
+  <xs:complexType name="title.type" mixed="true">
+    <xs:attributeGroup ref="title.attlist"/>
+  </xs:complexType>
+  <xs:element name="title" type="title.type"/>
+
+  <xs:group name="head.content">
+    <xs:sequence>
+      <xs:element ref="title"/>
+    </xs:sequence>
+  </xs:group>
+  <xs:attributeGroup name="head.attlist">
+  </xs:attributeGroup>
+  <xs:complexType name="head.type">
+    <xs:group ref="head.content"/>
+    <xs:attributeGroup ref="head.attlist"/>
+  </xs:complexType>
+  <xs:element name="head" type="head.type"/>
+
+  <!-- <xs:attributeGroup name="body.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+  </xs:attributeGroup>
+  <xs:complexType name="body.type" mixed="true">
+    <xs:group maxOccurs="unbounded" ref="Block.mix"/>
+    <xs:attributeGroup ref="body.attlist"/>
+  </xs:complexType>
+  <xs:element name="body" type="body.type"/> -->
+
+  <!-- <xs:attributeGroup name="html.attlist">
+  </xs:attributeGroup>
+  <xs:complexType name="html.type">
+    <xs:sequence>
+      <xs:element ref="lenya:meta" minOccurs="0"/>
+      <xs:element ref="head"/>
+      <xs:element ref="body"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="html.attlist"/>
+  </xs:complexType>
+  <xs:element name="html" type="html.type"/>
+ -->
+ 
+  <xs:element name="object">
+    <xs:annotation>
+      <xs:appinfo xmlns:xopus="http://www.xopus.com/xmlns/xsd">
+        <xopus:documentation>
+          <xopus:name xml:lang="en">Object</xopus:name>
+          <xopus:name xml:lang="de">Objekt</xopus:name>
+        </xopus:documentation>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:complexType mixed="true">
+      <xs:attribute name="title" type="xs:string"/>
+      <xs:attribute name="href" type="URI" />
+      <xs:attribute name="type" type="xs:string"/>
+      <xs:attribute name="data" type="xs:string" use="required"/>
+    </xs:complexType>
+  </xs:element>  
+ 
+ 
+<!--   <xs:attributeGroup name="object.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+      <xs:attribute name="title" type="xs:string"/>
+      <xs:attribute name="href" type="URI" use="required"/>
+      <xs:attribute name="type" type="xs:string"/>
+      <xs:attribute name="data" type="xs:string"/>
+  </xs:attributeGroup>
+  <xs:complexType name="object.type">
+    <xs:attributeGroup ref="object.attlist"/>
+  </xs:complexType>
+  <xs:element name="object" type="object.type">
+    <xs:annotation>
+      <xs:appinfo xmlns:xopus="http://www.xopus.com/xmlns/xsd">
+        <xopus:documentation>
+          <xopus:name xml:lang="en">hallo_obj_en</xopus:name>
+          <xopus:name xml:lang="de">hallo_obj_de</xopus:name>
+        </xopus:documentation>
+      </xs:appinfo>
+    </xs:annotation>
+  </xs:element>
+ -->  
+  <xs:element name="a">
+    <xs:complexType mixed="true">
+      <xs:group minOccurs="0" maxOccurs="unbounded" ref="InlNoAnchor.mix"/>  
+      <!-- <xs:sequence>
+        <xs:element minOccurs="0" ref="img"/>
+      </xs:sequence> -->
+      <xs:attribute name="name" type="xs:string"/>
+      <xs:attribute name="popup" type="xs:boolean"/>
+      <xs:attribute name="href" type="URI" use="required"/>
+      <!-- <xs:attribute name="target" type="TargetType"/> -->
+    </xs:complexType>
+  </xs:element>
+
+  
+  <xs:complexType name="li.type" mixed="true">
+    <xs:group minOccurs="0" maxOccurs="unbounded" ref="Flow.mix"/>
+  </xs:complexType>
+  <xs:element name="li" type="li.type"/>
+  <xs:attributeGroup name="ol.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+  </xs:attributeGroup>
+  <xs:complexType name="ol.type">
+    <xs:sequence>
+      <xs:element ref="li" minOccurs="1" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="ol.attlist"/>
+  </xs:complexType>
+  <xs:element name="ol" type="ol.type"/>
+
+  <xs:attributeGroup name="ul.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+  </xs:attributeGroup>
+  <xs:complexType name="ul.type">
+    <xs:sequence>
+      <xs:element ref="li" minOccurs="1" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="ul.attlist"/>
+  </xs:complexType>
+  <xs:element name="ul" type="ul.type"/>
+
+  <xs:attributeGroup name="link.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+    <xs:attribute name="href" type="URI"/>
+    <xs:attribute name="target" type="TargetType"/>
+    <xs:attribute name="name" type="xs:string"/>    
+  </xs:attributeGroup>
+  <xs:complexType name="link.type" mixed="true">
+    <xs:group minOccurs="0" maxOccurs="unbounded" ref="InlNoAnchor.mix"/>
+    <xs:attributeGroup ref="link.attlist"/>
+  </xs:complexType>
+  <xs:element name="link" type="link.type"/>
+  
+  <xs:complexType name="br.type"/>
+  <xs:element name="br" type="br.type"/>  
+
+  <xs:complexType name="span.type" mixed="true">
+    <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
+    <xs:attributeGroup ref="class"/>
+  </xs:complexType>
+  <xs:element name="span" type="span.type"/>
+  <xs:element name="b" type="span.type"/>  
+  
+  <xs:complexType name="font.type" mixed="true">
+    <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
+    <xs:attributeGroup ref="class"/>
+    <xs:attribute name="size" type="xs:integer"/>
+    <xs:attribute name="face" type="xs:string"/>
+  </xs:complexType>
+  <xs:element name="font" type="font.type"/>  
+
+  <xs:attributeGroup name="img.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+    <xs:attribute name="src" type="URI" use="required"/>
+    <xs:attribute name="width" type="Pixels"/>
+    <xs:attribute name="height" type="Pixels"/>
+  </xs:attributeGroup>
+  <xs:complexType name="img.type">
+    <xs:attributeGroup ref="img.attlist"/>
+  </xs:complexType>
+  <xs:element name="img" type="img.type">
+    <xs:annotation>
+      <xs:appinfo xmlns:xopus="http://www.xopus.com/xmlns/xsd">
+        <xopus:documentation>
+          <xopus:name xml:lang="en">Image</xopus:name>
+          <xopus:name xml:lang="de">Bild</xopus:name>
+        </xopus:documentation>
+      </xs:appinfo>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:attributeGroup name="InlPhras.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+  </xs:attributeGroup>
+  <xs:complexType name="InlPhras.type" mixed="true">
+    <xs:group minOccurs="0" maxOccurs="unbounded" ref="Inline.mix"/>
+    <xs:attributeGroup ref="InlPhras.attlist"/>
+  </xs:complexType>
+  <xs:element name="emphasis" type="InlPhras.type"/>
+  <xs:element name="strong" type="InlPhras.type"/>
+  <xs:element name="u" type="InlPhras.type"/>
+
+  <xs:attributeGroup name="div.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+  </xs:attributeGroup>
+  <xs:complexType name="div.type" mixed="true">
+    <xs:group maxOccurs="unbounded" ref="Block.mix"/>
+    <xs:attributeGroup ref="div.attlist"/>
+  </xs:complexType>
+  <xs:element name="div" type="div.type"/>
+
+   <xs:attributeGroup name="p.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+  </xs:attributeGroup>
+  <xs:complexType name="p.type" mixed="true">
+    <xs:group minOccurs="0" maxOccurs="unbounded" ref="Inline.mix"/> 
+    <xs:attributeGroup ref="p.attlist"/>
+  </xs:complexType>
+  <xs:element name="p" type="p.type"/>
+ 
+  <xs:complexType name="heading.type" mixed="true">
+    <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
+    <xs:attributeGroup ref="class"/>
+  </xs:complexType>
+  <xs:element name="h1" type="heading.type"/>
+  <xs:element name="h2" type="heading.type"/>
+  <xs:element name="h3" type="heading.type"/>
+  <xs:element name="h4" type="heading.type"/>
+  <xs:element name="h5" type="heading.type"/>
+  <xs:element name="h6" type="heading.type"/>
+
+  <xs:group name="InlPhras.class">
+    <xs:choice>
+      <xs:element ref="emphasis"/>
+      <xs:element ref="strong"/>
+      <!-- <xs:element ref="u"/> -->
+    </xs:choice>
+  </xs:group>
+  <xs:group name="InlPres.class">
+    <xs:choice>
+      <xs:element ref="sub"/>
+      <xs:element ref="sup"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Anchor.class">
+    <xs:choice>
+      <xs:element ref="a"/>
+      <!-- <xs:element ref="link"/> -->
+    </xs:choice>
+  </xs:group>
+  <xs:group name="InlSpecial.class">
+    <xs:choice>
+      <xs:element ref="img"/>
+      <xs:element ref="object"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Inline.extra">
+    <xs:choice>
+        <xs:element ref="br"/>
+        <!-- <xs:element ref="b"/> -->
+        <xs:element ref="span"/>
+        <xs:element ref="font"/>        
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Inline.class">
+    <xs:choice>
+      <xs:group ref="InlPhras.class"/>
+      <xs:group ref="InlPres.class"/>
+      <xs:group ref="Anchor.class"/>
+      <xs:group ref="InlSpecial.class"/>
+      <xs:group ref="Inline.extra"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="InlNoAnchor.class">
+    <xs:choice>
+      <xs:group ref="InlPhras.class"/>
+      <xs:group ref="InlPres.class"/>
+      <xs:group ref="InlSpecial.class"/>
+      <xs:group ref="Inline.extra"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="InlNoAnchor.mix">
+    <xs:choice>
+      <xs:group ref="InlNoAnchor.class"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Inline.mix">
+    <xs:choice>
+      <xs:group ref="Inline.class"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Heading.class">
+    <xs:choice>
+      <xs:element ref="h1"/>
+      <xs:element ref="h2"/>
+      <xs:element ref="h3"/>
+      <xs:element ref="h4"/>
+      <xs:element ref="h5"/>
+      <xs:element ref="h6"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="List.class">
+    <xs:choice>
+      <xs:element ref="ul"/>
+      <xs:element ref="ol"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="BlkStruct.class">
+    <xs:choice>
+      <xs:element ref="p"/>
+      <xs:element ref="div"/>
+      <!-- <xs:element ref="link"/> -->      
+    </xs:choice>
+  </xs:group>
+  <xs:group name="BlkSpecial.class">
+    <xs:choice>
+      <xs:element ref="table"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Block.extra">
+    <xs:choice>
+    <!-- <xs:choice minOccurs="0" maxOccurs="unbounded"> -->
+        <xs:element ref="br"/>
+        <!-- <xs:element ref="b"/> -->
+        <xs:element ref="span"/>
+        <xs:element ref="font"/>        
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Block.class">
+    <xs:choice>
+      <xs:group ref="BlkStruct.class"/>
+      <xs:group ref="BlkSpecial.class"/>
+      <xs:group ref="Block.extra"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Block.mix">
+    <xs:choice>
+      <xs:group ref="Heading.class"/>
+      <xs:group ref="List.class"/>
+      <xs:group ref="Block.class"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Flow.mix">
+    <xs:choice>
+      <xs:group ref="Heading.class"/>
+      <xs:group ref="List.class"/>
+      <xs:group ref="Block.class"/>
+      <xs:group ref="Inline.class"/>
+    </xs:choice>
+  </xs:group>
+
+  <xs:attributeGroup name="id">
+    <xs:attribute name="id" type="xs:ID"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="class">
+    <xs:attribute name="class" type="xs:NMTOKENS"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="title">
+    <xs:attribute name="title" type="xs:string"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="Core.extra.attrib">
+    <!-- add your attribute here -->
+  </xs:attributeGroup>
+  <xs:attributeGroup name="Core.attrib">
+    <xs:attributeGroup ref="id"/>
+    <xs:attributeGroup ref="class"/>
+    <xs:attributeGroup ref="title"/>
+    <xs:attributeGroup ref="Core.extra.attrib"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="Common.extra">
+    <!-- add your attributes here -->
+  </xs:attributeGroup>
+  <xs:attributeGroup name="Common.attrib">
+    <xs:attributeGroup ref="Core.attrib"/>
+    <xs:attributeGroup ref="Common.extra"/>
+  </xs:attributeGroup>
+
+  <xs:simpleType name="Length">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="LinkTypes">
+    <xs:list itemType="xs:NMTOKEN"/>
+  </xs:simpleType>
+  <xs:simpleType name="MediaDesc">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="MultiLength">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="Number">
+    <xs:restriction base="xs:nonNegativeInteger"/>
+  </xs:simpleType>
+  <xs:simpleType name="Pixels">
+    <xs:restriction base="xs:nonNegativeInteger"/>
+  </xs:simpleType>
+  <xs:simpleType name="Script">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="Color">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="Text">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="Character">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="Charset">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="Charsets">
+    <xs:list itemType="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="ContentType">
+    <xs:list itemType="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="ContentTypes">
+    <xs:list itemType="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="Datetime">
+    <xs:restriction base="xs:normalizedString"/>
+  </xs:simpleType>
+  <xs:simpleType name="LanguageCode">
+    <xs:restriction base="xs:NMTOKEN"/>
+  </xs:simpleType>
+  <xs:simpleType name="TargetType">
+    <xs:restriction base="xs:NMTOKEN">
+      <xs:enumeration value="_blank"/>
+      <xs:enumeration value="_top"/>
+      <xs:enumeration value="_self"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="URI">
+    <xs:restriction base="xs:anyURI"/>
+  </xs:simpleType>
+  <xs:simpleType name="URIs">
+    <xs:list itemType="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="MultiLengths">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  
+ </xs:schema>

Propchange: lenya/trunk/src/modules/xopus/resources/schemas/homepage.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lenya/trunk/src/modules/xopus/resources/schemas/xhtml.xsd
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/xopus/resources/schemas/xhtml.xsd?rev=422748&view=auto
==============================================================================
--- lenya/trunk/src/modules/xopus/resources/schemas/xhtml.xsd (added)
+++ lenya/trunk/src/modules/xopus/resources/schemas/xhtml.xsd Mon Jul 17 08:50:17 2006
@@ -0,0 +1,608 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xhtml="http://www.w3.org/1999/xhtml">
+  <xs:element name="html">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="head"/>
+        <xs:element ref="body"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="head">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="head.content"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="body">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+          <xs:element ref="h1"/>
+          <xs:element ref="h2"/>
+          <xs:element ref="p"/>
+          <xs:element ref="table"/>
+          <xs:element ref="h3"/>
+          <xs:element ref="ul"/>
+          <xs:element ref="ol"/>
+          <xs:element ref="div"/>
+          <xs:element ref="a"/>
+        </xs:choice>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+  
+<xs:group name="Table.class">
+    <xs:choice>
+      <xs:element ref="table"/>
+    </xs:choice>
+  </xs:group>
+
+  <xs:attributeGroup name="CellVAlign.attrib">
+    <xs:attribute name="valign">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="top"/>
+          <xs:enumeration value="middle"/>
+          <xs:enumeration value="bottom"/>
+          <xs:enumeration value="baseline"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="CellHAlign.attrib">
+    <xs:attribute name="align">
+      <xs:simpleType>
+        <xs:restriction base="xs:NMTOKEN">
+          <xs:enumeration value="left"/>
+          <xs:enumeration value="center"/>
+          <xs:enumeration value="right"/>
+          <xs:enumeration value="justify"/>
+          <xs:enumeration value="char"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="td.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+    <xs:attribute name="rowspan" type="Number" use="optional" default="1"/>
+    <xs:attribute name="colspan" type="Number" use="optional" default="1"/>
+    <xs:attributeGroup ref="CellHAlign.attrib"/>
+    <xs:attributeGroup ref="CellVAlign.attrib"/>
+    <xs:attribute name="width" type="Pixels" use="optional" />
+    <xs:attribute name="height" type="Pixels" use="optional" />
+  </xs:attributeGroup>
+  <xs:complexType name="td.type" mixed="true">
+    <xs:group ref="Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
+    <xs:attributeGroup ref="td.attlist"/>
+  </xs:complexType>
+  <xs:element name="td" type="td.type"/>
+  <xs:attributeGroup name="th.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+    <xs:attribute name="rowspan" type="Number" use="optional" default="1"/>
+    <xs:attribute name="colspan" type="Number" use="optional" default="1"/>
+    <xs:attributeGroup ref="CellHAlign.attrib"/>
+    <xs:attributeGroup ref="CellVAlign.attrib"/>
+    <xs:attribute name="width" type="Pixels" use="optional" />
+    <xs:attribute name="height" type="Pixels" use="optional" />    
+  </xs:attributeGroup>
+  <xs:complexType name="th.type" mixed="true">
+    <xs:group ref="Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
+    <xs:attributeGroup ref="th.attlist"/>
+  </xs:complexType>
+  <xs:element name="th" type="th.type"/>
+
+  <xs:attributeGroup name="tr.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+    <xs:attributeGroup ref="CellHAlign.attrib"/>
+    <xs:attributeGroup ref="CellVAlign.attrib"/>
+  </xs:attributeGroup>
+  <xs:group name="tr.content">
+    <xs:choice>
+      <xs:element ref="td"/>
+      <xs:element ref="th"/>
+    </xs:choice>
+  </xs:group>
+  <xs:complexType name="tr.type">
+    <xs:group ref="tr.content" minOccurs="1" maxOccurs="unbounded"/>
+    <xs:attributeGroup ref="tr.attlist"/>
+  </xs:complexType>
+  <xs:element name="tr" type="tr.type"/>
+  <xs:group name="tbody.content">
+    <xs:sequence>
+      <xs:element ref="tr" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:group>
+  <xs:complexType name="tbody.type">
+    <xs:group ref="tbody.content"/>
+  </xs:complexType>
+  <xs:element name="tbody" type="tbody.type"/>
+  <xs:attributeGroup name="tfoot.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+    <xs:attributeGroup ref="CellHAlign.attrib"/>
+    <xs:attributeGroup ref="CellVAlign.attrib"/>
+  </xs:attributeGroup>
+  <xs:group name="tfoot.content">
+    <xs:sequence>
+      <xs:element ref="tr" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:group>
+  <xs:complexType name="tfoot.type">
+    <xs:group ref="tfoot.content"/>
+    <xs:attributeGroup ref="tfoot.attlist"/>
+  </xs:complexType>
+  <xs:element name="tfoot" type="tfoot.type"/>
+  <xs:attributeGroup name="thead.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+    <xs:attributeGroup ref="CellHAlign.attrib"/>
+    <xs:attributeGroup ref="CellVAlign.attrib"/>
+  </xs:attributeGroup>
+  <xs:group name="thead.content">
+    <xs:sequence>
+      <xs:element ref="tr" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:group>
+  <xs:complexType name="thead.type">
+    <xs:group ref="thead.content"/>
+    <xs:attributeGroup ref="thead.attlist"/>
+  </xs:complexType>
+  <xs:element name="thead" type="thead.type"/>
+  <xs:attributeGroup name="table.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+    <xs:attribute name="width" type="Length"/>
+    <xs:attribute name="border" type="Pixels" use="optional" />
+    <xs:attribute name="cellspacing" type="Pixels" use="optional" />
+    <xs:attribute name="cellpadding" type="Pixels" use="optional" />
+  </xs:attributeGroup>
+  <xs:group name="table.content">
+    <xs:sequence>
+      <xs:choice>
+        <xs:sequence>
+          <xs:element ref="thead" minOccurs="0"/>
+          <xs:element ref="tfoot" minOccurs="0"/>
+          <xs:element ref="tbody" maxOccurs="unbounded"/>
+        </xs:sequence>
+      </xs:choice>
+    </xs:sequence>
+  </xs:group>
+  <xs:complexType name="table.type" mixed="true">
+    <xs:group ref="table.content"/>
+    <xs:attributeGroup ref="table.attlist"/>
+  </xs:complexType>
+  <xs:element name="table" type="table.type"/>
+
+  <xs:attributeGroup name="InlPres.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+  </xs:attributeGroup>
+  <xs:complexType name="InlPres.type" mixed="true">
+    <xs:group minOccurs="0" maxOccurs="unbounded" ref="Inline.mix"/>
+    <xs:attributeGroup ref="InlPres.attlist"/>
+  </xs:complexType>
+  <xs:element name="sub" type="InlPres.type"/>
+  <xs:element name="sup" type="InlPres.type"/>
+
+  <xs:attributeGroup name="title.attlist">
+  </xs:attributeGroup>
+  <xs:complexType name="title.type" mixed="true">
+    <xs:attributeGroup ref="title.attlist"/>
+  </xs:complexType>
+  <xs:element name="title" type="title.type"/>
+
+  <xs:group name="head.content">
+    <xs:sequence>
+      <xs:element ref="title"/>
+    </xs:sequence>
+  </xs:group>
+  <xs:attributeGroup name="head.attlist">
+  </xs:attributeGroup>
+  <xs:complexType name="head.type">
+    <xs:group ref="head.content"/>
+    <xs:attributeGroup ref="head.attlist"/>
+  </xs:complexType>
+  <xs:element name="head" type="head.type"/>
+
+  <!-- <xs:attributeGroup name="body.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+  </xs:attributeGroup>
+  <xs:complexType name="body.type" mixed="true">
+    <xs:group maxOccurs="unbounded" ref="Block.mix"/>
+    <xs:attributeGroup ref="body.attlist"/>
+  </xs:complexType>
+  <xs:element name="body" type="body.type"/> -->
+
+  <!-- <xs:attributeGroup name="html.attlist">
+  </xs:attributeGroup>
+  <xs:complexType name="html.type">
+    <xs:sequence>
+      <xs:element ref="lenya:meta" minOccurs="0"/>
+      <xs:element ref="head"/>
+      <xs:element ref="body"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="html.attlist"/>
+  </xs:complexType>
+  <xs:element name="html" type="html.type"/>
+ -->
+ 
+  <xs:element name="object">
+    <xs:annotation>
+      <xs:appinfo xmlns:xopus="http://www.xopus.com/xmlns/xsd">
+        <xopus:documentation>
+          <xopus:name xml:lang="en">Object</xopus:name>
+          <xopus:name xml:lang="de">Objekt</xopus:name>
+        </xopus:documentation>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:complexType mixed="true">
+      <xs:attribute name="title" type="xs:string"/>
+      <xs:attribute name="href" type="URI" />
+      <xs:attribute name="type" type="xs:string"/>
+      <xs:attribute name="data" type="xs:string" use="required"/>
+    </xs:complexType>
+  </xs:element>  
+ 
+ 
+<!--   <xs:attributeGroup name="object.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+      <xs:attribute name="title" type="xs:string"/>
+      <xs:attribute name="href" type="URI" use="required"/>
+      <xs:attribute name="type" type="xs:string"/>
+      <xs:attribute name="data" type="xs:string"/>
+  </xs:attributeGroup>
+  <xs:complexType name="object.type">
+    <xs:attributeGroup ref="object.attlist"/>
+  </xs:complexType>
+  <xs:element name="object" type="object.type">
+    <xs:annotation>
+      <xs:appinfo xmlns:xopus="http://www.xopus.com/xmlns/xsd">
+        <xopus:documentation>
+          <xopus:name xml:lang="en">hallo_obj_en</xopus:name>
+          <xopus:name xml:lang="de">hallo_obj_de</xopus:name>
+        </xopus:documentation>
+      </xs:appinfo>
+    </xs:annotation>
+  </xs:element>
+ -->  
+  <xs:element name="a">
+    <xs:complexType mixed="true">
+      <xs:group minOccurs="0" maxOccurs="unbounded" ref="InlNoAnchor.mix"/>  
+      <!-- <xs:sequence>
+        <xs:element minOccurs="0" ref="img"/>
+      </xs:sequence> -->
+      <xs:attribute name="name" type="xs:string"/>
+      <xs:attribute name="popup" type="xs:boolean"/>
+      <xs:attribute name="href" type="URI" use="required"/>
+      <!-- <xs:attribute name="target" type="TargetType"/> -->
+    </xs:complexType>
+  </xs:element>
+
+  
+  <xs:complexType name="li.type" mixed="true">
+    <xs:group minOccurs="0" maxOccurs="unbounded" ref="Flow.mix"/>
+  </xs:complexType>
+  <xs:element name="li" type="li.type"/>
+  <xs:attributeGroup name="ol.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+  </xs:attributeGroup>
+  <xs:complexType name="ol.type">
+    <xs:sequence>
+      <xs:element ref="li" minOccurs="1" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="ol.attlist"/>
+  </xs:complexType>
+  <xs:element name="ol" type="ol.type"/>
+
+  <xs:attributeGroup name="ul.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+  </xs:attributeGroup>
+  <xs:complexType name="ul.type">
+    <xs:sequence>
+      <xs:element ref="li" minOccurs="1" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="ul.attlist"/>
+  </xs:complexType>
+  <xs:element name="ul" type="ul.type"/>
+
+  <xs:attributeGroup name="link.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+    <xs:attribute name="href" type="URI"/>
+    <xs:attribute name="target" type="TargetType"/>
+    <xs:attribute name="name" type="xs:string"/>    
+  </xs:attributeGroup>
+  <xs:complexType name="link.type" mixed="true">
+    <xs:group minOccurs="0" maxOccurs="unbounded" ref="InlNoAnchor.mix"/>
+    <xs:attributeGroup ref="link.attlist"/>
+  </xs:complexType>
+  <xs:element name="link" type="link.type"/>
+  
+  <xs:complexType name="br.type"/>
+  <xs:element name="br" type="br.type"/>  
+
+  <xs:complexType name="span.type" mixed="true">
+    <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
+    <xs:attributeGroup ref="class"/>
+  </xs:complexType>
+  <xs:element name="span" type="span.type"/>
+  <xs:element name="b" type="span.type"/>  
+  
+  <xs:complexType name="font.type" mixed="true">
+    <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
+    <xs:attributeGroup ref="class"/>
+    <xs:attribute name="size" type="xs:integer"/>
+    <xs:attribute name="face" type="xs:string"/>
+  </xs:complexType>
+  <xs:element name="font" type="font.type"/>  
+
+  <xs:attributeGroup name="img.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+    <xs:attribute name="src" type="URI" use="required"/>
+    <xs:attribute name="width" type="Pixels"/>
+    <xs:attribute name="height" type="Pixels"/>
+  </xs:attributeGroup>
+  <xs:complexType name="img.type">
+    <xs:attributeGroup ref="img.attlist"/>
+  </xs:complexType>
+  <xs:element name="img" type="img.type">
+    <xs:annotation>
+      <xs:appinfo xmlns:xopus="http://www.xopus.com/xmlns/xsd">
+        <xopus:documentation>
+          <xopus:name xml:lang="en">Image</xopus:name>
+          <xopus:name xml:lang="de">Bild</xopus:name>
+        </xopus:documentation>
+      </xs:appinfo>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:attributeGroup name="InlPhras.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+  </xs:attributeGroup>
+  <xs:complexType name="InlPhras.type" mixed="true">
+    <xs:group minOccurs="0" maxOccurs="unbounded" ref="Inline.mix"/>
+    <xs:attributeGroup ref="InlPhras.attlist"/>
+  </xs:complexType>
+  <xs:element name="emphasis" type="InlPhras.type"/>
+  <xs:element name="strong" type="InlPhras.type"/>
+  <xs:element name="u" type="InlPhras.type"/>
+
+  <xs:attributeGroup name="div.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+  </xs:attributeGroup>
+  <xs:complexType name="div.type" mixed="true">
+    <xs:group maxOccurs="unbounded" ref="Block.mix"/>
+    <xs:attributeGroup ref="div.attlist"/>
+  </xs:complexType>
+  <xs:element name="div" type="div.type"/>
+
+   <xs:attributeGroup name="p.attlist">
+    <xs:attributeGroup ref="Common.attrib"/>
+  </xs:attributeGroup>
+  <xs:complexType name="p.type" mixed="true">
+    <xs:group minOccurs="0" maxOccurs="unbounded" ref="Inline.mix"/> 
+    <xs:attributeGroup ref="p.attlist"/>
+  </xs:complexType>
+  <xs:element name="p" type="p.type"/>
+ 
+  <xs:complexType name="heading.type" mixed="true">
+    <xs:group ref="Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
+    <xs:attributeGroup ref="class"/>
+  </xs:complexType>
+  <xs:element name="h1" type="heading.type"/>
+  <xs:element name="h2" type="heading.type"/>
+  <xs:element name="h3" type="heading.type"/>
+  <xs:element name="h4" type="heading.type"/>
+  <xs:element name="h5" type="heading.type"/>
+  <xs:element name="h6" type="heading.type"/>
+
+  <xs:group name="InlPhras.class">
+    <xs:choice>
+      <xs:element ref="emphasis"/>
+      <xs:element ref="strong"/>
+      <!-- <xs:element ref="u"/> -->
+    </xs:choice>
+  </xs:group>
+  <xs:group name="InlPres.class">
+    <xs:choice>
+      <xs:element ref="sub"/>
+      <xs:element ref="sup"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Anchor.class">
+    <xs:choice>
+      <xs:element ref="a"/>
+      <!-- <xs:element ref="link"/> -->
+    </xs:choice>
+  </xs:group>
+  <xs:group name="InlSpecial.class">
+    <xs:choice>
+      <xs:element ref="img"/>
+      <xs:element ref="object"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Inline.extra">
+    <xs:choice>
+        <xs:element ref="br"/>
+        <!-- <xs:element ref="b"/> -->
+        <xs:element ref="span"/>
+        <xs:element ref="font"/>        
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Inline.class">
+    <xs:choice>
+      <xs:group ref="InlPhras.class"/>
+      <xs:group ref="InlPres.class"/>
+      <xs:group ref="Anchor.class"/>
+      <xs:group ref="InlSpecial.class"/>
+      <xs:group ref="Inline.extra"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="InlNoAnchor.class">
+    <xs:choice>
+      <xs:group ref="InlPhras.class"/>
+      <xs:group ref="InlPres.class"/>
+      <xs:group ref="InlSpecial.class"/>
+      <xs:group ref="Inline.extra"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="InlNoAnchor.mix">
+    <xs:choice>
+      <xs:group ref="InlNoAnchor.class"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Inline.mix">
+    <xs:choice>
+      <xs:group ref="Inline.class"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Heading.class">
+    <xs:choice>
+      <xs:element ref="h1"/>
+      <xs:element ref="h2"/>
+      <xs:element ref="h3"/>
+      <xs:element ref="h4"/>
+      <xs:element ref="h5"/>
+      <xs:element ref="h6"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="List.class">
+    <xs:choice>
+      <xs:element ref="ul"/>
+      <xs:element ref="ol"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="BlkStruct.class">
+    <xs:choice>
+      <xs:element ref="p"/>
+      <xs:element ref="div"/>
+      <!-- <xs:element ref="link"/> -->      
+    </xs:choice>
+  </xs:group>
+  <xs:group name="BlkSpecial.class">
+    <xs:choice>
+      <xs:element ref="table"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Block.extra">
+    <xs:choice>
+    <!-- <xs:choice minOccurs="0" maxOccurs="unbounded"> -->
+        <xs:element ref="br"/>
+        <!-- <xs:element ref="b"/> -->
+        <xs:element ref="span"/>
+        <xs:element ref="font"/>        
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Block.class">
+    <xs:choice>
+      <xs:group ref="BlkStruct.class"/>
+      <xs:group ref="BlkSpecial.class"/>
+      <xs:group ref="Block.extra"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Block.mix">
+    <xs:choice>
+      <xs:group ref="Heading.class"/>
+      <xs:group ref="List.class"/>
+      <xs:group ref="Block.class"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Flow.mix">
+    <xs:choice>
+      <xs:group ref="Heading.class"/>
+      <xs:group ref="List.class"/>
+      <xs:group ref="Block.class"/>
+      <xs:group ref="Inline.class"/>
+    </xs:choice>
+  </xs:group>
+
+  <xs:attributeGroup name="id">
+    <xs:attribute name="id" type="xs:ID"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="class">
+    <xs:attribute name="class" type="xs:NMTOKENS"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="title">
+    <xs:attribute name="title" type="xs:string"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="Core.extra.attrib">
+    <!-- add your attribute here -->
+  </xs:attributeGroup>
+  <xs:attributeGroup name="Core.attrib">
+    <xs:attributeGroup ref="id"/>
+    <xs:attributeGroup ref="class"/>
+    <xs:attributeGroup ref="title"/>
+    <xs:attributeGroup ref="Core.extra.attrib"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="Common.extra">
+    <!-- add your attributes here -->
+  </xs:attributeGroup>
+  <xs:attributeGroup name="Common.attrib">
+    <xs:attributeGroup ref="Core.attrib"/>
+    <xs:attributeGroup ref="Common.extra"/>
+  </xs:attributeGroup>
+
+  <xs:simpleType name="Length">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="LinkTypes">
+    <xs:list itemType="xs:NMTOKEN"/>
+  </xs:simpleType>
+  <xs:simpleType name="MediaDesc">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="MultiLength">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="Number">
+    <xs:restriction base="xs:nonNegativeInteger"/>
+  </xs:simpleType>
+  <xs:simpleType name="Pixels">
+    <xs:restriction base="xs:nonNegativeInteger"/>
+  </xs:simpleType>
+  <xs:simpleType name="Script">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="Color">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="Text">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="Character">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="Charset">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="Charsets">
+    <xs:list itemType="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="ContentType">
+    <xs:list itemType="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="ContentTypes">
+    <xs:list itemType="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="Datetime">
+    <xs:restriction base="xs:normalizedString"/>
+  </xs:simpleType>
+  <xs:simpleType name="LanguageCode">
+    <xs:restriction base="xs:NMTOKEN"/>
+  </xs:simpleType>
+  <xs:simpleType name="TargetType">
+    <xs:restriction base="xs:NMTOKEN">
+      <xs:enumeration value="_blank"/>
+      <xs:enumeration value="_top"/>
+      <xs:enumeration value="_self"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="URI">
+    <xs:restriction base="xs:anyURI"/>
+  </xs:simpleType>
+  <xs:simpleType name="URIs">
+    <xs:list itemType="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="MultiLengths">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  
+ </xs:schema>

Propchange: lenya/trunk/src/modules/xopus/resources/schemas/xhtml.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lenya/trunk/src/modules/xopus/sitemap.xmap
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/xopus/sitemap.xmap?rev=422748&view=auto
==============================================================================
--- lenya/trunk/src/modules/xopus/sitemap.xmap (added)
+++ lenya/trunk/src/modules/xopus/sitemap.xmap Mon Jul 17 08:50:17 2006
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2005 The Apache Software Foundation
+  
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: $ -->
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+  
+  
+  <!-- =========================== Views ================================= -->
+
+  <map:views>
+    <map:view from-label="aggregation" name="aggregation">
+      <map:serialize type="xml"/>
+    </map:view>
+    <map:view from-label="xsp" name="xsp">
+      <map:serialize type="xml"/>
+    </map:view>
+  </map:views>
+  
+  <!-- =========================== Resources ================================= -->
+
+  <map:resources>
+    <map:resource name="style-cms-page">
+      <map:transform type="i18n">      
+        <map:parameter name="locale" value="{request:locale}"/>
+      </map:transform>    
+      <map:transform src="fallback://lenya/xslt/util/page2xhtml.xsl">
+        <map:parameter name="contextprefix" value="{request:contextPath}"/>
+      </map:transform>
+      <map:transform src="context://lenya/xslt/util/strip_namespaces.xsl"/>
+    </map:resource>
+  </map:resources>
+  
+  <!-- =========================== Pipelines ================================= -->
+  
+  <map:pipelines>
+  
+    <map:pipeline>
+        
+        <!-- ************************************************************** -->
+        <!-- ** Xopus                                                    ** -->
+        <!-- **                                                          ** -->
+        <!-- ** NOTE: page-envelope:document-path depends on the         ** -->
+        <!-- **       publication specific DocumentIdToPathMapper which  ** -->
+        <!-- **       is configured within config/publication.xconf      ** -->
+        <!-- ************************************************************** -->
+        
+          <map:match pattern="open" type="step">
+            <map:match pattern="*/authoring/**.html">
+              <!-- Check for Xopus (set xopus:path and xopus:context in xopus.xconf) -->
+              <map:act type="resource-exists" src="{xopus:path}/{xopus:context}/xopus/xopus.js">
+              
+                <map:act type="reserved-checkout">
+                  <map:generate type="serverpages" src="fallback://lenya/content/rc/{exception}.xsp">
+                    <map:parameter name="user" value="{user}"/>
+                    <map:parameter name="filename" value="{filename}"/>
+                    <map:parameter name="date" value="{date}"/>
+                    <map:parameter name="message" value="{message}"/>
+                  </map:generate>
+                  <map:transform src="fallback://lenya/xslt/rc/rco-exception.xsl"/>
+                  <map:call resource="style-cms-page"/>
+                  <map:serialize />
+                </map:act>
+                
+                <map:generate src="context://lenya/content/util/empty.xml"/>
+                <map:transform src="fallback://lenya/modules/xopus/xslt/authoring/edit/xopus-xhtml.xsl">
+                  <map:parameter name="contextPrefix" value="{request:contextPath}"/>
+                  <map:parameter name="publicationId" value="{page-envelope:publication-id}"/>
+                  <map:parameter name="completeArea" value="authoring"/>
+                  <map:parameter name="documentUrl" value="{page-envelope:document-url}"/>
+                  <map:parameter name="documentId" value="{page-envelope:document-id}"/>
+                  <map:parameter name="xopusContext" value="{xopus:context}"/>
+                </map:transform>
+                <!-- NOTE: IE or Xopus doesn't appreciate the DTD which is being inserted by Cocoon -->
+                <map:serialize type="html-no-dtd"/>
+              </map:act>
+              <map:generate src="resources/misc/download.xhtml"/>
+              <map:call resource="style-cms-page"/>
+              <map:serialize />
+            </map:match>
+          </map:match>
+          
+          
+          <map:match pattern="xml" type="step">
+            <map:match pattern="*/*/**.html">
+              <map:select type="request-method">
+                <map:when test="POST"> <!-- Save -->
+
+                  <!-- test if the document is checked out -->
+        	        <map:act type="reserved-checkout-test">
+            	      <map:generate type="serverpages" src="fallback://lenya/content/rc/{exception}.xsp">
+                	    <map:parameter name="user" value="{user}"/>
+                    	<map:parameter name="filename" value="{filename}"/>
+        	            <map:parameter name="date" value="{date}"/>
+                        <map:parameter name="message" value="{message}"/>
+            	      </map:generate>
+                	  <map:transform src="fallback://lenya/xslt/rc/rco-exception.xsl"/>
+        	          <map:call resource="style-cms-page"/>
+        	          <map:serialize />
+                	</map:act>
+        
+                  <map:generate type="stream"/>
+                  <map:transform src="fallback://lenya/xslt/authoring/edit/addSourceTags.xsl">
+                    <map:parameter name="source" value="context://lenya/pubs/{1}/content/{2}/{page-envelope:document-path}"/>
+                  </map:transform>
+                  <map:transform type="write-source">
+                    <map:parameter name="serializer" value="xml"/>
+                  </map:transform>
+                  <map:serialize type="xml"/>
+                </map:when>
+                <map:otherwise> <!-- GET: Open -->
+                  <map:act type="set-header">
+                    <!-- prevent caching in the browser -->
+                    <map:parameter name="Cache-Control" value="pre-check=0" />
+                    <map:parameter name="Expires" value="-1" />
+                  </map:act>
+                  <map:generate src="context://lenya/pubs/{1}/content/{2}/{page-envelope:document-path}"/>
+                  <map:serialize type="xml"/>
+                </map:otherwise>
+              </map:select>
+            </map:match>
+          </map:match>
+          
+          
+          <map:match pattern="xsd" type="step">
+            <map:match pattern="*/authoring/**.html">
+              <map:select type="resource-exists">
+              <map:parameter name="prefix" value="fallback://"/>
+                <map:when test="lenya/modules/xopus/resources/schemas/{page-envelope:document-type}.xsd">
+                  <map:generate src="fallback://lenya/modules/xopus/resources/schemas/{page-envelope:document-type}.xsd"/>
+                  <map:serialize type="xml" />
+                </map:when>
+                <map:otherwise>
+                  <map:generate src="fallback://lenya/modules/xopus/resources/schemas/xhtml.xsd"/>
+                  <map:serialize type="xml" />
+                </map:otherwise>
+              </map:select>
+            </map:match>
+          </map:match>
+          
+          <map:match pattern="xslt" type="step">
+            <map:match pattern="*/authoring/**.html">
+              <map:select type="resource-exists">
+              <map:parameter name="prefix" value="fallback://"/>
+                <map:when test="lenya/modules/xopus/xslt/{page-envelope:document-type}.xsl">
+                  <map:generate src="fallback://lenya/modules/xopus/xslt/{page-envelope:document-type}.xsl"/>
+                  <map:serialize type="xml" />
+                </map:when>
+                <map:otherwise>
+                  <map:generate src="fallback://lenya/modules/xopus/xslt/xhtml.xsl"/>
+                  <map:serialize type="xml" />
+                </map:otherwise>
+              </map:select>
+            </map:match>
+            
+            <!-- This is needed to access secondary xsl files from within xopus-xhtml.xsl -->
+            <map:match pattern="*/authoring/**.xsl">
+              <map:select type="resource-exists">
+                <map:when test="xslt/{2}.xsl">
+                  <map:read src="xslt/{2}.xsl" mime-type="application/xml"/>
+                </map:when>
+                <map:when test="fallback://lenya/xslt/{2}.xsl">
+                  <map:read src="fallback://lenya/xslt/{2}.xsl" mime-type="application/xml"/>
+                </map:when>
+                <map:otherwise>
+                  <map:generate src="context://lenya/content/util/empty.xml"/>
+                  <map:serialize status-code="500" />
+                </map:otherwise>
+              </map:select>
+            </map:match>
+          </map:match>
+
+        <!-- ************************************************************** -->
+        <!-- ********  /Xopus Editor ************************************** -->
+        <!-- ************************************************************** -->
+      
+    </map:pipeline>
+    
+  </map:pipelines>
+
+</map:sitemap>

Propchange: lenya/trunk/src/modules/xopus/sitemap.xmap
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lenya/trunk/src/modules/xopus/xslt/authoring/edit/xopus-xhtml.xsl
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/xopus/xslt/authoring/edit/xopus-xhtml.xsl?rev=422748&view=auto
==============================================================================
--- lenya/trunk/src/modules/xopus/xslt/authoring/edit/xopus-xhtml.xsl (added)
+++ lenya/trunk/src/modules/xopus/xslt/authoring/edit/xopus-xhtml.xsl Mon Jul 17 08:50:17 2006
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: xopus-xhtml.xsl,v 1.7 2004/07/20 13:51:13 edith Exp $ -->
+
+<xsl:stylesheet version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+>
+
+<xsl:param name="documentId"/>
+<xsl:param name="documentUrl"/>
+<xsl:param name="publicationId"/>
+<xsl:param name="completeArea"/>
+<xsl:param name="contextPrefix"/>
+<xsl:param name="xopusContext"/>
+
+
+<xsl:variable name="lenyaContext" select="concat($contextPrefix, '/', $publicationId, '/', $completeArea)"/>
+<xsl:variable name="lenyaDocumentUrl" select="concat($lenyaContext, $documentUrl)"/>
+
+<xsl:template match="/*">
+<html>
+  <head>
+    <title>Load Xopus ...</title>
+    <script language="JavaScript" src="/{$xopusContext}/xopus/xopus.js"/>
+  </head>
+  <body bgcolor="#FFFFFF">
+    <div xopus="true" autostart="true">
+      ...Xopus hasn't started yet...
+      <xml>
+        <pipeline
+            xml="{$lenyaDocumentUrl}?lenya.module=xopus&amp;lenya.step=xml"
+            xsd="{$lenyaDocumentUrl}?lenya.module=xopus&amp;lenya.step=xsd">
+            
+          <view id="defaultView" default="true">
+            <transform xsl="/{$xopusContext}/xopusPlugins/preparexinclude.xsl"/>
+            <resolveXIncludes/>
+            <transform xsl="{$lenyaContext}/util/strip_namespaces.xsl?lenya.module=xopus&amp;lenya.step=xslt"/>
+            <transform xsl="{$lenyaDocumentUrl}?lenya.module=xopus&amp;lenya.step=xslt">
+              <param name="contextprefix"><xsl:value-of select="$contextPrefix"/></param>
+              <param name="publicationid"><xsl:value-of select="$publicationId"/></param>
+              <param name="completearea"><xsl:value-of select="$completeArea"/></param>
+	          <param name="documentid"><xsl:value-of select="$documentId"/></param>
+            </transform>
+          </view>
+          
+          <!--
+          <view id="step1">
+            <transform xsl="/{$xopusContext}/xopusPlugins/preparexinclude.xsl"/>
+            <transform xsl="/{$xopusContext}/xopus/media/treeview/tree.xsl"></transform>
+          </view>
+          <view id="step2">
+            <transform xsl="/{$xopusContext}/xopusPlugins/preparexinclude.xsl"/>
+            <resolveXIncludes/>
+            <transform xsl="/{$xopusContext}/xopus/media/treeview/tree.xsl"></transform>
+          </view>
+          -->
+          
+          <view id="treeView">
+            <transform xsl="/{$xopusContext}/xopus/media/treeview/tree.xsl"></transform>
+          </view>
+        </pipeline>
+      </xml>
+    </div>
+  </body>
+</html>
+</xsl:template>
+
+</xsl:stylesheet>

Propchange: lenya/trunk/src/modules/xopus/xslt/authoring/edit/xopus-xhtml.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lenya/trunk/src/modules/xopus/xslt/homepage.xsl
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/xopus/xslt/homepage.xsl?rev=422748&view=auto
==============================================================================
--- lenya/trunk/src/modules/xopus/xslt/homepage.xsl (added)
+++ lenya/trunk/src/modules/xopus/xslt/homepage.xsl Mon Jul 17 08:50:17 2006
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<xsl:template match="@*|node()">
+  <xsl:copy>
+    <xsl:apply-templates select="@*|node()"/>
+  </xsl:copy>
+</xsl:template>
+
+</xsl:stylesheet>

Propchange: lenya/trunk/src/modules/xopus/xslt/homepage.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lenya/trunk/src/modules/xopus/xslt/xhtml.xsl
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/xopus/xslt/xhtml.xsl?rev=422748&view=auto
==============================================================================
--- lenya/trunk/src/modules/xopus/xslt/xhtml.xsl (added)
+++ lenya/trunk/src/modules/xopus/xslt/xhtml.xsl Mon Jul 17 08:50:17 2006
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<xsl:template match="@*|node()">
+  <xsl:copy>
+    <xsl:apply-templates select="@*|node()"/>
+  </xsl:copy>
+</xsl:template>
+
+</xsl:stylesheet>

Propchange: lenya/trunk/src/modules/xopus/xslt/xhtml.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: lenya/trunk/src/webapp/global-sitemap.xmap
URL: http://svn.apache.org/viewvc/lenya/trunk/src/webapp/global-sitemap.xmap?rev=422748&r1=422747&r2=422748&view=diff
==============================================================================
--- lenya/trunk/src/webapp/global-sitemap.xmap (original)
+++ lenya/trunk/src/webapp/global-sitemap.xmap Mon Jul 17 08:50:17 2006
@@ -15,7 +15,7 @@
   limitations under the License.
 -->
 
-<!-- $Id$ -->
+<!-- $Id: global-sitemap.xmap 417349 2006-06-27 06:00:29Z chestnut $ -->
     
 <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
 
@@ -93,13 +93,6 @@
         <map:transform src="lenya/xslt/util/xinclude.xsl"/>
         <map:transform type="xinclude"/>
         <map:serialize type="xml"/>
-      </map:match>
-    </map:pipeline>
-
-    <!-- Editor Xopus -->
-    <map:pipeline>
-      <map:match pattern="xopus/**">
-        <map:mount uri-prefix="xopus" src="lenya/xopus.xmap" check-reload="true" reload-method="synchron"/>
       </map:match>
     </map:pipeline>
 

Modified: lenya/trunk/src/webapp/lenya/usecase.xmap
URL: http://svn.apache.org/viewvc/lenya/trunk/src/webapp/lenya/usecase.xmap?rev=422748&r1=422747&r2=422748&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/usecase.xmap (original)
+++ lenya/trunk/src/webapp/lenya/usecase.xmap Mon Jul 17 08:50:17 2006
@@ -114,108 +114,7 @@
             <map:mount check-reload="true" reload-method="synchron" src="usecases/{../1}/usecase-{../1}.xmap" uri-prefix=""/>
           </map:act>
         </map:match>
-        
-        <!-- ************************************************************** -->
-        <!-- ** Xopus                                                    ** -->
-        <!-- **                                                          ** -->
-        <!-- ** NOTE: page-envelope:document-path depends on the         ** -->
-        <!-- **       publication specific DocumentIdToPathMapper which  ** -->
-        <!-- **       is configured within config/publication.xconf      ** -->
-        <!-- ************************************************************** -->
-        <map:match pattern="xopus" type="usecase">
-          <map:match pattern="open" type="step">
-            <map:match pattern="*/authoring/**.html">
-              <map:act type="resource-exists" src="../../ROOT/{xopus:context}/xopus/xopus.js"> <!-- Check for Xopus -->
-              
-                <map:act type="reserved-checkout">
-                  <map:generate type="serverpages" src="content/rc/{exception}.xsp">
-                    <map:parameter name="user" value="{user}"/>
-                    <map:parameter name="filename" value="{filename}"/>
-                    <map:parameter name="date" value="{date}"/>
-                    <map:parameter name="message" value="{message}"/>
-                  </map:generate>
-                  <map:transform src="fallback://lenya/xslt/rc/rco-exception.xsl"/>
-                  <map:call resource="style-cms-page"/>
-                  <map:serialize />
-                </map:act>
-                
-                <map:generate src="content/util/empty.xml"/>
-                <map:transform src="fallback://lenya/xslt/authoring/edit/xopus-xhtml.xsl">
-                  <map:parameter name="contextPrefix" value="{request:contextPath}"/>
-                  <map:parameter name="publicationId" value="{page-envelope:publication-id}"/>
-                  <map:parameter name="completeArea" value="authoring"/>
-                  <map:parameter name="documentUrl" value="{page-envelope:document-url}"/>
-                  <map:parameter name="documentId" value="{page-envelope:document-id}"/>
-                  <map:parameter name="documentType" value="{request-param:doctype}"/>
-                  <map:parameter name="xopusContext" value="{xopus:context}"/>
-                </map:transform>
-                <!-- NOTE: IE or Xopus doesn't appreciate the DTD which is being inserted by Cocoon -->
-                <map:serialize type="html-no-dtd"/>
-              </map:act>
-              <map:generate src="resources/misc/xopus/download.xhtml"/>
-              <map:call resource="style-cms-page"/>
-              <map:serialize />
-            </map:match>
-          </map:match>
-          
-          
-          <map:match pattern="xml" type="step">
-            <map:match pattern="*/*/**.html">
-              <map:select type="request-method">
-                <map:when test="POST"> <!-- Save -->
 
-                  <!-- test if the document is checked out -->
-        	        <map:act type="reserved-checkout-test">
-            	      <map:generate type="serverpages" src="fallback://lenya/content/rc/{exception}.xsp">
-                	    <map:parameter name="user" value="{user}"/>
-                    	<map:parameter name="filename" value="{filename}"/>
-        	            <map:parameter name="date" value="{date}"/>
-                        <map:parameter name="message" value="{message}"/>
-            	      </map:generate>
-                	  <map:transform src="fallback://lenya/xslt/rc/rco-exception.xsl"/>
-        	          <map:call resource="style-cms-page"/>
-        	          <map:serialize />
-                	</map:act>
-        
-                  <map:generate type="stream"/>
-                  <map:transform src="xslt/authoring/edit/addSourceTags.xsl">
-                    <map:parameter name="source" value="pubs/{1}/content/{2}/{page-envelope:document-path}"/>
-                  </map:transform>
-                  <map:transform type="write-source">
-                    <map:parameter name="serializer" value="xml"/>
-                  </map:transform>
-                  <map:serialize type="xml"/>
-                </map:when>
-                <map:otherwise> <!-- GET: Open -->
-                  <map:act type="set-header">
-                    <!-- prevent caching in the browser -->
-                    <map:parameter name="Cache-Control" value="pre-check=0" />
-                    <map:parameter name="Expires" value="-1" />
-                  </map:act>
-                  <map:generate src="pubs/{1}/content/{2}/{page-envelope:document-path}"/>
-                  <map:serialize type="xml"/>
-                </map:otherwise>
-              </map:select>
-            </map:match>
-          </map:match>
-          
-          
-          <map:match pattern="xsd" type="step">
-            <map:match pattern="*/authoring/**.html">
-              <map:generate src="fallback://config/doctypes/schemas/{request-param:doctype}.xsd"/>
-              <map:serialize type="xml"/>
-            </map:match>
-          </map:match>
-          <map:match pattern="xslt" type="step">
-            <map:match pattern="*/authoring/**.html">
-              <map:generate src="fallback://lenya/xslt/xopus/{request-param:doctype}.xsl"/>
-              <map:serialize type="xml"/>
-            </map:match>
-          </map:match>
-        </map:match>
-        <!-- ************************************************************** -->
-        <!-- ********  /Xopus Editor ************************************** -->
-        <!-- ************************************************************** -->
         
         <!-- CheckOut -->
         <map:match pattern="checkout" type="usecase">



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


Re: svn commit: r422748 - in /lenya/trunk/src: modules/xopus/ modules/xopus/config/ modules/xopus/config/cocoon-xconf/ modules/xopus/config/cocoon-xconf/input-modules/ modules/xopus/resources/ modules/xopus/resources/schemas/ modules/xopus/xslt/ modules/xo...

Posted by Jörn Nettingsmeier <po...@uni-duisburg.de>.
Andreas Hartmann wrote:
> thorsten@apache.org wrote:

>> Added:
> 
>>     lenya/trunk/src/modules/xopus/resources/schemas/homepage.xsd   
>> (with props)
>>     lenya/trunk/src/modules/xopus/resources/schemas/xhtml.xsd   (with 
>> props)
> 
> We should avoid to put resource-type specific files in the
> editor modules. The editor code and the resource types should
> be orthogonal to each other. If this can't be achieved, we should
> IMO rather put the intersection code into the resource type
> modules, and treat it as "resource-type specific editor
> configuration".

!

> With the XSDs, the case is quite clear - they belong to the
> resource type, not to the editor.
> 
> WDYT?

strongly agreed.

-- 
"Open source takes the bullshit out of software."
	- Charles Ferguson on TechnologyReview.com

--
Jörn Nettingsmeier, EDV-Administrator
Institut für Politikwissenschaft
Universität Duisburg-Essen, Standort Duisburg
Mail: pol-admin@uni-due.de, Telefon: 0203/379-2736

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


Re: svn commit: r422748 - in /lenya/trunk/src: modules/xopus/ modules/xopus/config/ modules/xopus/config/cocoon-xconf/ modules/xopus/config/cocoon-xconf/input-modules/ modules/xopus/resources/ modules/xopus/resources/schemas/ modules/xopus/xslt/ modules/xo...

Posted by Andreas Hartmann <an...@apache.org>.
thorsten@apache.org wrote:
> Author: thorsten
> Date: Mon Jul 17 08:50:17 2006
> New Revision: 422748
> 
> URL: http://svn.apache.org/viewvc?rev=422748&view=rev
> Log:
> ASF Bugzilla Bug 39906 - Move Xopus integration code to a module
> From Jonathan Addison. Thank you.

Jonathan and Thorsten, thanks for taking care of this!

[...]

> Added:

>     lenya/trunk/src/modules/xopus/resources/schemas/homepage.xsd   (with props)
>     lenya/trunk/src/modules/xopus/resources/schemas/xhtml.xsd   (with props)

We should avoid to put resource-type specific files in the
editor modules. The editor code and the resource types should
be orthogonal to each other. If this can't be achieved, we should
IMO rather put the intersection code into the resource type
modules, and treat it as "resource-type specific editor
configuration".

With the XSDs, the case is quite clear - they belong to the
resource type, not to the editor.

WDYT?

-- Andreas


-- 
Andreas Hartmann
Wyona Inc.  -   Open Source Content Management   -   Apache Lenya
http://www.wyona.com                      http://lenya.apache.org
andreas.hartmann@wyona.com                     andreas@apache.org


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