Cocoon Tutorial. by Stephan Niedermeier

Größe: px
Ab Seite anzeigen:

Download "Cocoon Tutorial. by Stephan Niedermeier"

Transkript

1 Cocoon Tutorial by Stephan Niedermeier

2 Cocoon Tutorial

3

4 Table of Contents

5

6 List of Figures

7 List of Tables

8

9 List of Examples

10 Chapter 1. Die Webapplikation Cocoon 1.1. Was ist Cocoon? 1.2. Cocoon besorgen und installieren

11 1.3. Cocoon säubern

12 <?xml version="1.0" encoding="utf-8"?> <map:sitemap xmlns:map=" <map:components> <map:generators default="file"> <map:generator label="content,data" logger="sitemap.generator.file" name="file" pool-grow="4" pool-max="32" pool-min="8" src="org.apache.cocoon.generation.filegenerator"/> <map:generator label="content,data" logger="sitemap.generator.serverpages" name="serverpages" pool-grow="2" pool-max="32" pool-min="4" src="org.apache.cocoon.generation.serverpagesgenerator"/> </map:generators> <map:transformers default="xslt"> <map:transformer logger="sitemap.transformer.xslt" name="xslt" pool-grow="2" pool-max="32" pool-min="8" src="org.apache.cocoon.transformation.traxtransformer"> <use-request-parameters>false</use-request-parame <use-browser-capabilities-db>false</use-browser-c </map:transformer> </map:transformers> <map:serializers default="html"> <map:serializer logger="sitemap.serializer.html" mime-type="text/html" name="html" pool-grow="4" pool-max="32" pool-min="4" src="org.apache.cocoon.serialization.htmlserializer"> <buffer-size>1024</buffer-size> </map:serializer> <map:serializer logger="sitemap.serializer.xml" mime-type="text/xml" name="xml" src="org.apache.cocoon.serialization.xmlserializer"/> </map:serializers> <map:matchers default="wildcard"> <map:matcher logger="sitemap.matcher.wildcard" name="wildcard" src="org.apache.cocoon.matching.wildcardurimatcher"/> </map:matchers> </map:components> <map:pipelines> <map:pipeline> <map:match pattern="hello.html"> <map:generate src="xml/samples/hello-page.xml"/> <map:transform src="xsl/samples/simple-page2html.xsl"/> <map:serialize type="html"/> </map:match> <map:handle-errors> <map:transform src="context://xsl/system/error2html.xsl"/> <map:serialize status-code="500"/> </map:handle-errors> </map:pipeline> </map:pipelines> </map:sitemap>

13

14 Chapter 2. XML - Das unabhängige Datenformat 2.1. Der Aufbau eines XML-Dokumentes

15 <?xml version="1.0"?> <person /> <?xml version="1.0"?> <person> <vorname>max</vorname> <nachname>meier</nachname> <?xml version="1.0"?> <person> <vorname>max</vorname> <nachname>meier</nachname> </person> <person> <vorname>tanja</vorname> <nachname>huber</nachname> </person> <?xml version="1.0"?>

16 <personen> </personen> <person> <vorname>max</vorname> <nachname>meier</nachname> </person> <person> <vorname>tanja</vorname> <nachname>huber</nachname> </person> 2.2. DTD (Document Type Definition) und XML Schema

17

18 2.3. XSL (Extensible Stylesheet Language) 2.4. Von HTML zu XHTML

19 <?xml version="1.0" encoding="iso "?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "xhtml1-strict.dtd"> <html xmlns=" <head> <title>von HTML zu XHTML</title> </head> <body> <p> Ein Zeilenumbruch <br/> </p> </body> </html>

20 Chapter 3. Java - Die unabhängige Programmiersprache

21

22 Chapter 4. XSP - Extensible Server Page <?xml version="1.0" encoding="iso "?> <xsp:page language="java" xmlns:xsp=" <xsp:logic>

23 private int value = 0; private int add() { return (value = value + 1); } </xsp:logic> <page> </page> </xsp:page> <title>seitenzähler</title> <content> Diese Seite wurde <xsp:expr>add()</xsp:expr> mal aufgerufen. </content> public class ExampleClass { } // Alles was Sie zwischen <xsp:logic> und </xsp:logic> hinzufügen, würde // theoretisch hier platziert werden und muss somit den gleichen Regeln // folgen, die auch hier gelten. <?xml version="1.0" encoding="iso "?> <page> </page> <title>seitenzähler</title> <content> Diese Seite wurde 1 mal aufgerufen. </content>

24 public class MyExample { private int value = 0; private int add() { return (value = value + 1); } private static void main (String args[]) { } } System.out.print(add()); <map:pipeline> <map:match pattern="xsptest"> <map:generate type="serverpages" src="xml/samples/xsptest.xsp" /> <map:serialize type="xml" /> </map:match> </map:pipeline>

25 Diese Seite wurde 1 mal aufgerufen xsp:attribute 4.2. xsp:comment

26 4.3. xsp:content 4.4. xsp:element 4.5. xsp:exit-page 4.6. xsp:expr

27 4.7. xsp:include <xsp:structure> <xsp:include>java.util.date</xsp:include> <xsp:include>java.util.hashmap</xsp:inlcude> </xsp:structure> 4.8. xsp:init-page 4.9. xsp:logic

28 4.10. xsp:page xsp:param xsp:pi

29 4.13. xsp:structure

30 Chapter 5. Die Sitemap <?xml version="1.0" encoding="utf-8"?> <map:sitemap xmlns:map=" <map:components> <!-- Hier werden alle Komponenten registriert --> </map:components> <!-- Hier werden die Gruppierungen platziert --> <map:pipelines> <map:pipeline> <!-- Hier werden die Match-Bedingungen definiert --> </map:pipeline> </map:pipelines> </map:sitemap> 5.1. Die Komponenten <map:components> <!-- Hier werden alle Komponenten registriert --> </map:components>

31 Logik-Komponenten Die Matcher

32 <map:sitemap> <!-- Hier wird der Matcher eingebunden --> <map:components> <map:matchers> <map:matcher name="wildcard" src="org.apache.cocoon.matching.wildcardurimatcher" /> </map:matchers> </map:components>

33 <!-- Hier wird der Matcher verwendet --> <map:pipelines> <map:pipeline> <map:match type="wildcard" pattern="index.html"> <!-- Rumpf mit Anweisungen --> </map:match > </map:pipeline> </map:pipelines> </map:sitemap> Die Selectors <map:sitemap> <!-- Hier wird der Selector eingebunden --> <map:components> <map:selectors> <map:selector name="request-param" src="org.apache.cocoon.selection.browserselector" /> </map:selectors; </map:components> <!-- Hier wird der Selector verwendet --> <map:pipelines> <map:pipeline> <map:select type="request-param" > <map:when test="netscape"> <!-- Rumpf mit Anweisungen für Netscape --> </map:when> <map:otherwise> <!-- Rumpf mit Anweisungen für alle anderen Browser--> <map:otherwise> </map:select> </map:pipeline> </map:pipelines> </map:sitemap>

