1 / 22

Java und XML

Java und XML. Kurzvortrag von Tim Steffens und Andreas Klein Cocoon 2. Inhalt. - Was ist Cocoon ? - Wie funktioniert Cocoon ? - Worauf baut Cocoon auf ? - Installation - Sitemap. Was ist Cocoon ? (1). publishing framework document generator web-basierte serverseitige Anwendung

laurel
Download Presentation

Java und XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java und XML Kurzvortrag von Tim Steffens und Andreas Klein Cocoon 2

  2. Inhalt - Was ist Cocoon ? - Wie funktioniert Cocoon ? - Worauf baut Cocoon auf ? - Installation - Sitemap

  3. Was ist Cocoon ? (1) • publishing framework • document generator • web-basierte serverseitige Anwendung • liest XML, HTML etc. • gibt das ganze als HTML, PDF (bzw. in jedem benötigtem XML-basiertem Format) aus

  4. Was ist Cocoon ? (2) • Trennung von Inhalt, Stil und Logik • getrennte Bearbeitung möglich • z.B. zum ändern des Layouts muß nur eine Datei geändert werden (und nicht jedes Dokument einzeln ändern)

  5. Wie funktioniert Cocoon? (1) • Generator: ließt Dateien ein (SAX) und erzeugt entsprechende Events (XML-Dokumente) • Transformer: stilisiert das Dokument (z.B. mit XSLT) • Aggregator: fügt Daten zusammen • Serializer: erzeugt Ausgabe-Stream in gewünschtem Format

  6. Wie funktioniert Cocoon? (2) • Neuerung zu Cocoon 1: Pipelining, nur möglich, da Cocoon 2 Event-basiert ist

  7. Worauf baut Cocoon auf ? (1) • Benutzt folgende Technologien • XML • XML Namespaces • XSLT • Xpath • SQL • XSP • JAVA

  8. Worauf baut Cocoon auf ? (2) • Damit Cocoon lauffähig ist benötigt es: • Webbrowser • Java Umgebung (z.B. J2SDK=JDK) • Server-Umgebung (Servlet, z.B. Jakarta Tomcat 4)

  9. Worauf baut Cocoon auf ? (3) • außerdem werden verschiedene Ausgabeformate unterstützt : • alle XML-basierten Formate, wie z.B.: • HTML / XHTML mit CSS • SVG (Scalable Vector Graphics) • PDF • etc.

  10. Installation (1) • Es wird eine funktionierende Java-Entwicklungsumgebung benötigt (z.B. J2SDK von Sun, http://java.sun.org). Umgebungsvariable JAVA_HOME setzen Unix: export JAVA_HOME=/dein/jdk/ Windows: set JAVA_HOME=c:\dein\jdk • Tomcat (am besten 4.0.1) als binary von http://jakarta.apache.org herunterladen und entpacken. Umgebungsvariable CATALINA_HOME setzen Unix: export CATALINA_HOME=/dein/tomcat/ Windows: set CATALINA_HOME=c:\dein\tomcat

  11. Installation (2) • zum testen von Tomcat: startup-Skript ausführen unter tomcat/bin und beim Browser http://localhost:8080/ eingeben • die Cocoon2-Distribution unter http://xml.apache.org runterladen und entpacken. Um das cocoon war package zu erstellen und in den servlet-container zu installieren, folgendes Datei im Cocoonverzeichnis ausführen: Unix: ./build.sh -Dinclude.webapp.libs=yes -Dinstall.war=/dein/tomcat/webapps install Win32: .\build.bat -Dinclude.webapp.libs=yes -Dinstall.war=c:\dein\tomcat\webapps install

  12. Installation (3) • Das Servlet neu starten mit dem shutdown und startup Befehl • nun ist Cocoon unter http://localhost:8080/cocoon/ verfügbar

  13. Sitemap (1) Eine Sitemap beinhaltet Konfigurations-Informationen für die Apache Cocoon engine. Beginnt mit map:sitemap und hat immer einen namespace map. Bsp.: <?xml version="1.0"?> <map:sitemap xmlns:map="http://xml.apache.org/cocoon/sitemap/1.0"> <map:components/> <map:views/> <map:resources/> <map:action-sets/> <map:pipelines/> </map:sitemap>

  14. Sitemap (2) -components Alle components haben folgende Parameter: name und src In diesem Beispiel wird ein <use-store>-Parameter spezifiziert <map:components> <map:transformer name="xslt"  src="org.apache.cocoon.transformation.XSLTTransformer"> <!-- This is a parameter to the transformer component --> <use-store>true</use-store> </map:transformer> </map:components>

  15. Sitemap (3) -generators Jeder generator hat wiederum name und src. Wenn in einer pipeline (später) kein generator spezifiziert ist, wird der default-generator (hier: parser) benutzt. Generators generieren XML Inhalte durch erzeugung von SAX events und initialisieren den pipeline-Prozess. Verschiedene generator-Typen: -file generator - directory generator - XSP generator - JSP generator - Request generator - ... <map:generators default="parser"> <map:generator name="parser" src="org.apache.cocoon.generator.FileGenerator"/> <map:generator name="dir" src="MyDirGenerator"/> <map:generator name="xsp" src="org.apache.cocoon.generators.XSPGenerator"> ... </map:generator> </map:generators>

  16. Sitemap (4) -transformers • Jeder transformer hat wiederum name und src. Wenn in einer pipeline (später) kein transformer spezifiziert ist, wird der default-transformer benutzt. • Transformers transformieren SAX events in SAX events. • Verschiedene transformer-Typen: • -XSLT Transformer - Log Transformer - SQL Transformer - I18N Transformer - ... • <map:transformers default="xslt"> • <map:transformer name="xslt" • src="org.apache.cocoon.transformation.XSLTTransformer"> • <use-store>true</use-store> • </map:transformer> • <map:transformer name="xinclude" • src="org.apache.cocoon.transformation.XIncludeTransformer"/> • </map:transformers>

  17. Sitemap (5) -serializers (1) Jeder serializer hat wiederum name und src. Wenn in einer pipeline (später) kein serializer spezifiziert ist, wird der default-serializer benutzt. Serialisers verwandeln die SAX events in binäre oder character-streams. Verschiedene serializer-Typen: -HTML Serializer - FOP Serializer - Text Serializer - XML Serializer - ... <map:serializers default="html"> <map:serializer name="html" mime-type="text/html" src="org.apache.cocoon.serializer.HTMLSerializer"> <doctype-public>-//W3C//DTD HTML 4.0 Transitional//EN</doctype-public> <doctype-system>http://www.w3.org/TR/REC-html40/loose.dtd</doctype-system> <omit-xml-declaration>true</omit-xml-declaration> <encoding>UTF-8</encoding> <indent>1</indent> </map:serializer>

  18. Sitemap (6) -serializers (2) <map:serializer name="wap" mime-type="text/vnd.wap.wml" src="org.apache.cocoon.serializer.XMLSerializer"> <doctype-public>-//WAPFORUM//DTD WML 1.1//EN</doctype-public> <doctype-system>http://www.wapforum.org/DTD/wml_1.1.xml</doctype-system> <encoding>UTF-8</encoding> </map:serializer> <map:serializer name="svg2jpeg" mime-type="image/jpeg" src="org.apache.cocoon.serializer.SVGSerializer"> <parameter name="background_color" type="color" value="#00FF00"/> </map:serializer> <map:serializer name="svg2png" mime-type="image/png" src="org.apache.cocoon.serializer.SVGSerializer"> </map:serializer> </map:serializers>

  19. Sitemap (7) -selectors Jeder selector hat wiederum name und src. Wenn in einer pipeline (später) kein selector spezifiziert ist, wird der default-selector benutzt. Selectors werten einen Boolschen Ausdruck aus. <map:selectors default="browser"> <map:selector name="load" src="org.apache.cocoon.selection.MachineLoadSelector"> ... </map:selector> <map:selector name="user" src="org.apache.cocoon.selection.AuthenticationSelector"> ... </map:selector> <map:selector name="browser" src="org.apache.cocoon.selection.BrowserSelectorFactory"> ... </map:selector> </map:selectors>

  20. Sitemap (8) -matchers Jeder matcher hat wiederum name und src. Wenn in einer pipeline (später) kein matcher spezifiziert ist, wird der default-matcher benutzt Matchers mappen Muster auf eine Resource (URI mit bestimmten Muster finden um Anfage auf Pipelines zu legen). Verschiedene matcher-Typen: -wildcard - regexp <map:matchers default="uri-wildcard"> <map:matcher name="uri-wildcard" src="org.apache.cocoon.matcher.WildcardURIMatcherFactory"> ... </map:matcher> <map:matcher name="uri-regexp" src="org.apache.cocoon.matcher.RegexpURIMatcher"> ... </map:matcher> </map:matchers>

  21. Sitemap (9) -actions Actions können Parameter zur Laufzeit verändern. <map:actions> <map:action name="add-employee" src="org.apache.cocoon.acting.DatabaseAddAction"/> <map:action name="locale" src="org.apache.cocoon.acting.LocaleAction"/> <map:action name="request" src="org.apache.cocoon.acting.RequestParamAction"/> <map:action name="form-validator" src="org.apache.cocoon.acting.FormValidatorAction"/> </map:actions>

  22. Sitemap (10) -pipelines

More Related