[Yanel-commits] rev 21062 - in public/yanel/trunk: conf src/contributions/resources src/contributions/resources/pdf src/contributions/resources/pdf/build src/contributions/resources/pdf/build/classes src/contributions/resources/pdf/build/classes/org src/contributions/resources/pdf/build/classes/org/wyona src/contributions/resources/pdf/build/classes/org/wyona/yanel src/contributions/resources/pdf/build/classes/org/wyona/yanel/impl src/contributions/resources/pdf/build/classes/org/wyona/yanel/impl/resources src/contributions/resources/pdf/build/lib src/contributions/resources/pdf/src src/contributions/resources/pdf/src/build src/contributions/resources/pdf/src/java src/contributions/resources/pdf/src/java/org src/contributions/resources/pdf/src/java/org/wyona src/contributions/resources/pdf/src/java/org/wyona/yanel src/contributions/resources/pdf/src/java/org/wyona/yanel/impl src/contributions/resources/pdf/src/java/org/wyona/yanel/impl/resources src/contributions/resources/pdf/xslt src/realms/yanel-website/content src/realms/yanel-website/content/rtd src/realms/yanel-website/content/xslt src/realms/yanel-website/paths/hello src/realms/yanel-website/paths/hello/pdf-sample.pdf.yanel-rti src/realms/yanel-website/paths/hello/pdf-sample2.pdf.yanel-rti src/realms/yanel-website/paths/xslt src/realms/yanel-website/paths/xslt/samplePdf2.xsl

josias at wyona.com josias at wyona.com
Thu Dec 21 12:10:56 CET 2006


Author: josias
Date: 2006-12-21 12:10:54 +0100 (Thu, 21 Dec 2006)
New Revision: 21062

Added:
   public/yanel/trunk/src/contributions/resources/pdf/
   public/yanel/trunk/src/contributions/resources/pdf/build.xml
   public/yanel/trunk/src/contributions/resources/pdf/build/
   public/yanel/trunk/src/contributions/resources/pdf/build/classes/
   public/yanel/trunk/src/contributions/resources/pdf/build/classes/org/
   public/yanel/trunk/src/contributions/resources/pdf/build/classes/org/wyona/
   public/yanel/trunk/src/contributions/resources/pdf/build/classes/org/wyona/yanel/
   public/yanel/trunk/src/contributions/resources/pdf/build/classes/org/wyona/yanel/impl/
   public/yanel/trunk/src/contributions/resources/pdf/build/classes/org/wyona/yanel/impl/resources/
   public/yanel/trunk/src/contributions/resources/pdf/build/classes/org/wyona/yanel/impl/resources/PDFResource.class
   public/yanel/trunk/src/contributions/resources/pdf/build/lib/
   public/yanel/trunk/src/contributions/resources/pdf/build/lib/yanel-resource-pdf-0.0.1-dev-rXXX.jar
   public/yanel/trunk/src/contributions/resources/pdf/resource.xml
   public/yanel/trunk/src/contributions/resources/pdf/src/
   public/yanel/trunk/src/contributions/resources/pdf/src/build/
   public/yanel/trunk/src/contributions/resources/pdf/src/build/build.properties
   public/yanel/trunk/src/contributions/resources/pdf/src/build/dependencies.xml
   public/yanel/trunk/src/contributions/resources/pdf/src/java/
   public/yanel/trunk/src/contributions/resources/pdf/src/java/org/
   public/yanel/trunk/src/contributions/resources/pdf/src/java/org/wyona/
   public/yanel/trunk/src/contributions/resources/pdf/src/java/org/wyona/yanel/
   public/yanel/trunk/src/contributions/resources/pdf/src/java/org/wyona/yanel/impl/
   public/yanel/trunk/src/contributions/resources/pdf/src/java/org/wyona/yanel/impl/resources/
   public/yanel/trunk/src/contributions/resources/pdf/src/java/org/wyona/yanel/impl/resources/PDFResource.java
   public/yanel/trunk/src/contributions/resources/pdf/xslt/
   public/yanel/trunk/src/contributions/resources/pdf/xslt/xml2fo.xsl
   public/yanel/trunk/src/realms/yanel-website/content/rtd/pdf.rtd
   public/yanel/trunk/src/realms/yanel-website/content/rtd/pdf2.rtd
   public/yanel/trunk/src/realms/yanel-website/content/samplePdf.xml
   public/yanel/trunk/src/realms/yanel-website/content/samplePdf2.xml
   public/yanel/trunk/src/realms/yanel-website/content/xslt/samplePdf2.xsl
   public/yanel/trunk/src/realms/yanel-website/paths/hello/pdf-sample.pdf.yanel-rti/
   public/yanel/trunk/src/realms/yanel-website/paths/hello/pdf-sample.pdf.yanel-rti/.yarep-uid
   public/yanel/trunk/src/realms/yanel-website/paths/hello/pdf-sample2.pdf.yanel-rti/
   public/yanel/trunk/src/realms/yanel-website/paths/hello/pdf-sample2.pdf.yanel-rti/.yarep-uid
   public/yanel/trunk/src/realms/yanel-website/paths/xslt/samplePdf2.xsl/
   public/yanel/trunk/src/realms/yanel-website/paths/xslt/samplePdf2.xsl/.yarep-uid