34 Bearbeitungs-Komponenten Die Generators

35 <map:sitemap> <!-- Hier wird der Generator eingebunden --> <map:components> <map:matchers> <map:matcher name="regex" src="org.apache.cocoon.matching.wildcardurimatcher" /> </map:matchers> <map:generators> <map:generator name="file" src="org.apache.cocoon.generation.filegenerator" /> </map:generators; </map:components> <!-- Hier wird der Generator verwendet --> <map:pipelines> <map:pipeline> <map:match type="index.html" > <map:generate type="file" src="document.xml" /> </map:match> </map:pipeline> </map:pipelines>

36 </map:sitemap> Die Transformers <map:sitemap> <!-- Hier wird der Transformator eingebunden --> <map:components> <map:matchers> <map:matcher name="regex" src="org.apache.cocoon.matching.wildcardurimatcher" /> </map:matchers> <map:generators> <map:generator name="file" src="org.apache.cocoon.generation.filegenerator" /> </map:generators; <map:transformers> <map:transformator name="xsl" src="org.apache.cocoon.transformation.traxtransformer" /> </map:transformers> </map:components> <!-- Hier wird der Transformator verwendet --> <map:pipelines> <map:pipeline> <map:match type="index.html" > <map:generate type="file" src="document.xml" /> <map:transform type="xsl" src="document2html.xsl" /> </map:match> </map:pipeline> </map:pipelines> </map:sitemap>

37 Die Serializer <map:sitemap> <!-- Hier wird der Serializer eingebunden --> <map:components> <map:matchers> <map:matcher name="regex" src="org.apache.cocoon.matching.wildcardurimatcher" /> </map:matchers> <map:generators> <map:generator name="file" src="org.apache.cocoon.generation.filegenerator" /> </map:generators; <map:transformers> <map:transformator name="xsl" src="org.apache.cocoon.transformation.traxtransformer" /> </map:transformers; <map:serializers> <map:serializer name="html" mime-type="text/html" src="org.apache.cocoon.serialization.htmlserializer" /> </map:serializers; </map:components> <!-- Hier wird der Transformator verwendet --> <map:pipelines> <map:pipeline> <map:match type="index.html" > <map:generate type="file" src="document.xml" /> <map:transform type="xsl" src="document2html.xsl" /> <map:serialize type="html" /> </map:match> </map:pipeline> </map:pipelines> </map:sitemap>

38 Die Readers <map:sitemap> <!-- Hier wird der Reader eingebunden --> <map:components> <map:matchers> <map:matcher name="regex" src="org.apache.cocoon.matching.wildcardurimatcher" /> </map:matchers> <map:readers> <map:reader name="resource" src="org.apache.cocoon.reading.resourcereader" /> </map:readers> </map:components> <!-- Hier wird der Reader verwendet --> <map:pipelines> <map:pipeline> <map:match type="bild.jpg" > <map:read type="resource" src="resources/irgendeinbild.jpg" mime-type="image/jpg" /> </map:match> </map:pipeline> </map:pipelines> </map:sitemap> Die Actions

39 <map:sitemap> <!-- Hier wird die Action eingebunden --> <map:components> <map:matchers> <map:matcher name="regex" src="org.apache.cocoon.matching.wildcardurimatcher" /> </map:matchers> <map:generators> <map:generator name="file" src="org.apache.cocoon.generation.filegenerator" /> </map:generators; <map:transformers> <map:transformator name="xsl" src="org.apache.cocoon.transformation.traxtransformer" /> </map:transformers; <map:actions> <map:action name="hello_world" src="com.logabit.cocoon.examples.helloworldaction" /> </map:actions> </map:components> <!-- Hier wird die Action verwendet --> <map:pipelines> <map:pipeline> <map:match type="hello.html" > <map:act type="hello_world" /> <map:generate type="file" src="document.xml" /> <map:transform type="xsl" src="document2html.xsl" /> <map:serialize type="html" /> </map:act> </map:match> </map:pipeline> </map:pipelines> </map:sitemap>

40 <!-- Hier sind alle Name-Wert-Paare der Action ungültig --> <map:act > <!-- Hier sind alle Name-Wert-Paare der Action gültig --> </map:act> <map:act type="action_a"> <map:action type="action_b"> <map:paramater name="a_parameter" name="../{action_a_param}"> </map:action> </map:action> 5.2. Die Gruppierungen

41 Die Resources <map:sitemap> <!-- Hier werden alle benötigten Komponenten registriert --> <map:components>

42 <map:matchers> <map:matcher name="regex" src="org.apache.cocoon.matching.wildcardurimatcher" /> </map:matchers> <map:generators> <map:generator name="file" src="org.apache.cocoon.generation.filegenerator" /> </map:generators> <map:transformers> <map:transformator name="xslt" src="org.apache.cocoon.transformation.traxtransformer" /> </map:transformers; <map:serializers> <map:serializer name="html" mime-type="text/html" src="org.apache.cocoon.serialization.htmlserializer" /> </map:serializers> </map:components> <-- Hier wird die Resource definiert --> <map:resources> <map:resource name="convert" > <map:generate type="file" src="dokument.xml" /< <map:transform type="xslt" src="doc2html.xsl" /> <map:serialize type="html" /> </map:resource> </map:resources> <!-- Hier wird auf die Resource verwiesen --> <map:pipelines> <map:pipeline> <map:match type="index.html" > <map:call resource="convert" /> </map:match> </map:pipeline> </map:pipelines> </map:sitemap> Die Views Die Action-Sets 5.3. Die Piplines

43 Chapter 6. Tutorial 1: "Hello World" 6.1. Erstellen der XML Datei <?xml version="1.0" encoding="iso "?> <page> <title>tutorial 1</title> <content> <header>hello World!</header> <text>dies ist ein beliebiger Text</text> </content> </page> 6.2. Erstellen des Stylesheets XSL

44 <?xml version="1.0"?> <?xml version="1.0"?> <html xmlns=" <head> <title></title> </head> <body> </body> </html> <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl=" <html xmlns=" <head> <title></title> </head> <body> </body> </html> </xsl:stylesheet>

45 <?xml version="1.0"?> <xsl:stylesheet version="1" xmlns:xsl=" <xsl:template match="page"> <html xmlns=" <head> <title></title> </head> <body> </body> </html> </xsl:template> </xsl:stylesheet> <?xml version="1.0"?> <html xmlns=" <head> <title></title> </head> <body> </body> </html> <beginn> <element1> <inhalt> Hallo </inhalt> </element1> <element2> <inhalt> Welt! </inhalt> </element2> </beginn>

46 <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="page"> <html xmlns=" <head> <title> <xsl:value-of select="title"/> </html> </xsl:template> </xsl:stylesheet> </head> <body> </body> </title> Nachfolgend ein wenig Text: <br/> <xsl:value-of select="content/header"/> <br/> <xsl:value-of select="content/text"/> <html xmlns=" <head> <title> Tutorial 1 </html> </head> <body> </body> </title> Nachfolgend ein wenig Text: <br/> Hello World! <br/> Das ist ein beliebiger Text Registrieren der Komponenten in der sitemap.xmap