Modified:
   public/yanel/trunk/conf/yanel.xml
   public/yanel/trunk/src/realms/yanel-website/content/testing.xhtml
Log:
added pdf resource, see bug #5085. thanks to Paloma.

Modified: public/yanel/trunk/conf/yanel.xml
===================================================================
--- public/yanel/trunk/conf/yanel.xml	2006-12-21 10:46:40 UTC (rev 21061)
+++ public/yanel/trunk/conf/yanel.xml	2006-12-21 11:10:54 UTC (rev 21062)
@@ -22,6 +22,7 @@
   <resource src="../src/resources/websearch/"                   compile="true"/>
   <resource src="../src/contributions/resources/nutch/"         compile="true"/>
   <resource src="../src/contributions/resources/davcollection/" compile="true"/>
+  <resource src="../src/contributions/resources/pdf/"           compile="true"/> 
 </resources>
 
 # Realms configuration

Added: public/yanel/trunk/src/contributions/resources/pdf/build/classes/org/wyona/yanel/impl/resources/PDFResource.class
===================================================================
(Binary files differ)


Property changes on: public/yanel/trunk/src/contributions/resources/pdf/build/classes/org/wyona/yanel/impl/resources/PDFResource.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: public/yanel/trunk/src/contributions/resources/pdf/build/lib/yanel-resource-pdf-0.0.1-dev-rXXX.jar
===================================================================
(Binary files differ)


Property changes on: public/yanel/trunk/src/contributions/resources/pdf/build/lib/yanel-resource-pdf-0.0.1-dev-rXXX.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: public/yanel/trunk/src/contributions/resources/pdf/build.xml
===================================================================
--- public/yanel/trunk/src/contributions/resources/pdf/build.xml	2006-12-21 10:46:40 UTC (rev 21061)
+++ public/yanel/trunk/src/contributions/resources/pdf/build.xml	2006-12-21 11:10:54 UTC (rev 21062)
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+
+<project name="yanel-resource" default="compile">
+
+  <import file="src/build/dependencies.xml"/>
+
+  <target name="init" description="Initialize build" depends="dependencies">
+    <echo>Initialize build</echo>
+
+    <dirname property="resource.home.dir" file="${ant.file}"/>
+    <echo>Resource Home Directory: ${resource.home.dir}</echo>
+
+    <property file="${resource.home.dir}/src/build/local.build.properties"/>
+    <property file="${resource.home.dir}/src/build/build.properties"/>
+
+    <path id="classpath">
+      <pathelement path="${maven2.cp}"/>
+      <pathelement path="${maven2.resource.cp}"/>
+    </path>
+    <property name="resource.build.dir" value="${resource.home.dir}/build"/>
+    <property name="resource.classes.dir" value="${resource.build.dir}/classes"/>
+    <property name="resource.lib.dir" value="${resource.build.dir}/lib"/>
+    <property name="resource.java.dir" value="${resource.home.dir}/src/java"/>
+  </target>
+
+  <target name="compile" description="Compile Java classes" depends="init">
+
+    <mkdir dir="${resource.classes.dir}"/>
+    <javac srcdir="${resource.java.dir}" destdir="${resource.classes.dir}"
+      classpathref="classpath"
+      debug="true"
+    />
+    <mkdir dir="${resource.lib.dir}"/>
+    <jar destfile="${resource.lib.dir}/yanel-resource-${resource.name}-${resource.version}.jar"
+      basedir="${resource.classes.dir}"
+    />
+  </target>
+
+  <target name="clean" depends="init">
+    <delete dir="${resource.build.dir}"/>
+  </target>
+
+  <target name="copy-dependencies" depends="init">
+    <copy todir="${build.dir}/webapps/${servlet.context.prefix}/WEB-INF/lib">
+      <fileset refid="maven2.resource.fileset"/>
+      <mapper type="flatten"/>
+    </copy>
+  </target>
+</project>


Property changes on: public/yanel/trunk/src/contributions/resources/pdf/build.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: public/yanel/trunk/src/contributions/resources/pdf/resource.xml
===================================================================
--- public/yanel/trunk/src/contributions/resources/pdf/resource.xml	2006-12-21 10:46:40 UTC (rev 21061)
+++ public/yanel/trunk/src/contributions/resources/pdf/resource.xml	2006-12-21 11:10:54 UTC (rev 21062)
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+
+<resource xmlns="http://www.wyona.org/yanel/1.0" 
+          name="pdf" 
+          namespace="http://www.wyona.org/yanel/resource/1.0"
+          class="org.wyona.yanel.impl.resources.PDFResource"
+          >
+<description>
+Pdf Resource
+</description>
+<rtd>
+ <property name="xslt"/>
+</rtd>
+</resource>


Property changes on: public/yanel/trunk/src/contributions/resources/pdf/resource.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: public/yanel/trunk/src/contributions/resources/pdf/src/build/build.properties
===================================================================
--- public/yanel/trunk/src/contributions/resources/pdf/src/build/build.properties	2006-12-21 10:46:40 UTC (rev 21061)
+++ public/yanel/trunk/src/contributions/resources/pdf/src/build/build.properties	2006-12-21 11:10:54 UTC (rev 21062)
@@ -0,0 +1,2 @@
+resource.name=pdf
+resource.version=0.0.1-dev-rXXX


Property changes on: public/yanel/trunk/src/contributions/resources/pdf/src/build/build.properties
___________________________________________________________________
Name: svn:eol-style
   + native

Added: public/yanel/trunk/src/contributions/resources/pdf/src/build/dependencies.xml
===================================================================
--- public/yanel/trunk/src/contributions/resources/pdf/src/build/dependencies.xml	2006-12-21 10:46:40 UTC (rev 21061)
+++ public/yanel/trunk/src/contributions/resources/pdf/src/build/dependencies.xml	2006-12-21 11:10:54 UTC (rev 21062)
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+
+<project name="pdf-dependencies" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
+
+  <target name="dependencies" description="Dependencies">
+    <!-- INFO: http://maven.apache.org/ant-tasks.html -->
+    <artifact:remoteRepository id="wyona.remote.repository" url="http://www.wyona.org/maven2/"/>
+
+    <artifact:dependencies pathId="maven2.classpath" filesetId="maven2.fileset">
+      <remoteRepository refid="wyona.remote.repository"/>
+      <dependency groupId="javax.servlet" artifactId="servlet-api" 
+                  version="2.3" scope="provided" />
+      <dependency groupId="log4j" artifactId="log4j"
+                  version="1.2.8"/>
+      <dependency groupId="wyona-org-yanel" artifactId="yanel-core"
+                  version="${yanel.source.version}"/>
+      <dependency groupId="yarep" artifactId="yarep"
+                  version="0.0.1-dev-r21033"/>
+      <dependency groupId="wyona-org-commons" artifactId="wyona-org-commons"
+                  version="0.0.1-dev-r19469"/>
+      <dependency groupId="xml-resolver" artifactId="xml-resolver"
+                  version="1.1"/>
+      <dependency groupId="fop" artifactId="fop"
+                  version="0.20.5"/>
+     </artifact:dependencies>
+
+
+
+    <artifact:dependencies pathId="maven2.resource.classpath" filesetId="maven2.resource.fileset">
+      <remoteRepository refid="wyona.remote.repository"/>
+      <dependency groupId="fop" artifactId="fop"
+                  version="0.20.5"/>
+      <dependency groupId="avalon-framework" artifactId="avalon-framework-api"
+                  version="4.1.5"/>
+      <dependency groupId="avalon-framework" artifactId="avalon-framework-impl"
+                  version="4.1.5"/>
+      <dependency groupId="batik" artifactId="batik-all"
+                  version="1.6"/>
+      <dependency groupId="xalan" artifactId="xalan"
+                  version="2.7.0"/>
+      <dependency groupId="xerces" artifactId="xercesImpl"
+                  version="2.7.1"/>
+      <dependency groupId="xml-apis" artifactId="xml-apis"
+                  version="1.3.02"/>
+      <dependency groupId="xml-resolver" artifactId="xml-resolver"
+                  version="1.1"/>
+    </artifact:dependencies>
+
+    <property name="maven2.cp" refid="maven2.classpath"/>
+    <!--<echo>Maven2 classpath: ${maven2.cp}</echo>-->
+  </target>
+
+</project>