47 <map:pipeline> <map:match pattern="helloworld.html"> <map:generate src="xml/samples/helloworld.xml"/> <map:transform src="xsl/samples/helloworld2html.xsl"/> <map:serialize type="html"/> </map:match> </map:pipeline>

48 Chapter 7. Tutorial 2: Ein einfaches Formular 7.1. Aktivieren der Parameterverarbeitung <map:transformer logger="sitemap.transformer.xslt" name="xslt" pool-grow="2" pool-max="32" pool-min="8" src="org.apache.cocoon.transformation.traxtransformer"> <use-request-parameters> true

49 </use-request-parameters> <use-browser-capabilities-db> false </use-browser-capabilities-db> </map:transformer> <map:pipeline> <map:match > <map:generate > <map:transform > <map:parameter name="use-request-parameters" value="true" /> </map:transform> <map:serialize > </map:match> </map:pipeline> <transformers> <map:transformer logger="sitemap.transformer.xslt" name="xslt" pool-grow="2" pool-max="32" pool-min="8" src="org.apache.cocoon.transformation.traxtransformer"> <use-request-parameters> false </use-request-parameters> <use-browser-capabilities-db> false </use-browser-capabilities-db> </map:transformer> <map:transformer logger="sitemap.transformer.xslt" name="xslt-with-params" pool-grow="2" pool-max="32"

50 pool-min="8" src="org.apache.cocoon.transformation.traxtransformer"> <use-request-parameters> true </use-request-parameters> <use-browser-capabilities-db> false </use-browser-capabilities-db> </map:transformer> </transformers> <map:pipeline> <map:match > <map:generate > <map:transform type="xsl-with-params" > <map:serialize > </map:match> </map:pipeline> 7.2. Anlegen und Registrieren der XSL-Datei <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="page"> <html> <head> <title> <xsl:value-of select="title"/> </title> </head> <body> Nachfolgend ein wenig Text: <br/> <xsl:value-of select="content/header"/> <br/> <xsl:value-of select="content/text"/> </body> </html> </xsl:template> </xsl:stylesheet> <map:pipeline> <map:match pattern="myform.html"> <map:transform src="xsl/samples/myform.xsl"/> <map:serialize type="html"/> </map:match> </map:pipeline>

51 <map:pipeline> <map:match pattern="myform.html"> <map:generate src="xml/samples/helloworld.xml"/> <map:transform src="xsl/samples/myform.xsl"/> <map:serialize type="html"/> </map:match> </map:pipeline> 7.3. Anpassen des XSL-Dokumentes <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:param name="header" /> <xsl:template match="page"> <html xmlns=" <head> <title> <xsl:value-of select="title"/> </html> </xsl:template> </xsl:stylesheet> </head> <body> </body> </title> Nachfolgend ein wenig Text: <br/> <xsl:value-of select="content/header"/> <br/> <xsl:value-of select="content/text"/>

52 <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:param name="header" /> <xsl:template match="page"> <html xmlns=" <head> <title> <xsl:value-of select="$header"/> </html> </xsl:template> </xsl:stylesheet> </head> <body> </body> </title> Nachfolgend ein wenig Text: <br/> <xsl:value-of select="content/header"/> <br/> <xsl:value-of select="content/text"/> <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="< <xsl:param name="header" /> <xsl:template match="page"> <html xmlns=" <head> <title> <xsl:value-of select="title"/> </html> </xsl:template> </xsl:stylesheet> </head> <body> </body> </title> <p>ueberschrift: <b><xsl:value-of select="$header"/></b></p> <p>bitte geben Sie eine Ueberschrift fuer diese Seite an:</p> <form action="myform.html"> <div> <input type="text" name="header"/> <input type="submit" /> </div> </form>

53 Chapter 8. Tutorial 3: Logik mit Hilfe von XSP verwenden 8.1. Erstellen der notwendigen Dateien <?xml version="1.0" encoding="iso "?> <page> <title>tutorial 3</title> <content> <header>addierer</header> <message>das Ergenis lautet</message> </content> </page> <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="page"> <html xmlns=" <head> <title><xsl:value-of select="title"/></title> </head> <body> <h1><xsl:value-of select="content/header"/></h1>

54 <form action="tutorial3"> <p> <input type="text" name="addend1" value="0"/> <b> + </b> <input type="text" name="addend2" value="0"/> </p> <p> <input type="submit"/> </p> </form> <p> <xsl:value-of select="content/message"/> = </p> <p><xsl:value-of select="content/text"/></p> </body> </html> </xsl:template> </xsl:stylesheet> 8.2. XSP-Logik in die XML-Datei einbinden <?xml version="1.0" encoding="iso "?> <xsp:page language="java" xmlns:xsp=" <page> <title>tutorial 3</title> <content> <header>addierer</header> <message>das Ergebnis lautet</message> </content> </page> </xsp:page>

55 <?xml version="1.0" encoding="iso "?> <xsp:page language="java" xmlns:xsp=" xmlns:xsp-request=" > <page> <title>tutorial 3</title> <content> <header>addierer</header> <message>das Ergebnis lautet</message> </content> </page> </xsp:page> <?xml version="1.0" encoding="iso "?> <xsp:page language="java" xmlns:xsp=" xmlns:xsp-request=" > <xsp:logic> /** * Diese Methode konvertiert die beiden Request-Parameter nach int * addiert diese und liefert anschließend die Summe der beiden zurück. Summe der Addition addend1 und addend2. */ public int add() { // Hier holen wird die Werte aus dem Request String addend1 = <xsp-request:get-parameter name="addend1"/>; String addend2 = <xsp-request:get-parameter name="addend2"/>; int a = 0; int b = 0; // Testen, ob addend1 vorhanden ist

56 if(addend1!= null) a = Integer.parseInt(addend1); // Testen, ob addend2 vorhanden ist if(addend2!= null) b = Integer.parseInt(addend2); // Beide Zahlen addieren int sum = a + b; } // Summe zurückliefern return sum; </xsp:logic> <page> <title>tutorial 3</title> <content> <header>addierer</header> <message>das Ergebnis lautet</message> </content> </page> </xsp:page> <page> <title>tutorial 3</title> <content> <header>addierer</header> <message>das Ergebnis lautet</message> <sum><xsp:expr>add()</xsp:expr></sum> </content> </page> </xsp:page> <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsl="

57 <xsl:template match="page"> <html xmlns=" <head> <title><xsl:value-of select="title"/></title> </head> <body> <h1><xsl:value-of select="content/header"/></h1> <form action="tutorial3" > <p> <input type="text" name="addend1" value="0"/> <b> + </b> <input type="text" name="addend2" value="0"/> </p> <p><input type="submit" /></p> </form> <p> <xsl:value-of select="content/message"/> = <b><xsl:value-of select="content/sum"/></b> </p> <p><xsl:value-of select="content/text"/></p> </body> </html> </xsl:template> </xsl:stylesheet> 8.3. Resgistrieren der Dateien in der Sitemap <pipelines> <pipeline> <map:match pattern="tutorial3"> <map:generate type="serverpages" src="xml/samples/tutorial3.xsp" /> <map:transform type="xslt" src="xsl/samples/tutorial3.xsl" /> <map:serialize type="html" /> </map:match> <pipeline> </pipelines>.

58 Chapter 9. Tutorial 4: Eine eigene Action programmieren 9.1. Erstellen der Klasse <pipeline>< <map:act type="getweekday"> <map:generate type="file" name="{weekday}.xml" /> <map:serialize type="xml" /> </map:act> </map:match> </pipeline>

59 package com.logabit.cocoon.actions; import org.apache.avalon.framework.parameters.parameters; import org.apache.cocoon.acting.abstractaction; import java.util.map; import java.util.hashmap; import org.apache.cocoon.environment.objectmodelhelper; import org.apache.cocoon.environment.redirector; import org.apache.cocoon.environment.request; import org.apache.cocoon.environment.sourceresolver; import org.xml.sax.entityresolver;

60 public class ExampleDate extends AbstractAction { public Map act (Redirector redirector, SourceResolver resolver, Map objectmodel, String source, Parameters params) { } } package com.logabit.cocoon.actions; import org.apache.avalon.framework.parameters.parameters; import org.apache.cocoon.acting.abstractaction; import java.util.map; import java.util.hashmap; import org.apache.cocoon.environment.objectmodelhelper; import org.apache.cocoon.environment.redirector; import org.apache.cocoon.environment.request; import org.apache.cocoon.environment.sourceresolver; import org.xml.sax.entityresolver; public class HelloWorldAction extends AbstractAction { public Map act (Redirector redirector, SourceResolver resolver, Map objectmodel, String source, Parameters params) { } } package com.logabit.cocoon.actions;

61 import java.util.date; public class HelloWorldAction extends AbstractAction { public Map act (Redirector redirector, SourceResolver resolver, Map objectmodel, String source, Parameters params) { Date date = new Date(); } Date date = new Date(); Request request = ObjectModelHelper.getRequest(objectModel); request.setattribute("date", date); Map sitemapparams = new HashMap(); return sitemapparams;

62 package com.logabit.cocoon.actions; import org.apache.avalon.framework.parameters.parameters; import org.apache.cocoon.acting.abstractaction; import java.util.map; import java.util.hashmap; import org.apache.cocoon.environment.objectmodelhelper; import org.apache.cocoon.environment.redirector; import org.apache.cocoon.environment.request; import org.apache.cocoon.environment.sourceresolver; import org.xml.sax.entityresolver; public class ExampleDate extends AbstractAction { public Map act (Redirector redirector, SourceResolver resolver, Map objectmodel, String source, Parameters params) { Date date = new Date(); Request request = ObjectModelHelper.getRequest(objectModel); request.setattribute("date", date); } } Map sitemapparams = new HashMap(); return sitemapparams; 9.2. Erstellen der Ausgabedokumente xmlns:xsp-request=" <xsp-request:get-attribute name="date"/> <?xml version="1.0" encoding="iso "?> <xsp:page language="java"

63 xmlns:xsp=" xmlns:xsp-request=" <page> <date> <xsp-request:get-attribute name="date"/> </date> </page> </xsp:page> <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsp=" xmlns:xsl=" <xsl:template match="page"> <html> <body> Die Action hat folgendes Datum bestimmt: <b> <xsl:value-of select="date"/> </b> </body> </html> </xsl:template> </xsl:stylesheet> 9.3. Registrieren der Action <map:components> <map:actions> <map:action name="date" src="com.logabit.cocoon.actions.exampledate" /> </map:actions> </map:components> <map:pipelines> <map:pipeline>

64 <map:match pattern="date.html"> <map:act type="date" > <map:generate type="serverpages" src="xml/samples/date.xsp" /> <map:transform type="xslt" src="xsl/samples/date2html.xsl" /> <map:serialize type="html" /> </map:act> </map:match> </map:pipeline> </map:pipelines>

65 Appendix A. Die Sitemap-Elemente auf einen Blick A.1. <map:sitemap> <map:sitemap> <map:sitemap> A.2. <map:components> <map:sitemap> <map:components> <map:components/>

66 </map:sitemap> A.3. <map:transformers> <map:components> <map:transformers> </map:transformers> </map:components> A.4. <map:transformer>

67 <map:components> <map:transformers> <map:transformer /> </map:transformers> </map:components> A.5. <map:generators> <map:components> <map:generators> </map:generators> <map:components>

68 A.6. <map:generator> <map:components> <map:generators> <map:generator /> </map:generators> <map:components> A.7. <map:serializers>

69 A.8. <map:serializer> A.9. <map:selectors>

70 A.10. <map:selector> A.11. <map:readers> A.12. <map:reader>

71 A.13. <map:matchers> A.14. <map:matcher>

72 A.15. <map:actions> A.16. <map:action>

73 A.17. <map:views> A.18. <map:view>

74 A.19. <map:resources> A.20. <map:resource> A.21. <map:action-sets>

75 A.22. <map:action-set> A.23. <map:pipelines> A.24. <map:pipeline> A.25. <map:match>

76 A.26. <map:mount>

77 A.27. <map:redirect-to>

78 A.28. <map:call> A.29. <map:parameter>

79 A.30. <map:act> A.31. <map:generate>

80 A.32. <map:transform> A.33. <map:serialize>

81 A.34. <map:handle-error> A.35. <map:aggregate>

82 A.36. <map:part> A.37. <map:select>

83 A.38. <map:when> A.39. <map:otherwise>

84 Appendix B. Mime-Types: Eine Übersicht

85

86 Appendix C. URI und Cocoon Schemas

87

88 Bibliography

89 Index

90

Started by the Italian student Stefano Mazzocchi. Java Apache XML (JAX) Lektion 11: Cocoon. 4. Servlet JSP Framework Struts

Started by the Italian student Stefano Mazzocchi. Java Apache XML (JAX) Lektion 11: Cocoon. 4. Servlet JSP Framework Struts Cocoon is a powerful framework for XML web publishing which brings a whole new world of abstraction and ease to consolidated web site creation and management based on the XML paradigm and related technologies.

Mehr

<< WSDL >> Cocoon. << Einführung in das Cocoon Framework >> Cocoon is the glue for your web application development needs. XML mit Java OpenSource

<< WSDL >> Cocoon. << Einführung in das Cocoon Framework >> Cocoon is the glue for your web application development needs. XML mit Java OpenSource Cocoon > > Cocoon is the glue for your web application development needs. 1 Cocoon 2 Lernziele / Themen: Was ist Cocoon Einsatz von Cocoon Pipeline und Komponenten

Mehr

Java Server Pages (JSP)

Java Server Pages (JSP) Überblick über Internet-Technologien Server-Technologien Datenbankkopplung Servlets JSP PHP CGI XML+XSL Dokumentsprachen Client-PGM ruft DB-Server Web-Server ruft Datenbankserver HTML+Javascript HTML+Applets

Mehr

Web-Anwendungsentwicklung mit dem Delivery Server

Web-Anwendungsentwicklung mit dem Delivery Server Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010

Mehr

Seminar im Sommersemester 2006 Institut für Mikrosystemtechnik, niversität Siegen

Seminar im Sommersemester 2006 Institut für Mikrosystemtechnik, niversität Siegen Web 2.0 im Sommersemester 2006 Mikrosystemtechnik, niversität Siegen Seite 1 Inhalt Einführung Eine DTD erstellen Das XML-Dokument Formatierung mittels XSLT Die HTML-Ausgabe Das Document Object Model Ajax

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Quo vadis Web- Anwendungsentwicklung? XML based Webdevelopment

Quo vadis Web- Anwendungsentwicklung? XML based Webdevelopment Quo vadis Web- Anwendungsentwicklung? XML based Webdevelopment Thomas Bayer Steffen Schluff Tobias Kieninger bayer@oio.de Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de Inhalt

Mehr

Einführung. Hallo-Welt in XSLT

Einführung. Hallo-Welt in XSLT 2. Vorlagen-Technik Inhalt 1. Einführung 2. Vorlagen 3. XPath 4. Kontrollstrukturen 5. Sortierung, Gruppierung und Nummerierung 6. Parameter und Variablen 7. Vorgaben für Ein- und Ausgabeformate 8. Auslagerung

Mehr

Erste Schritte mit XHTML

Erste Schritte mit XHTML Sascha Frank SS 2005 www.saschafrank.de 3.3.05 Eigene Homepage Rechte am $HOME ändern Eigene Homepage Rechte am $HOME ändern chmod 701 /home/login Eigene Homepage Rechte am $HOME ändern chmod 701

Mehr

Diese neuen Gestaltungsmöglichkeiten können nun auf den Web-Anzeigenmarkt angewandt werden: Wissensbaustein»Anzeigenmarkt: CSS-Einsatz«(S.

Diese neuen Gestaltungsmöglichkeiten können nun auf den Web-Anzeigenmarkt angewandt werden: Wissensbaustein»Anzeigenmarkt: CSS-Einsatz«(S. 128 5XHTML&CSS* Wissensbaustein»CSS: ID-Attribut«(S. 180) Wissensbaustein»CSS: Umrandungen«(S. 182) Wissensbaustein»CSS: Füllungen & Abstände«(S. 185) Wissensbaustein»CSS: Pseudo-Klassen & -Elemente«(S.

Mehr

Duale Zustellung. Standardprofile. Version 1.0.0, 14.08.2007. DI Arne Tauber arne.tauber@egiz.gv.at

Duale Zustellung. Standardprofile. Version 1.0.0, 14.08.2007. DI Arne Tauber arne.tauber@egiz.gv.at www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Duale Zustellung Version 1.0.0, 14.08.2007 DI Arne Tauber arne.tauber@egiz.gv.at

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht

Mehr

Programmieren von Webinformationssystemen

Programmieren von Webinformationssystemen Programmieren von Webinformationssystemen Wolfgang Gassler Databases and Information Systems (DBIS) Institute of Computer Science University of Innsbruck dbis-informatik.uibk.ac.at 1 HTML Hypertext Markup

Mehr

Schritt 4: Hallo Enterprise Bean

Schritt 4: Hallo Enterprise Bean Prof. Dr. Th. Letschert FB MNI JEE Schritt 4: Hallo Enterprise Bean Einstieg: EJBs erzeugen und nutzen Meine erstes EJB Projekt Enterprise Beans sind eine Backend Technologie, die mit unterschiedlichen

Mehr

Flexibilität und Multichannel technische Herausforderungen an Multichannel Systeme

Flexibilität und Multichannel technische Herausforderungen an Multichannel Systeme Westfälische Wilhelms-Universität Münster Ausarbeitung Flexibilität und Multichannel technische Herausforderungen an Multichannel Systeme im Rahmen des Seminars Enterprise Architecture Management (EAM)

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Eine Schnelleinführung in XSL

Eine Schnelleinführung in XSL Eine Schnelleinführung in XSL Michael Dienert 8. Juli 2014 1 Was ist XSL? XSL ist die Abkürzung von Extensible Stylesheet Language. XSL ist selbst wieder eine XML-Anwendung, d.h. XSL-Dokumente müssen immer

Mehr

Perl-Praxis. CGI-Skripte. Madis Rumming, Jan Krüger.

Perl-Praxis. CGI-Skripte. Madis Rumming, Jan Krüger. Perl-Praxis CGI-Skripte Madis Rumming, Jan Krüger {mrumming,jkrueger}@cebitec.uni-bielefeld.de Übersicht WWW, Web-Server CGI-Skripte Parameterübergabe Web-Formulare CGI.pm Perl-Praxis CGI-Skripte 2/16

Mehr

Dokumentenstrukturen

Dokumentenstrukturen Dokumentenstrukturen Dokumentation zum Projekt Die Welt von BreakOut von: Kristian Kraft Email: Kristian.Kraft@gmx.de Matrikelnummer: 80 59 17 Dirk Vincent Kops Email: Vincent.Kops@gmx.de Matrikelnummer:

Mehr

Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz

Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz Transformation von XML-Dokumenten Folie 1 Was ist XSL politisch? XSL ist eine eigene Technik. Zum Publizieren (Transformieren) von Dokumenten. Früher gab es dafür Verlage und Schriftsetzer, um gute Inhalte

Mehr

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Software Engineering II

Software Engineering II Software Engineering II Wintersemester 12/13 Fachgebiet Software Engineering Installation der MWE Plugins Von der Juno Update Site installieren (falls noch nicht vorhanden): MWE SDK Xpand SDK 2 TFD Projekt

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

Es wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.

Es wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht. Struts Code Peaces Element Es wird das Struts Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht. Allgemeines Autor: Sascha Wolski Sebastian Hennebrüder

Mehr

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:

Mehr

Hinweise für die Nutzung von XSLTs beim PDF Export der BlueBridge Wiki Extensions

Hinweise für die Nutzung von XSLTs beim PDF Export der BlueBridge Wiki Extensions Hinweise für die Nutzung von XSLTs beim PDF Export der BlueBridge Wiki Extensions Dieses Dokument beschreibt die Einbindung von XSLTs, um die Format von PDF Exporten zu definieren. Wichtiger Hinweis: Mit

Mehr

Tutorial XML3D + Blender

Tutorial XML3D + Blender Tutorial XML3D + Blender Deutsch - Windows ab XP- 2011 by SE V 0.1 Vorwort Diese kleine Tutorial entstand aus dem Problem das es aktuell noch kein Deutsches gibt. Ich versuche alles so zu erklären, das

Mehr

Praktikum zur Veranstaltung XML-Technologie: Übung 09

Praktikum zur Veranstaltung XML-Technologie: Übung 09 Fachhochschule Wiesbaden - Fachbereich Informatik Praktikum zur Veranstaltung XML-Technologie: Übung 09 XSLT Eine HTML-Tabelle 06.01.2005 (c) 2004 H. Werntges, FB Informatik, FH Wiesbaden 1 Organisatorisches

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden

Mehr

PHP Schulung Beginner. Newthinking Store GmbH Manuel Blechschmidt

PHP Schulung Beginner. Newthinking Store GmbH Manuel Blechschmidt PHP Schulung Beginner Newthinking Store GmbH Manuel Blechschmidt Begrüßung Es gibt keine dummen Fragen nur dumme Antworten. Übersicht Sprung ins Kalte Wasser 'Hallo Welt' Theorie Requests Grundlagen Kommentare

Mehr

XML-Praxis. XML-Anwendungen. Jörn Clausen joern@techfak.uni-bielefeld.de

XML-Praxis. XML-Anwendungen. Jörn Clausen joern@techfak.uni-bielefeld.de XML-Praxis XML-Anwendungen Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht DocBook Software-Installation dokumentieren XML-Praxis XML-Anwendungen 2/14 DocBook SGML/XML-Sprache für technische Dokumentationen

Mehr

Softwareentwicklung mit Komponenten

Softwareentwicklung mit Komponenten Softwareentwicklung mit Komponenten XML Extensible Markup Language TU Berlin im Wintersemester 2000/2001 Von Akin Kurdoglu Betreuer M.Bittner, W. Koch, Prof. Dr. S. Jähnichen 1 Gliderung - Definition von

Mehr

Einführung in XML. Arthur Brack FHDW Hannover. 1. Oktober 2009

Einführung in XML. Arthur Brack FHDW Hannover. 1. Oktober 2009 Einführung in XML Arthur Brack FHDW Hannover Inhalt Was ist XML? Warum XML? Aufbau von XML-Dokumenten Ausblick XML-Schemasprachen XPath XSLT Zusammenfassung Literatur Einführung in XML 2 / 14 Was ist XML?

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme Beispiel: Web-Shop SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn Applikation Software Client Web-Shop,... Web-Browser mit Applet,...??? Server Produkt- Datenbank Web-Server, Servlet Datenbank,...

Mehr

Es wird das Struts <html:options> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.

Es wird das Struts <html:options> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht. Struts Code Peaces Element Es wird das Struts Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht. Allgemeines Autor: Sascha Wolski Sebastian Hennebrüder

Mehr

Grails. Weiterführende Themen zu Internet- und WWW-Technologien. Matthias Springer. 06. Juni 2011

Grails. Weiterführende Themen zu Internet- und WWW-Technologien. Matthias Springer. 06. Juni 2011 Weiterführende Themen zu Internet- und WWW-Technologien 06. Juni 2011 Übersicht 1 Was ist? 2 Übersicht über 3 MVC-Konzept 4 Groovy Beispiele 5 Tutorial: Kleiner Notizblock Web Application Framework Übersicht

Mehr

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)

Mehr

FileMaker und PHP Workshop

FileMaker und PHP Workshop FileMaker und PHP Workshop 2-stündiger Ausschnitt aus einem 3-tägigen Schulungsprogramm Bernhard Schulz FileMaker Konferenz 2010 / Zürich Ziel des Workshops Kennenlernen von PHP Möglichkeiten von FileMaker

Mehr

Eine Schnelleinführung in CSS

Eine Schnelleinführung in CSS Eine Schnelleinführung in CSS Michael Dienert 11. September 2013 Inhaltsverzeichnis 1 Was ist CSS? 1 2 Verwenden der CSS-Stylesheets 2 3 Struktur eines CSS-Stylesheets 2 4 Selektoren im Detail 3 4.1 Verwandschaftsbeziehungen:

Mehr

Die Technologie der Mumie

Die Technologie der Mumie Die Technologie der Mumie Tilman Rassy Ruedi Seiler Technischen Universität Berlin Fakultät II Mathematik und Naturwissenschaften Institut für Mathematik Vortrag an der ETH Zürich 27. Juli 2006 1 Design-Prizipien

Mehr

Dokumentation Externe Anzeige von Evento Web Dialogen

Dokumentation Externe Anzeige von Evento Web Dialogen Dokumentation Externe Anzeige von Evento Web Dialogen Autor: Roger Guillet Telefon 058 404 83 57 E-Mail roger.guillet@crealogix.com CREALOGIX Evento Postfach 112, Baslerstrasse 60 CH-8066 Zürich Telefon

Mehr

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs 4. s Ein kleiner Einstieg Erinnerung: HTTP und HTML Idee von Web n und Containern Erstellung einfacher s (zunächst software technisch übelst unstrukturiert) Literatur: B. Basham, K. Sierra, B. Bates, Head

Mehr

Definition Web Service

Definition Web Service Gliederung Einführung Definition Web Service Drei Schhichtenmodell Architectural Model System Model Web Service Standards SOAP WSDL UDDI Types of Web Services Programmatic Web Services Interactive Web

Mehr

Der IBM Websphere Portalserver

Der IBM Websphere Portalserver Der IBM Websphere Portalserver Ergebnisse aus dem Universitäts-Praxis-Projekt 2001/2002 Vortrag von Il-Hyun Kim und Horst Rechner am 19. Juli 2002 Weiterer Teilnehmer am UPP: Clemens Oertel Betreuer: Dipl.-Phys.

Mehr

IT-Zertifikat: Daten- und Metadatenstandards. Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig. XSLT und die Praxis

IT-Zertifikat: Daten- und Metadatenstandards. Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig. XSLT und die Praxis IT-Zertifikat: Daten- und Metadatenstandards Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig I. Was ist XSLT? XSL Transformation (XSLT) ist eine Programmiersprache zur Transformation

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Grundlagen der Extensible Stylesheet Language

Grundlagen der Extensible Stylesheet Language Grundlagen der Extensible Stylesheet Language Transformations (XSLT) Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068

Mehr

Interaktion Java und JavaScript

Interaktion Java und JavaScript Interaktion Java und JavaScript Eliane Müller Inhalt JavaScript LiveConnect Aufruf von Java aus JavaScript via client-side LiveConnect Aufruf von JavaScript aus Java via client-side LiveConnect Anwendung:

Mehr

WebPoint. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen. Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter. 16.

WebPoint. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen. Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter. 16. Ein Framework zur Erstellung von webbasierten Verkaufsanwendungen Maria C. Raabe Daniel Woithe Vorlage: Torsten Walter 16. Oktober 2006 Gliederung Datenverwaltung 1 Datenverwaltung 2 Problemstellung Java

Mehr

extended Markup Language (XML)

extended Markup Language (XML) Überblick über Internet-Technologien Server-Technologien Datenbankkopplung XSP Servlets JSP PHP CGI nur HTML nur HTML XML+ Dokumentsprachen Client-PGM ruft DB-Server Web-Server ruft Datenbankserver nur

Mehr

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen?

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen? C O C O O N ein Web-Framework der Apache Software Foundation http://www.apache.org Wo ist Cocoon in die Apache Projekte einzureihen? Apache Server sehr leistungsfähiger HTTP-Server Tomcat Server Referenzimplementierung

Mehr

Dr. Thomas Meinike Hochschule Merseburg

Dr. Thomas Meinike Hochschule Merseburg XSLT Programmierung effektiv und schmerzfrei! Dr. Thomas Meinike Hochschule Merseburg thomas.meinike@hs merseburg.de http://www.iks.hs merseburg.de/~meinike/ @XMLArbyter Zusatzmaterial Februar

Mehr

Web-Programmierung (WPR)

Web-Programmierung (WPR) Web-Programmierung (WPR) TFH-Berlin Sommer Semester 2008 Manfred Gruner mailto:wpr@gruner.org Web-Programmierung (WPR) Literatur: Web-Technologien (Heiko Wöhr) Konzepte Programmiermodelle - Architekturen

Mehr

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik Programmieren I Dokumentation mit javadoc Heusch 10.4 Ratz 4.1.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Automatische Dokumentation Java bietet standardmäßig das Dokumentationssystem

Mehr

Erste Schritte mit JavaServer Faces und MyEclipse. Allgemeines. Erstellen eines JavaServer Faces Projektes

Erste Schritte mit JavaServer Faces und MyEclipse. Allgemeines. Erstellen eines JavaServer Faces Projektes Erste Schritte mit JavaServer Faces und MyEclipse Dieses Tutorial soll den Einstieg in das noch recht neue Framework, JavaServer Faces (JSF), erleichtern. Es wird Schritt für Schritt eine Beispiel-Anwendung

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Inhalt HTML 2. Applets Frames Formulare CSS cascading style sheets. Lehrveranstaltung Internet in AT Dr.-Ing. A. Braune TECHNISCHE UNIVERSITÄT DRESDEN

Inhalt HTML 2. Applets Frames Formulare CSS cascading style sheets. Lehrveranstaltung Internet in AT Dr.-Ing. A. Braune TECHNISCHE UNIVERSITÄT DRESDEN Inhalt HTML 2 Applets Frames Formulare CSS cascading style sheets SS 06 1 Applets Das Applet Java Applets sind kleine Java-Programme mit deren Hilfe aktive Webseiten erstellt werden können. werden mit

Mehr

1 Software Engineering 1

1 Software Engineering 1 1 Software Engineering 1 XML 1.1 XML Extensible Markup Language Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten Wird für den Datenaustausch/Speicherung benutzt

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Projektseminar "Texttechnologische Informationsmodellierung"

Projektseminar Texttechnologische Informationsmodellierung Projektseminar "Texttechnologische Informationsmodellierung" Analyse mit XSLT Ziel diese Sitzung Nach dieser Sitzung sollten Sie: Einen ersten Überblick über Funktionen in XPath haben Stylesheets und Templates

Mehr

GATE General Architecture for Text Engineering. Alexander Hein & Erik Dießler (VL Text Analytics - 08.05.2008)

GATE General Architecture for Text Engineering. Alexander Hein & Erik Dießler (VL Text Analytics - 08.05.2008) GATE General Architecture for Text Engineering Alexander Hein & Erik Dießler (VL Text Analytics - 08.05.2008) Überblick GATE Die Idee Die Architektur Was noch - JAPE / DIFF / GUK ANNIE Einige Beispiele

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

Teilprüfung Software- und Internettechnologie Programmierkurs 1 Wintersemester 2004/2005

Teilprüfung Software- und Internettechnologie Programmierkurs 1 Wintersemester 2004/2005 Universität Mannheim Fakultät für Mathematik und Informatik Dr. Heinz Kredel Teilprüfung Software- und Internettechnologie Programmierkurs 1 Wintersemester 2004/2005 Name:.................................

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,

Mehr

MySQL, Java und einiges mehr

MySQL, Java und einiges mehr MySQL, Java und einiges mehr Client Der Browser Firefox Chrome Safari Internet Explorer URL http://localhost:8080/html/index.html Internet Die darzustellende Webseite HTML Server Apache Tomcat Jetty

Mehr

Der MyCoRe-URI-Resolver

Der MyCoRe-URI-Resolver by Thomas Scheffler, Wiebke Oeltjen, Jens Kupferschmidt 2015-06-16 Der URI-Resolver in MyCoRe ist eine Erweiterung des Standard-URI-Resolvers und gestattet innerhalb der MyCoRe- Anwendung den einfachen

Mehr

JAVA - Methoden

JAVA - Methoden Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können

Mehr

SAP-Daten per HTML anzeigen

SAP-Daten per HTML anzeigen SAP-Daten per HTML anzeigen Oftmals besteht die Notwendigkeit einfach nur bestimmte Daten eines SAP-Systems anzuzeigen. Die Installation des SAPGUI für Windows, mit mehreren hundert Megabytes, scheint

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

Einführung in DocBook

Einführung in DocBook Workshop XSL:FO Einführung in DocBook BU Wuppertal DMT 2005 Jens Heermann Alexander Jacob Was ist DocBook? Auszeichnungssprache zur Erstellung technischer ationen Basiert auf Strukturierung des Inhalts

Mehr

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,

Mehr

Perl-Praxis. CGI-Skripte. Jörn Clausen Jens Reeder, Jan Krüger

Perl-Praxis. CGI-Skripte. Jörn Clausen Jens Reeder, Jan Krüger Perl-Praxis CGI-Skripte Jörn Clausen Jens Reeder, Jan Krüger {jreeder,jkrueger}@techfak.uni-bielefeld.de Übersicht WWW, Web-Server CGI-Skripte Parameterübergabe Web-Formulare CGI.pm Perl-Praxis CGI-Skripte

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

JSF (JavaServer Faces) Erstellen einer Webseite

JSF (JavaServer Faces) Erstellen einer Webseite Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski JSF (JavaServer Faces) Erstellen einer Webseite Dipl. Inf. Manuel Götz Dipl. Inf.

Mehr

XML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung

XML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung XML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung Matthias Bethke bethke@linguistik.uni-erlangen.de Linguistische Informatik Universität Erlangen-Nürnberg Sommersemester

Mehr

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH 1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch

Mehr

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov Java Server Pages 2 und Benutzerdefinierte Tags Strahil Yordanov Überblick Einleitung JSP im Kontext von J2EE JSP2 Benutzerdefinierte Tags Zusammenfassung Einleitung Java Server Pages ist eine Technik

Mehr

e-procurement JBoss EJB Server Apache Cocoon 2

e-procurement JBoss EJB Server Apache Cocoon 2 e-procurement mit JBoss EJB Server und Apache Cocoon 2 1 eprocurement System KUNDE Geschäftsidee eprocurement Prozesse Stammdaten Realisierung Multivendor Katalog nach BMECat Produktdatenaustausch 2 Verwendete

Mehr

elml Flexibilität und Nachhaltigkeit dank XML

elml Flexibilität und Nachhaltigkeit dank XML elml Flexibilität und Nachhaltigkeit dank XML Dipl. natw. Joël Fisler - GITTA Koordinator MNF elearning Tag 6.10.2005 www.elml.ch Inhalt Das GITTA Projekt Didaktisches Konzept von GITTA Einschub: Was ist

Mehr

Extension- Entwicklung in TYPO3 am Beispiel einer Seminarverwaltung

Extension- Entwicklung in TYPO3 am Beispiel einer Seminarverwaltung Extension- Entwicklung in TYPO3 am Beispiel einer Seminarverwaltung Projekte: Impuls Ergotherapiefortbildung DAV Fulda von: Andreas Kempf Version: 1.7 03.02.2010 Ausgangssituation: Impuls Ergotherapiefortbildung

Mehr

ASP: Active Server Pages

ASP: Active Server Pages ASP: Active Server Pages Allgemeines: ASP ist die serverseitige Schnittstelle zu Skripten/Programmen ausgehend vom Microsoft-Internet- Information-Server (z.b. in Windows Server enthalten) Skript- und

Mehr

Tipps und Hinweise zum Bezug der Beitragssatzdatei V5.0

Tipps und Hinweise zum Bezug der Beitragssatzdatei V5.0 Tipps und Hinweise zum Bezug der Beitragssatzdatei V5.0 Die Beitragssatzdatei in der Version 5.0 wird nur über https Download auf einer frei zugänglichen Webseite auf den folgenden Seiten bereitgestellt.

Mehr

Web Visu Tutorial. Hipecs Web Visu. Übersicht

Web Visu Tutorial. Hipecs Web Visu. Übersicht Revision Date V100 10082011 Hipecs Web Visu Die hipecs (high performance controller system) bietet die Möglichkeit einer sog Web-Visualisierung über den integrierten Webserver Hierfür wird im Standard

Mehr

Struts 2 Das Imperium schlägt zurück?

Struts 2 Das Imperium schlägt zurück? Struts 2 Das Imperium schlägt zurück? Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Tobias Kieninger www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Software

Mehr

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]

Mehr

Design anpassen eine kurze Einführung

Design anpassen eine kurze Einführung Design anpassen eine kurze Einführung Das gesamte Layout von Papoo basiert auf modernen CSS Layouts die vollständig ohne Layout Tabellen funktionieren. Um schnell vorhandene Designs anpassen zu können

Mehr

Grundlagen. Wie sind PHP-Dateien aufgebaut?

Grundlagen. Wie sind PHP-Dateien aufgebaut? Grundlagen PHP und MySQL PHP läuft serverseitig!! Wie sind PHP-Dateien aufgebaut? PHP-Dateien fangen mit an und hören mit auf. Sie müssen die Dateiendung *.php haben echo "So könnte eine Datei aussehen\n";

Mehr

XSL. extended Stylesheet Language. Die Stylesheet Sprache für XML

XSL. extended Stylesheet Language. Die Stylesheet Sprache für XML XSL extended Stylesheet Language Die Stylesheet Sprache für XML XPath www.w3.org/tr/xpath Adressierung Die Templates im Stylesheet können nur dann richtig (an der richtigen Stelle) angewandt werden, wenn

Mehr

Unsere Webapplikation erweitern

Unsere Webapplikation erweitern Unsere Webapplikation erweitern Um die Webapplikation zu benutzen: 1. Starten Sie den Server, indem Sie das Hauptprogramm in der Klasse ImdbServer starten. 2. Laden Sie im Browser die Seite http://localhost:8080/html/index.html.

Mehr

Innere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen.

Innere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Innere Klassen Innere Klassen Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Literatur: Java Tutorial & Arnold, K., Gosling, J. und Holmes,D... Page 1 Innere Klassen Der erste

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 15 Einstieg in die Informatik mit Java Collections Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Überblick Collections 2 Hierarchie von Collections 3 Verwendung

Mehr

4. Servlets Ein kleiner Einstieg

4. Servlets Ein kleiner Einstieg 4. Servlets Ein kleiner Einstieg Erinnerung: HTTP und HTML Idee von Web Servern und Containern Erstellung einfacher Servlets (zunächst software technisch übelst unstrukturiert) Literatur: B. Basham, K.

Mehr

Web-basierte Anwendungssysteme XHTML-Grundlagen

Web-basierte Anwendungssysteme XHTML-Grundlagen Web-basierte Anwendungssysteme XHTML-Grundlagen Prof. Dr. Sergej Alekseev (alekseev@fb2.fra-uas.de) Prof. Dr. Armin Lehmann (lehmann@e-technik.org) Fachbereich 2 Informatik und Ingenieurwissenschaften

Mehr

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 3: Webdesign mit CSS Stand: Übung WS 2015/2016. Benedikt Schumm M.Sc.

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 3: Webdesign mit CSS Stand: Übung WS 2015/2016. Benedikt Schumm M.Sc. Übung WS 2015/2016 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 3: Stand: 30.10.2015 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische Universität Eichstätt-Ingolstadt

Mehr

Internationalisierung von Webseiten

Internationalisierung von Webseiten Internationalisierung von Webseiten estudy goes USA Inhalt Einleitung Techniken Fazit Diskussion Einleitung Internationalisierung von Webseiten Einleitung Sprachen Entstanden durch viele Völker und Kulturen

Mehr

Einleitung JavaServer Pages Erweiterungsmechanismen Beispiel Fazit. JavaServer Pages. Seminar Webprogrammierung WS04/05. Timothy Burk. 6.

Einleitung JavaServer Pages Erweiterungsmechanismen Beispiel Fazit. JavaServer Pages. Seminar Webprogrammierung WS04/05. Timothy Burk. 6. Seminar Webprogrammierung WS04/05 6. Juni 2005 1 Einleitung Die Vorgeschichte Java-Servlets 2 Merkmale Von der JSP zur HTML-Ausgabe Syntax 3 4 5 Die Vorgeschichte Java-Servlets Einleitung Ansätze für dynamische

Mehr

Programmierkurs Kapitel 4

Programmierkurs Kapitel 4 Kapitel 4 Dipl.-Wirt.-Inf. Stefan Fleischer Dipl.-Wirt.-Inf. Ulrich Wolffgang Komponente: Parser Interface für Parser entwickeln public interface IParser { public ArrayList parseemailaddresses(string

Mehr

Sitzungszustand. Vorläufige Version 309 c 2005 Peter Thiemann

Sitzungszustand. Vorläufige Version 309 c 2005 Peter Thiemann Sitzungszustand Gruppierung von Anfragen zu Sitzungen (Sessions) Klasse HttpServletRequest Methode HttpSession getsession (bool create) liefert aktuelle Sitzungsobjekt Zustand lokal zur Anwendung (ServletContext)

Mehr