Property changes on: public/yanel/trunk/src/contributions/resources/pdf/src/build/dependencies.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: public/yanel/trunk/src/contributions/resources/pdf/src/java/org/wyona/yanel/impl/resources/PDFResource.java
===================================================================
--- public/yanel/trunk/src/contributions/resources/pdf/src/java/org/wyona/yanel/impl/resources/PDFResource.java	2006-12-21 10:46:40 UTC (rev 21061)
+++ public/yanel/trunk/src/contributions/resources/pdf/src/java/org/wyona/yanel/impl/resources/PDFResource.java	2006-12-21 11:10:54 UTC (rev 21062)
@@ -0,0 +1,141 @@
+/*
+ * Copyright 2006 Wyona
+ *
+ *  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.wyona.org/licenses/APACHE-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.
+ */
+
+package org.wyona.yanel.impl.resources;
+
+import org.wyona.yanel.core.Path;
+import org.wyona.yanel.core.Resource;
+import org.wyona.yanel.core.api.attributes.ViewableV2;
+import org.wyona.yanel.core.attributes.viewable.View;
+import org.wyona.yanel.core.attributes.viewable.ViewDescriptor;
+
+import org.wyona.yarep.core.RepositoryException;
+import org.wyona.yarep.core.Repository;
+
+import org.apache.log4j.Category;
+import org.apache.fop.apps.Driver;
+
+import java.io.File;
+
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.Source;
+import javax.xml.transform.Result;
+import javax.xml.transform.sax.SAXSource;
+import javax.xml.transform.sax.SAXResult;
+import javax.xml.transform.stream.StreamSource;
+
+/**
+ *
+ */
+public class PDFResource extends Resource implements ViewableV2 {
+    
+    private static Category log = Category.getInstance(PDFResource.class);
+       
+    
+    /**
+     *
+     */
+    public PDFResource() {
+        
+    }
+    
+    /**
+     *
+     */
+    public ViewDescriptor[] getViewDescriptors() {
+        return null;
+    }    
+        
+    /**
+     *
+     */
+    public View getView(String viewId) {
+        View defaultView = new View();
+        defaultView.setMimeType("application/pdf");
+       
+        try {
+            Repository repo = getRealm().getRepository();            
+            
+            java.io.ByteArrayOutputStream baos = new java.io.ByteArrayOutputStream();
+            
+            Driver driver = new Driver();
+            driver.setRenderer(Driver.RENDER_PDF);
+            driver.setOutputStream(baos);
+            
+            Transformer transformer = TransformerFactory.newInstance().newTransformer(getXSLTStreamSource(path,repo));           
+            
+            org.xml.sax.XMLReader xmlReader = org.xml.sax.helpers.XMLReaderFactory.createXMLReader();
+            xmlReader.setEntityResolver(new org.apache.xml.resolver.tools.CatalogResolver());
+            Source src = new SAXSource(xmlReader, new org.xml.sax.InputSource(repo.getInputStream(path)));
+            
+            Result res = new SAXResult(driver.getContentHandler());
+            
+            transformer.transform(src,res);
+            
+            log.debug("Result Size"+ baos.size());
+            
+            defaultView.setInputStream(new java.io.ByteArrayInputStream(baos.toByteArray()));
+                   
+        } catch(Exception e) {
+            log.error(e, e);
+        }        
+
+        return defaultView;     
+    }
+    
+    /**
+    *
+    */
+    public boolean exists() throws Exception {
+        log.warn("Not implemented yet!");
+        return true; 
+    }
+    
+    /**
+     * 
+     */
+    public long getSize() throws Exception {
+        return getRealm().getRepository().getSize(path);
+    }
+      
+  /**
+  *
+  */
+ private StreamSource getXSLTStreamSource(Path path, Repository repo) throws RepositoryException {
+     Path xsltPath = getXSLTPath(path);
+     if(xsltPath != null) {
+         return new StreamSource(repo.getInputStream(xsltPath));
+     } else {
+         File xsltFile = org.wyona.commons.io.FileUtil.file(
+                 rtd.getConfigFile().getParentFile().getAbsolutePath(), "xslt" + File.separator + "xml2fo.xsl");
+         log.debug("XSLT file: " + xsltFile);
+         return new StreamSource(xsltFile);
+     }
+ }
+
+ /**
+  * 
+  */
+ private Path getXSLTPath(Path path) {
+     String xsltPath = getRTI().getProperty("xslt");
+     if (xsltPath != null) return new Path(xsltPath);
+     log.info("No XSLT Path within: " + path);
+     return null;
+ }
+ 
+    
+}


Property changes on: public/yanel/trunk/src/contributions/resources/pdf/src/java/org/wyona/yanel/impl/resources/PDFResource.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: public/yanel/trunk/src/contributions/resources/pdf/xslt/xml2fo.xsl
===================================================================
--- public/yanel/trunk/src/contributions/resources/pdf/xslt/xml2fo.xsl	2006-12-21 10:46:40 UTC (rev 21061)
+++ public/yanel/trunk/src/contributions/resources/pdf/xslt/xml2fo.xsl	2006-12-21 11:10:54 UTC (rev 21062)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet 
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:fo="http://www.w3.org/1999/XSL/Format"
+  version="1.0">
+  <xsl:output method="xml"/>
+
+  <xsl:template match="/">
+    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+      <fo:layout-master-set>
+        <fo:simple-page-master master-name="simple"
+          page-height  ="29.7cm"   
+          page-width   ="21cm"
+          margin-left  ="2.5cm"
+          margin-right ="2.5cm">
+          <fo:region-body margin-top="3cm"/>
+        </fo:simple-page-master>
+      </fo:layout-master-set>
+
+      <fo:page-sequence master-reference="simple">
+        <fo:flow flow-name="xsl-region-body">
+          <xsl:apply-templates/>
+        </fo:flow>
+      </fo:page-sequence>
+
+    </fo:root>
+  </xsl:template>
+
+  <xsl:template match="document">
+    <fo:block>
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+
+  <xsl:template match="head">
+    <fo:block>
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template match="para">
+    <fo:block>
+      <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template match="em">
+    <fo:inline font-style="italic">
+      <xsl:apply-templates/>
+    </fo:inline>
+  </xsl:template>
+
+</xsl:stylesheet>
+


Property changes on: public/yanel/trunk/src/contributions/resources/pdf/xslt/xml2fo.xsl
___________________________________________________________________
Name: svn:eol-style
   + native

Added: public/yanel/trunk/src/realms/yanel-website/content/rtd/pdf.rtd
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/rtd/pdf.rtd	2006-12-21 10:46:40 UTC (rev 21061)
+++ public/yanel/trunk/src/realms/yanel-website/content/rtd/pdf.rtd	2006-12-21 11:10:54 UTC (rev 21062)
@@ -0,0 +1,3 @@
+<{http://www.wyona.org/yanel/resource/1.0}pdf/>
+
+

Added: public/yanel/trunk/src/realms/yanel-website/content/rtd/pdf2.rtd
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/rtd/pdf2.rtd	2006-12-21 10:46:40 UTC (rev 21061)
+++ public/yanel/trunk/src/realms/yanel-website/content/rtd/pdf2.rtd	2006-12-21 11:10:54 UTC (rev 21062)
@@ -0,0 +1,3 @@
+<{http://www.wyona.org/yanel/resource/1.0}pdf/>
+xslt: /xslt/samplePdf2.xsl
+

Added: public/yanel/trunk/src/realms/yanel-website/content/samplePdf.xml
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/samplePdf.xml	2006-12-21 10:46:40 UTC (rev 21061)
+++ public/yanel/trunk/src/realms/yanel-website/content/samplePdf.xml	2006-12-21 11:10:54 UTC (rev 21062)
@@ -0,0 +1,6 @@
+<?xml version="1.0" ?>
+
+<document>
+   <head>Hello</head>
+   <para><em>World!</em></para>
+</document>
\ No newline at end of file


Property changes on: public/yanel/trunk/src/realms/yanel-website/content/samplePdf.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: public/yanel/trunk/src/realms/yanel-website/content/samplePdf2.xml
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/samplePdf2.xml	2006-12-21 10:46:40 UTC (rev 21061)
+++ public/yanel/trunk/src/realms/yanel-website/content/samplePdf2.xml	2006-12-21 11:10:54 UTC (rev 21062)
@@ -0,0 +1,179 @@
+<?xml version="1.0"?>
+<!-- OSCOM 2 Template, written with SlideML 0.9, 2002-08-20 -->
+
+<s:slideset 
+	xmlns:s="http://www.oscom.org/2002/SlideML/0.9/"
+	xmlns:dc="http://purl.org/dc/elements/1.1/"
+	xmlns:dcterms="http://purl.org/dc/terms/"
+	xmlns:xi="http://www.w3.org/2001/XInclude"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+<!--
+	xmlns="http://www.w3.org/1999/xhtml"
+-->
+	
+	<s:metadata>
+		<s:title>Creature Comforts with Yulup and Neutron</s:title>
+		
+		
+		<s:author>
+                                <s:name>Michael Wechner</s:name> <!-- NOT SlideML specification -->
+
+				<s:email>michael.wechner at wyona.com</s:email>
+				<s:orgname>Wyona</s:orgname>
+		</s:author>
+			
+		
+		<s:confgroup>
+  			<s:confdates>
+				<s:start>2006-11-05</s:start>
+				<s:end>2006-11-07</s:end>
+
+			</s:confdates> 
+  			<s:conftitle>XML Conference 2006, Boston, USA</s:conftitle> 
+  			<s:address>
+                        Sheraton Boston Hotel, Prudential Center, 39 Dalton Street, Boston, 02199 MA, USA
+			</s:address> 
+  		</s:confgroup>
+		
+		
+		<dc:subject>Fill in some comma-seperated keywords</dc:subject>
+		<dc:date>2003-02-06T10:45</dc:date>
+		<dc:rights>Fill in some copyright information (optional)</dc:rights>
+
+			
+		<s:abstract>Fill in your abstract</s:abstract>
+	</s:metadata>
+	
+
+
+
+<s:slide id="bio" status="ready">
+<s:title>Short Bio of Michael Wechner</s:title>
+<s:content>
+<p>
+<ol>
+  <li>Math. Physics at ETH (Swiss Federal Institute of Technology Z&#252;rich)</li>
+  <li>Computer simulations on dendritic growth (Max-Planck Institute)</li>
+
+  <li>Co-Founder <a href="http://www.wyona.com">Wyona</a></li>
+  <li>Co-Founder and former president of <a href="http://www.oscom.org">OSCOM</a></li>
+  <li>Original Creator of <a href="http://lenya.apache.org">Apache Lenya</a> and ASF member</li>
+  <li>Original Creator of <a href="http://yanel.wyona.org">Yanel</a> and <a href="http://www.yulup.org">Yulup</a></li>
+
+  <li>Director of documentary movie <a href="http://www.wyonapictures.com/en/fud/index.html">"FUD - Fear Uncertainty Doubt"</a></li>
+</ol>
+</p>
+</s:content>
+</s:slide>
+
+<s:slide id="goals" status="wip">
+<s:title>Goals - Creature Comforts with Yulup and Neutron</s:title>
+<s:content>
+<p>
+<ol>
+  <li>Content Management as simple as it gets</li>
+
+  <li><a href="http://neutron.wyona.org/FutureCMSArchitecture.pdf">Decoupling</a> the user interface from the server (<a href="http://neutron.wyona.org">Neutralizing</a> the server side)</li>
+  <li>Tim Berners-Lee's vision of a <a href="http://de.wikipedia.org/wiki/Writable_Web">writable web</a></li>
+  <li>Bridging the gap between the web and desktop (OOo, Word, ...)</li>
+  <li>Being able to work offline (Subversion like local workspace)</li>
+
+  <li>WYSIWYG editing of arbitrary XML (view generated by XSLT)</li>
+  <li>More than XML (apply more than one schema to the same content)</li>
+</ol>
+</p>
+</s:content>
+</s:slide>
+
+<s:slide id="auto-discovery" status="wip">
+<s:title>Auto-Discovery of Introspection</s:title>
+<s:content>
+<p>
+<source>
+
+<![CDATA[
+<html>
+  <head>
+    <!-- Neutron -->
+    <link href="introspection-neutron.xml" type="application/neutron+xml" rel="neutron-introspection"/>
+    <!-- Atom -->
+    <link href="introspection-atom.xml" type="application/atomserv+xml" rel="introspection"/>
+]]>
+</source>
+</p>
+</s:content>
+</s:slide>
+
+<s:slide id="introspection-neutron" status="wip">
+<s:title>Introspection Neutron</s:title>
+<s:content>
+<p>
+<source>
+<![CDATA[
+<introspection>
+  <edit mime-type="application/xhtml+xml" name="Hello World">
+    <checkout url="hello-world.xhtml?yanel.resource.usecase=checkout" method="GET"/>
+    <checkin url="hello-world.xhtml?yanel.resource.usecase=checkin" method="PUT"/>
+  </edit>
+</introspection>
+]]>
+</source>
+</p>
+</s:content>
+</s:slide>
+
+<s:slide id="specification" status="wip">
+<s:title>Specification</s:title>
+<s:content>
+<p>
+<ol>
+  <li><a href="http://neutron.wyona.org">Neutron</a> Specification</li>
+  <li><a href="http://bitworking.org/projects/atom/">Atom</a> Specification</li>
+
+  <li><a href="http://www.webdav.org">WebDAV</a> Specification</li>
+</ol>
+</p>
+</s:content>
+</s:slide>
+
+<s:slide id="demo" status="wip">
+<s:title>Demo</s:title>
+<s:content>
+<p>
+<ol>
+<!--
+  <li><a href="http://127.0.0.1:8080/yanel/yulup-demo/editable-page-without-locking.html">Hello World</a></li>
+  <li>Not just (X)HTML, but also <a href="http://127.0.0.1:8080/yanel/yulup-demo/calendar.xhtml">XML</a>, <a href="http://127.0.0.1:8080/yanel/yulup-demo/plain-text.html">TXT</a>/<a href="http://127.0.0.1:8080/yanel/yanel-website/wiki/hello-world.html">Wiki</a>, ...</li>
+  <li><a href="http://127.0.0.1:8080/yanel/yulup-demo/editable-page-with-locking.html">Authentication/Authorization</a></li>
+  <li><a href="http://127.0.0.1:8080/yanel/yulup-demo/atom/entries/">Atom</a></li>
+  <li><a href="http://127.0.0.1:8080/yanel/yulup-demo/nar-test.html">NAR</a></li>
+  <li><a href="http://127.0.0.1:8080/yanel/yulup-demo/testpage_andi_1.html">Upload/Bridging the gap</a></li>
+-->
+
+  <li><a href="http://demo.yulup.org/editable-page-without-locking.html">Hello World</a></li>
+  <li>Not just (X)HTML, but also <a href="http://demo.yulup.org/calendar.xhtml">XML</a>, <a href="http://demo.yulup.org/plain-text.html">TXT</a>/<a href="http://demo.yulup.org/hello-wiki.html">Wiki</a>, ...</li>
+  <li><a href="http://demo.yulup.org/editable-page-with-locking.html">Authentication/Authorization</a></li>
+  <li><a href="http://demo.yulup.org/atom/entries/">Atom</a></li>
+
+  <li><a href="http://demo.yulup.org/nar-test.html">NAR</a></li>
+  <li><a href="http://demo.yulup.org/testpage_andi_1.html">Upload/Bridging the gap</a></li>
+</ol>
+</p>
+</s:content>
+</s:slide>
+
+<s:slide id="qanda" status="ready">
+<s:title>Thanks and Panel Discussion</s:title>
+<s:content>
+<p>
+<ol>
+
+  <li>Thanks</li>
+  <li>Panel Discussion</li>
+</ol>
+</p>
+</s:content>
+</s:slide>
+
+</s:slideset>


Property changes on: public/yanel/trunk/src/realms/yanel-website/content/samplePdf2.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: public/yanel/trunk/src/realms/yanel-website/content/testing.xhtml
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/testing.xhtml	2006-12-21 10:46:40 UTC (rev 21061)
+++ public/yanel/trunk/src/realms/yanel-website/content/testing.xhtml	2006-12-21 11:10:54 UTC (rev 21062)
@@ -44,6 +44,9 @@
 
   <li><a href="hello/odt-sample.odt">The ODT itself</a></li>
 
+  <li><a href="hello/pdf-sample.pdf">PDF generated from sample xml</a></li>
+  <li><a href="hello/pdf-sample2.pdf">Another PDF example</a></li>
+
   <li><a href="admin/index.html">Protected Admin Area</a> (Username: lenya, Password: levi) (IMPORTANT: Please note that Tomcat seems to have this URL reserved within the ROOT context!)</li>
 
   <li><a href="en/about.xhtml?yanel.resource.usecase=checkout">Protected source for editing</a></li>

Added: public/yanel/trunk/src/realms/yanel-website/content/xslt/samplePdf2.xsl
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/xslt/samplePdf2.xsl	2006-12-21 10:46:40 UTC (rev 21061)
+++ public/yanel/trunk/src/realms/yanel-website/content/xslt/samplePdf2.xsl	2006-12-21 11:10:54 UTC (rev 21062)
@@ -0,0 +1,167 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:s="http://www.oscom.org/2002/SlideML/0.9/"
+  xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+  <xsl:template match="/">
+   <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+   
+    <fo:layout-master-set>
+     <fo:simple-page-master master-name="page"
+                  page-height="29.7cm" 
+                  page-width="21cm"
+                  margin-top="1cm" 
+                  margin-bottom="2cm" 
+                  margin-left="2.5cm" 
+                  margin-right="2.5cm">
+     <!-- Landscape -->
+<!--
+     <fo:simple-page-master master-name="page"
+                  page-height="21cm" 
+                  page-width="29.7cm"
+                  margin-top="1cm" 
+                  margin-bottom="2cm" 
+                  margin-left="2.5cm" 
+                  margin-right="2.5cm">
+-->
+       <fo:region-body margin-top="3cm"/>
+       <fo:region-before extent="3cm"/>
+
+       
+       <fo:region-after extent="1.5cm"/>
+     </fo:simple-page-master>
+
+     <fo:page-sequence-master master-name="all">
+       <fo:repeatable-page-master-alternatives>
+	 <fo:conditional-page-master-reference master-reference="page" page-position="first"/>
+       </fo:repeatable-page-master-alternatives>
+     </fo:page-sequence-master>
+    </fo:layout-master-set>
+
+
+
+    <fo:page-sequence master-reference="all">
+      <fo:static-content flow-name="xsl-region-before">
+	<fo:block text-align="left" font-size="10pt" font-family="serif" line-height="14pt">
+        <!--<fo:external-graphic src="file:/home/michi/src/lenya-samples/slides/resources/images/live/wyona_klein.gif"/>
+	
+          <fo:external-graphic src="url('http://cocoon.apache.org/lenya/images/apache-lenya-light.png')"/>-->
+	
+        </fo:block>
+
+      </fo:static-content> -->
+
+      <fo:static-content flow-name="xsl-region-after">
+	<fo:block text-align="center" font-size="10pt" font-family="serif" line-height="14pt">
+          <xsl:value-of select="/s:slideset/s:metadata/s:author/s:name"/> (<xsl:value-of select="/s:slideset/s:metadata/s:author/s:email"/>), <xsl:value-of select="/s:slideset/s:metadata/s:title"/>, <xsl:value-of select="/s:slideset/s:metadata/s:confgroup/s:conftitle"/>
+        </fo:block>
+	<fo:block text-align="center" font-size="10pt" font-family="serif" line-height="14pt">
+          Seite <fo:page-number/>
+
+        </fo:block>
+      </fo:static-content> 
+
+      <fo:flow flow-name="xsl-region-body">
+        <xsl:apply-templates select="/s:slideset/s:metadata"/>
+        <xsl:apply-templates select="/s:slideset/s:slide"/>
+      </fo:flow>
+    </fo:page-sequence>
+
+
+   </fo:root>
+
+  </xsl:template>
+
+
+
+
+  <xsl:template match="s:metadata">
+    <fo:block font-size="36pt" space-before.optimum="24pt" text-align="center">
+      <xsl:apply-templates select="s:title"/>
+    </fo:block>
+    <fo:block text-align="center">
+<!--
+      <fo:external-graphic src="file:/home/michi/src/lenya-samples/slides/resources/images/live/cocoon.gif"/>
+-->
+
+    </fo:block>
+    <fo:block font-size="18pt" space-before.optimum="24pt" text-align="center">
+      <xsl:apply-templates select="s:author/s:name"/>
+    </fo:block>
+    <fo:block font-size="18pt" space-before.optimum="24pt" text-align="center">
+      <xsl:apply-templates select="s:author/s:email"/>
+    </fo:block>
+    <fo:block text-align="center" space-before.optimum="24pt">
+    </fo:block>
+
+    <fo:block text-align="center">
+<!-- NOTE: There seems to be a problem with JPEG -->
+<!--
+      <fo:external-graphic src="url('http://www.lenya.org/images/lenya-org.jpg')"/>
+-->
+<!--
+      <fo:external-graphic src="file:/home/michi/src/lenya-samples/slides/resources/images/live/wyona_klein.gif"/>
+-->
+<!--
+      <fo:external-graphic src="file:/home/michi/src/lenya-samples/slides/resources/images/live/apache_lenya.gif"/>
+-->
+<!--
+      <fo:external-graphic src="file:/home/michiii/src/lenyacms/src/webapp/lenya/pubs/slides/resources/images/live/lenya_org.gif"/>
+-->
+    </fo:block>
+  </xsl:template>
+
+
+
+  <xsl:template match="s:slide">
+    <fo:block break-before="page" font-size="36pt" space-before.optimum="24pt" text-align="start">
+
+      <fo:inline text-decoration="none" color="#000000">
+<!--
+      <fo:inline text-decoration="none" color="#cc9933">
+-->
+        <xsl:apply-templates select="s:title"/>
+      </fo:inline>
+    </fo:block>
+
+    <xsl:apply-templates select="s:content"/>
+  </xsl:template>
+
+
+  <xsl:template match="s:content">
+
+    <xsl:apply-templates/>
+  </xsl:template>
+
+<!--
+fo:block attributes:
+http://www.dulug.duke.edu/~mark/docs/dtds/xml/w3c/xsl-fo/elements/fo%3Ablock.html
+-->
+
+  <xsl:template match="source">
+    <fo:block linefeed-treatment="preserve" white-space-treatment="preserve" white-space-collapse="false" border-right-style="solid" border-left-style="solid" border-before-style="solid" border-after-style="solid" font-size="11pt">
+    <xsl:apply-templates/>
+    </fo:block>
+  </xsl:template>
+
+  <xsl:template match="ol">
+    <fo:list-block>
+    <xsl:for-each select="li">
+        <fo:list-item space-before.optimum="40pt">
+          <fo:list-item-label end-indent="label-end()">
+            <fo:block font-size="18pt">&#x2022;</fo:block>
+          </fo:list-item-label>
+          <fo:list-item-body start-indent="body-start()">
+
+            <fo:block font-size="18pt">
+              <fo:inline text-decoration="none"><xsl:apply-templates/></fo:inline>
+            </fo:block>
+          </fo:list-item-body>
+        </fo:list-item>
+    </xsl:for-each>
+    </fo:list-block>
+  </xsl:template>
+
+</xsl:stylesheet>


Property changes on: public/yanel/trunk/src/realms/yanel-website/content/xslt/samplePdf2.xsl
___________________________________________________________________
Name: svn:eol-style
   + native

Added: public/yanel/trunk/src/realms/yanel-website/paths/hello/pdf-sample.pdf.yanel-rti/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/hello/pdf-sample.pdf.yanel-rti/.yarep-uid	2006-12-21 10:46:40 UTC (rev 21061)
+++ public/yanel/trunk/src/realms/yanel-website/paths/hello/pdf-sample.pdf.yanel-rti/.yarep-uid	2006-12-21 11:10:54 UTC (rev 21062)
@@ -0,0 +1 @@
+rtd/pdf.rtd

Added: public/yanel/trunk/src/realms/yanel-website/paths/hello/pdf-sample2.pdf.yanel-rti/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/hello/pdf-sample2.pdf.yanel-rti/.yarep-uid	2006-12-21 10:46:40 UTC (rev 21061)
+++ public/yanel/trunk/src/realms/yanel-website/paths/hello/pdf-sample2.pdf.yanel-rti/.yarep-uid	2006-12-21 11:10:54 UTC (rev 21062)
@@ -0,0 +1 @@
+rtd/pdf2.rtd

Added: public/yanel/trunk/src/realms/yanel-website/paths/xslt/samplePdf2.xsl/.yarep-uid
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/paths/xslt/samplePdf2.xsl/.yarep-uid	2006-12-21 10:46:40 UTC (rev 21061)
+++ public/yanel/trunk/src/realms/yanel-website/paths/xslt/samplePdf2.xsl/.yarep-uid	2006-12-21 11:10:54 UTC (rev 21062)
@@ -0,0 +1 @@
+xslt/samplePdf2.xsl




More information about the Yanel-commits mailing list