Das                                                                                              verknüpfte Bild          ...
Das                                                                                                    verknüpfte Bild    ...
Das                                                                                                verknüpfte Bild        ...
Das                                                                                                      verknüpfte Bild  ...
Das                                                                                                        verknüpfte Bild...
Das                                                                                           verknüpfte Bild             ...
Das                                                                                                      verknüpfte Bild  ...
Das                                                                                                     verknüpfte Bild   ...
Das                                                                                                            verknüpfte ...
Das                                                                                                              verknüpft...
Das                                                                                                               verknüpf...
Das                                                                                                         verknüpfte Bil...
Das                                                                                                             verknüpfte...
Das                                                                                                        verknüpfte Bild...
Das                                                                                                      verknüpfte Bild  ...
Das                                                                                                                       ...
Das                                                                                                                       ...
Das                                                                                                     verknüpfte Bild   ...
Das                                                                                           verknüpfte Bild             ...
Das                                                                                                       verknüpfte Bild ...
Das                                                                                                       verknüpfte Bild ...
Das                                                                                                                 verknü...
Das                                                                                                                       ...
Das                                                                                                         verknüpfte Bil...
Das                                                                                                                     ve...
Das                                                                                                      verknüpfte Bild  ...
Das                                                                                                     verknüpfte Bild   ...
Das                                                                                                        verknüpfte Bild...
Das                                                                                            verknüpfte Bild            ...
Das                                                                                                          verknüpfte Bi...
Das                                                                                                     verknüpfte Bild   ...
Das                                                                                                     verknüpfte Bild   ...
Das                                                                                                       verknüpfte Bild ...
Das                                                                                                      verknüpfte Bild  ...
Das                                                                                                       verknüpfte Bild ...
Das                                                                                                      verknüpfte Bild  ...
Das                                                                                                     verknüpfte Bild   ...
Das                                                                                                     verknüpfte Bild   ...
Das                                                                                                       verknüpfte Bild ...
Das                                                                                                      verknüpfte Bild  ...
Das                                                                                                    verknüpfte Bild    ...
Das                                                                                                     verknüpfte Bild   ...
Das                                                                                                    verknüpfte Bild    ...
Das                                                                                                           verknüpfte B...
Das                                                                                                      verknüpfte Bild  ...
Das                                                                                                     verknüpfte Bild   ...
Das                                                                                                      verknüpfte Bild  ...
Das                                                                                                      verknüpfte Bild  ...
Grundlagen von XML, XSLT und Web 2.0 in FileMaker Server Advanced 8
Grundlagen von XML, XSLT und Web 2.0 in FileMaker Server Advanced 8
Grundlagen von XML, XSLT und Web 2.0 in FileMaker Server Advanced 8
Grundlagen von XML, XSLT und Web 2.0 in FileMaker Server Advanced 8
Grundlagen von XML, XSLT und Web 2.0 in FileMaker Server Advanced 8
Grundlagen von XML, XSLT und Web 2.0 in FileMaker Server Advanced 8
Grundlagen von XML, XSLT und Web 2.0 in FileMaker Server Advanced 8
Grundlagen von XML, XSLT und Web 2.0 in FileMaker Server Advanced 8
Grundlagen von XML, XSLT und Web 2.0 in FileMaker Server Advanced 8
Grundlagen von XML, XSLT und Web 2.0 in FileMaker Server Advanced 8
Grundlagen von XML, XSLT und Web 2.0 in FileMaker Server Advanced 8
Grundlagen von XML, XSLT und Web 2.0 in FileMaker Server Advanced 8
Grundlagen von XML, XSLT und Web 2.0 in FileMaker Server Advanced 8
Upcoming SlideShare
Loading in …5
×

Grundlagen von XML, XSLT und Web 2.0 in FileMaker Server Advanced 8

2,833 views
2,754 views

Published on

Dies ist ein alter Vortrag, gehalten an der FileMaker Konferenz 2006 Deutschland. Er könnte für Anfragende nützlich sein, die sich für RSS mit FileMaker interessieren.
This is an old presentation given at FileMaker Conference 2006 in Germany. It could be useful for some requesters that are interested in RSS publishing with FileMaker.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,833
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Grundlagen von XML, XSLT und Web 2.0 in FileMaker Server Advanced 8

  1. 1. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft. Martin Brändle Grundlagen von XML, XSLT und Web 2.0 in FileMaker Server Advanced 8 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 1
  2. 2. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Inhalt •  Custom Web Publishing •  Allgemeines zu XML •  Allgemeines zu XSLT •  FileMaker XML und XSLT-Abfragen •  Newsticker Demo •  RSS •  AJAX 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 2
  3. 3. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Über mich •  Informationsspezialist Chemie (prom. Chemiker, NDS Information + Dokumentation) •  Informationszentrum Chemie Biologie Pharmazie, ETH Zürich Entwicklung: FileMaker: Datenbanken (Informationssystem CLICAPS) FileMaker Custom Web Publishing (CWP): CDML (prä-7), XML/XSLT (post-6) Websites Ausbildung: Studierende, Berufslehre I+D Fachspezialist Chemie: Erwerbung, Recherchen •  e-Mail: braendle at chem dot ethz dot ch 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 3
  4. 4. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, CWP Projekte mit XML/XSLT •  CLICAPS Bibliotheksinformationssystem - http://www.clicaps.ethz.ch/ Unterstützte Suchen, Personalisierung, StarTree •  Website Informationszentrum : CWP-Komponenten - http://www.infochembio.ethz.ch/ Newsticker, > 2000 RSS-Feeds für elektronische Zeitschriften und News •  Literaturdatenbank für Seile und Seilbahnen - http://www.ropeways.ethz.ch/ AJAX-basierter Webshop •  Artikelkatalog Chemieschalter - http://www.infochembio.ethz.ch/zv/zv_artikel_suche.html Ca. 320‘000 Zugriffe / Woche (25% FileMaker CWP Zugriffe) 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 4
  5. 5. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Über Sie •  XML Import/Export mit XSLT? •  Erfahrungen mit Web Design und Publishing (HTML, CSS, JavaScript)? •  Projekte mit CDML (Claris Dynamic Markup Language)? •  FileMaker Server Advanced (FMSA)? •  XSLT Site Assistant? •  CDML-nach-XSLT Konversionstool? •  XML/XSLT vs. XML/PHP? 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 5
  6. 6. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, CWP : Erzeugen von XML mit FMSA DEMO 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 6
  7. 7. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, XML •  XML = eXtensible Markup Language •  Menge von Regeln zur Schaffung von Auszeichnungs- bzw. Markup-Sprachen •  Markup-Sprache = Menge von Symbolen (Tags) im Dokument Benennung (Auszeichnung) einzelner Teile Abgrenzung einzelner Teile (Start-Tag, Ende-Tag) Meldung TitelNur noch 9 Tage bis zur FileMaker Konferenz 2006!/Titel AbsatzDie zweitägige Konferenz bietet nichtwichtigvielfältige Informationen zu unterschiedlichstenThemen/nichtwichtig. Sie haben erstmals die Möglichkeit, unter einer Auswahl von 3 parallelen Sessions Ihr maßgeschneidertes Programm selbst zusammen zu stellen. WichtigMelden Sie sich gleich an und geben Sie uns Ihre Wünsche bekannt./Wichtig/ Absatz /Meldung 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 7
  8. 8. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Elemente: Die Bausteine von XML •  Behälter für Text und Unterelemente TextDas ist im Element Text enthaltener Text/Text AussenHier TextInnenund noch mehr Text/Innen und wieder Text/ Aussen •  Syntax Name Attribut1=Wert1 Attribut2=Wert2Inhalt/Name •  Leeres Element Leer/Leer ⇒ Leer/ Leer Attribut1=Wert1 Attribut2=Wert2/ 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 8
  9. 9. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Element-Erweiterungen: Attribute •  Syntax Attributname=Wert oder Attributname=Wert Beispiel: resultset count=232 fetch-size=10 •  Ein Element darf jedes Attribut nur einmal enthalten Falsch: Gruppe Person=Max Person=Sonja Person=Jonas Richtig: Gruppe Personen=Max Sonja Jonas Richtig: Gruppe Person1=Max Person2=Sonja Person3=Jonas Richtig: GruppePersonMax/PersonPersonSonja/Person PersonJonas/Person/Gruppe 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 9
  10. 10. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, XML-Dokumente : Baumstruktur ?xml version=1.0 encoding=UTF-8? XML-Deklaration Fruechte !-- Kommentar: Hier folgen die einzelnen Fruechte -- Frucht id=1ApfelFarberot/Farbe/Frucht Frucht id=2ZitroneFarbegelb/Farbe/Frucht /Fruechte 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 10
  11. 11. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Zeichen-Entities •  Vordefinierte Zeichen-Entities amp; : apos; : gt; : lt; : quot; : •  Zahlendefinierte Zeichen-Entities : Unterstützung von Unicode in XML Dezimal: #8364; : € Sedezimal: x20ac; : € 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 11
  12. 12. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Namensräume •  Namensraum = Gruppe von Element- und Attributnamen •  Vermeidung von Namenskonflikten Beispiel: Bank (Geldinstitut, Sitzgelegenheit, Untiefe) •  Qualifizierte Elementnamen Geldinstitute:Bank und Sitzgelegenheiten:Bank •  Namensraum-Deklaration xmlns:Name=url Beispiel: xsl:stylesheet xmlns:fmrs=http://www.filemaker.com/xml/fmresultset ... 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 12
  13. 13. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Wohlgeformte XML-Dokumente •  Jedes Element, das Text oder Elemente enthält, muss ein Start- und End-Tag haben •  Der Tag eines leeren Elements muss vor der Abschlussklammer einen Schrägstrich / haben •  Alle Attributwerte müssen in Anführungszeichen stehen •  Elemente dürfen sich nicht überlappen BeispielRichtiges BeispielFalsches fettBeispiel/fett für fettBeispiel/Beispiel für Verschachtelung./Beispiel Verschachtelung./fett •  Keine isolierte Markupzeichen: , ]] und •  Elementnamen dürfen nur mit Buchstaben und Unterstrichen _ beginnen •  Elementnamen dürfen nur Buchstaben, Zahlen, Bindestriche, Punkte, Unterstriche enthalten, und Doppelpunkte für Namensräume 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 13
  14. 14. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Sinn und Zweck von XML •  W3C Standard •  Anwendungsspezifisch •  Eindeutige Strukturen •  Trennung von Inhalt und Präsentation ⇒ XSLT •  Fehlerüberprüfung möglich 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 14
  15. 15. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, FMSA XML Abfragen •  Merkmal der URL http://host/fmi/xml/fmresultset.xml?.... •  Allgemeiner Aufbau der URL (kursiv = optional) http://host/fmi/xml/fmresultset.xml?-db=Datenbank-lay=Layout Feld1.op=bwFeld1=Wert1Feld2.op=bwFeld2=Wert2-sortfield.1=Feldname -sortorder.1=ascend-max=Anzahl_Datensätze-befehl •  Häufige Befehle -find, -findall, -new, -edit (-edit braucht -recid=Record_ID) Für alle Parameter und Befehle siehe FMSA CWP Handbuch, Anhang A! 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 15
  16. 16. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, fmresultset XML grammar (1) ?xml version=1.0 encoding=UTF-8? fmresultset xmlns=http://www.filemaker.com/xml/fmresultset version=1.0 error code=0/ Fehlercode Prolog.......................................... product build=06/14/2006 name=FileMaker Web Publishing Engine version=8.0.4.128/ datasource database=Mitteilungen_fmi date-format=MM/dd/yyyy layout=WWW_Meldungen table=Meldungen time-format=HH:mm:ss timestamp-format=MM/dd/yyyy HH:mm:ss total-count=232/ metadata Layoutinfo field-definition auto-enter=no global=no max-repeat=1 name=Aktiv not- empty=no result=text type=calculation/ ... relatedset-definition table=Meldungen_CT_Keywords field-definition auto-enter=no global=no max-repeat=1 name=Keywords::Keyword_de not-empty=no result=text type=normal/ /related-definition /metadata 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 16
  17. 17. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, fmresultset XML grammar (2) resultset count=3 fetch-size=2 Daten...................................................... record mod-id=13 record-id=233 Datensätze (0 ... mehrere) field name=Aktiv Feld (1 ... mehrere) dataja/data Felddaten (1 ... mehrere Wiederholungen) /field ... relatedset count=4 table=Meldungen_CT_Keywords Portal (0 ... mehrere) record mod-id=0 record-id=558 Portaldatensätze (0 ... Mehrere) field name=Keywords::Keyword_de dataFileMaker/data /field ... /record ... /relatedset ... /record ... /resultset /fmresultset 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 17
  18. 18. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, XSLT •  XSLT = eXtensible Stylesheet Language : Transformations •  W3C Standard •  Sprache, um die Struktur von XML-Dokumenten zu transformieren d.h. XSLT braucht immer XML (fast immer ...) •  Resultat der Transformation: XML, HTML (als XHTML), Text, irgendetwas (BLOB) 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 18
  19. 19. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, FMSA CWP mit XML/XSLT 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 19
  20. 20. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, FMSA XSLT Abfragen •  Merkmal der URL http://host/fmi/xsl/stylesheetname.xsl?-grammar=fmresultset.... •  Allgemeiner Aufbau der URL (kursiv = optional) http://host/fmi/xsl/stylesheetname.xsl?-grammar=fmresultset-db=Datenbank -lay=LayoutFeld1.op=bwFeld1=Wert1Feld2.op=bwFeld2=Wert2 -sortfield.1=Feldname-sortorder.1=ascend-max=Anzahl_Datensätze-befehl •  Häufige Befehle -find, -findall, -new, -edit (-edit braucht -recid=Record_ID), -process Für alle Parameter und Befehle siehe FMSA CWP Handbuch, Anhang A! 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 20
  21. 21. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, XSLT : Eigenschaften •  In XML definiert xsl:for-each select=/fmrs:fmresultset/fmrs:resultset/fmrs:record” xsl:variable name=record select=current()/ xsl:value-of select=$record/fmrs:field[@name = Feld1 ]/fmrs:data[1]/ /xsl:for-each •  Deklarativ anstelle prozedural (nicht wie C++, Java, JavaScript, PHP, ...) Transformation wird beschrieben. XSLT-Prozessor entscheidet, wie am effizientesten transformiert wird. •  Regelbasiert Templat-basierte Regeln die für Muster, die im Input vorkommen, greifen und dann den Output generieren. Reihenfolge der Deklaration egal. 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 21
  22. 22. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Allgemeine Struktur eines Stylesheets ?xml version=1.0 encoding=UTF-8? ?xml-processing-instruction (optional)? xsl:stylesheet version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform Namensraumdeklarationen ... !-- Kommentar -- Elemente ......... Top-Level- Kopfbereich !-- Include-Dateien (optional mit xsl:include) -- !-- Variablen-Deklarationen (optional mit xsl:variable) -- xsl:output method=html encoding=UTF-8/ xsl:template match=/fmrs:fmresultset !-- HTML Code erzeugen -- !-- HTML Code erzeugen -- /xsl:template !-- evtl. Untertemplate (aka Unterroutinen) -- /xsl:stylesheet 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 22
  23. 23. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, XSLT versus PHP XSLT erzeugt alles PHP speist ein html ?xml version=1.0 encoding=UTF-8? ?php xsl:stylesheet version=1.0... xsl:output method=html encoding=UTF-8/ require_once(FileMaker.php); $fm = new FileMaker(‘meine_db); xsl:template match=/fmrs:fmresultset $findCommand = $fm-newFindAllCommand(Form xsl:variable name=record select=“$record/ fmrs:fmresultset/fmrs:resultset/ View); fmrs:record[1]“/ // je nachdem 20-40 Zeilen für Query! html $result = $findCommand-execute(); head..../head $records = $result-getRecords(); body $record = $records[1]; pGuten Morgen, /p ? p head..../head xsl:value-of select=$record/fmrs:field[@name = body Vorname]/fmrs:data[1]/ pGuten Morgen, /p /p p /body ?php echo $record-getField(‘Vorname); ? /html /p /xsl:template /body /xsl:stylesheet /html 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 23
  24. 24. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, XSLT - Wichtige Elemente •  xsl:value-of select=XPath-Ausdruck, Ausdruck oder Datentyp/ für Ausgabe •  xsl:template match=XPath-Ausdruck für Templatregeln •  xsl:for-each select=XPath-Ausdruck für Loops •  xsl:choose für Verzweigungen •  xsl:attribute name=attributname zum Setzen von Elementattributen •  xsl:copy-of select=XPath-Ausdruck/ zum Kopieren ganzer XML-Fragmente 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 24
  25. 25. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Auswahl von XML-Elementen: XPath •  XSLT und XPath bedingen sich gegenseitig! XPath = W3C Standard •  XPath-Ausdrücke zum Auswählen von Knoten (Elemente, Attribute) eines XML-Baums •  XPath verwendet Pfade und Achsen. Wir verwenden abgekürzte Notationen . relativ im Kontext: Der aktuelle Knoten record relativ im Kontext: alle record-Kinderknoten /fmrs:fmresultset/fmrs:resultset absolut: Alle resultset-Kinder des Kindelements fmresultset des Wurzelelements fmrs:resultset/fmrs:record relativ im Kontext: Alle record-Kinder von resultset fmrs:error/@code relativ im Kontext: Das Attribut code des Elements error fmrs:record[2] relativ im Kontext: Das zweite record-Kindelement fmrs:field[@name = Vorname] relativ im Kontext: Das Element field mit Attribut name, dessen Attributwert Vorname ist (Test-Ausdruck) •  XPath-Ausdrücke auch für Berechnungen und Vergleiche xsl:value-of select=($x + $y) div 10/ xsl:value-of select=$x != Vergleichstring/ 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 25
  26. 26. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, „Kontext“ in XSLT •  Statischer Kontext Hängt von Position des Ausdrucks im Stylesheet ab Bsp. Globale Variablen (Kopf-Bereich) Bsp. Lokale Variable (Kind von xsl:template oder Unterelement) •  Dynamischer Kontext Gegenwärtiger Wert der Variable Gegenwärtige Position im XML-Baum der Quelle, umfasst: Knoten (xsl:for-each, xsl:apply-templates) Kontext-Knoten (normalerweise gleich wie gegenwärtiger Knoten) Kontext-Position (abfragbar über position(), bestimmt durch Durchlauf in xsl:for-each ) Kontext-Grösse (Anzahl der Knoten in der gegenwärtigen Knotenliste) 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 26
  27. 27. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Datentypen in XSLT •  Dynamische Typen, assoziiert mit Werten anstelle von Variablen •  Boolean: true(), false() •  Zahlen: Bsp. -10, 0, 9999999999, 1 div 0, NaN •  Strings: Bsp. Text, Abkamp;uuml;rzung •  Node-sets: Satz von Knoten eines XML-Baums oder Kombination 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 27
  28. 28. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Beispiel: Newsticker •  Zeigt neueste Meldungen an •  Entfernt nicht mehr aktuelle Meldungen nach einem Verfalldatum •  Anreisser (mehr ...) und Detailanzeige •  Zweisprachig •  Suchfunktion •  RSS NewsFeed •  AJAX-basierte Auswahl nach Schlagworten •  E-mailing einzelner News Download: http://www.infochembio.ethz.ch/download/newsticker.zip 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 28
  29. 29. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Newsticker DEMO 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 29
  30. 30. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Newsticker: Entwicklungszyklen •  Schritt 0 : Erstellen des Website-Templats •  Schritt 1 : Aktivieren der Datenbank, einfache Abfrage, Anzeige der aktuellen News •  Schritt 1+ : Refactoring - Auftrennen in Module •  Schritt 2 : Detailanzeige - cmdl2xsl_utilities-Bibliothek •  Schritt 2+ : Nachladen von XML - document()-Funktion •  Schritt 3 : Einführen der Suche - Vom FM XML Query zum Formular •  Schritt 3+ : Smarte Suche : Logs, Stoppwortfilterung, Wiederverwendung •  Schritt 4 : RSS Feed •  Schritt 4+ : RSS optimiert •  Schritt 5 : AJAX für dynamische Themenwahl •  Schritt 6 : E-mails Download: http://www.infochembio.ethz.ch/download/newsticker.zip 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 30
  31. 31. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Schritt 0 : Website-Templat •  Erzeugen in einer Webseiten-Erstellungssoftware, bspw. Macromedia Dreamweaver •  Erzeugte Seiten müssen im XHTML-Format sein Dreamweaver: Menu Datei Konvertieren XHTML 1.0 Transitional 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 31
  32. 32. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Schritt 1 : Einfache Abfragen •  XML und XSLT CWP einschalten •  Datenbank CWP fähig machen Erweiterte Privilegien einstellen: fmxslt, fmxml WICHTIG fmxml immer mit passwort-geschütztem Account, sonst Sicherheitsrisiko! •  Layouts für CWP erstellen WICHTIG Nur benötigte Felder für Suchen und Resultate aufnehmen •  XHTML in Stylesheet-Vorlage einfüllen 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 32
  33. 33. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Was kommt wohin? •  XSLT-Stylesheets Relativ zum Verzeichnis, in welchem FileMaker Server installiert ist: Web Publishing/xslt-template-files/ oder Unterverzeichnisse desselben •  XML-Dateien, die nachgeladen werden Web Publishing/xslt-template-files/ oder Unterverzeichnisse desselben •  Alle statischen Dateien (HTML, CSS, JavaScript, GIF, JPG, PNG, ...) ins Verzeichnis der Webdateien , das im Webserver bezeichnet wurde, z.B. /Library/Webserver/Documents (OS X) oder ~/Sites (OS X, Personal Web Sharing) oder frei wählbares Verzeichnis (OS X Server, Windows Server) 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 33
  34. 34. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, XSLT: Variablen Variable deklarieren (Variante 1, effizient) xsl:variable name=meinevar select=/ xsl:variable name=meinstring select=Text in einfachen Hochkommata/! Variable deklarieren (Variante 2, mächtig, aber ineffizient) xsl:variable name=meinevar !-- irgendein XSLT-Konstrukt -- /xsl:variable Variable verwenden mit $name: xsl:value-of select=$meinevar/ 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 34
  35. 35. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, XSLT: Loops mit xsl:for-each xsl:for-each select=/fmrs:fmresultset/fmrs:resultset/fmrs:record” !-- Aktuelles Element und alle Unterelemente mit current() wählen -- xsl:variable name=record select=current()/ !-- Position im Kontext mit position() wählen -- xsl:variable name=nummer select=position()/ !-- Nummer - Feld1 - Feld2 - Zeilenumbruch ausgeben -- xsl:value-of select=$nummer/ xsl:text - /xsl:text xsl:value-of select=$record/fmrs:field[@name = Feld1 ]/fmrs:data[1]/ xsl:text - /xsl:text xsl:value-of select=$record/fmrs:field[@name = Feld2 ]/fmrs:data[1]/ br/ /xsl:for-each 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 35
  36. 36. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Wichtige Xpath- und XSLT-Funktionen •  String-Manipulation concat(), contains(), normalize-space(), starts-with(), string-length(), substring(), substring-before(), substring-after() •  Aggregation count(), sum() •  Boole‘sche Funktionen false(),true(),not() •  Information über den Kontext current(), last(), position() •  XML-Dokument laden document() Keine Angabe eines Namensraums nötig! 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 36
  37. 37. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Schritt 1+: Refactoring •  Modularisierung: Integration von Seitenteilen in separate Stylesheets Kopf mit Breadcrumb : header_de.xsl, header_en.xsl Resultate : results_de.xsl, results_en.xsl Fuss : footer_de.xsl, footer_en.xsl •  Einbinden der Stylesheets in Hauptseite mit xsl:include href=url •  Aufruf der Teile mit xsl:call-template name=name 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 37
  38. 38. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, XSLT: Subroutinen •  Subroutinen über benannte Template implementieren xsl:template name=meine_subroutine xsl:param name=uebergabe1/ xsl:param name=uebergabe2/ Übergebene Parameter !-- hier etwas tun -- /xsl:template •  Aufruf der Subroutine !-- hier etwas tun -- xsl:call-template name=meine_subroutine xsl:with-param name=uebergabe1 select=$var1/ Übergabeparameter xsl:with-param name=uebergabe2 select=XPath-Ausdruck2/ /xsl:call template !-- hier etwas tun -- 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 38
  39. 39. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, FileMaker XSLT Erweiterungsfunktionen •  Namensraum muss in xsl:stylesheet xmlns:fmxslt=xalan://com.fmi.xslt.ExtensionFunctions“ spezifiziert werden •  Angabe des fmxslt: Namensraumpräfixes •  Beispiele Stringmanipulation: fmxslt:url_encode(), fmxslt:url_decode() u.a. Datumsfunktionen: fmxslt:convert_datetime() u.a. e-Mail: fmxslt:send_email() Siehe FMSA CWP Handbuch, S. 65ff ; XSLT Reference.fp7 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 39
  40. 40. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Schritt 2 : Aufruf der Detailseite •  Verwendung des Templats get-link in der Bibliothek cdml2xsl_utilities.xsl •  Falls Bibliothek nicht vorhanden Dummy-CDML generieren (wie: siehe lib/results_de.xsl) Mit CDML-XSLT Konversionstool konvertieren, erzeugt cdml2xsl_utilities.xsl •  Siehe: FMSA CWP Handbuch, Anhang C, insbesonders S. 139ff. 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 40
  41. 41. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Schritt 2+: Nachladen von Dokumenten •  Verwendung der XSLT-Funktion document() und Abspeichern in einer Variable •  xsl:variable name=xmlbaum select=document(url)/ •  Verwendung von $xmlbaum an beliebiger Stelle im Stylesheet •  document() akzeptiert nur wohlgeformtes XML 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 41
  42. 42. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Schritt 3: Suche •  XSLT-Abfrage in Formular umwandeln Parameter=Wert Paare ⇒ input type=... name=Parameter value=Wert/ 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 42
  43. 43. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Schritt 3+ : Smarte Suche •  Stoppwort-Filterung •  Automatisch erzeugte Logdatei •  Einsatz von fmxslt:set_status_code() und fmxslt:set_header() zur Beeinflussung des HTTP-Headers (FMSA CWP Handbuch, S. 76) •  Weitere Möglichkeiten Abfrage umformulieren (CLICAPS, Seilbahnliteratur) Abfragen in mehreren Tabellen gleichzeitig (CLICAPS) Abfrageanalyse (CLICAPS) Unterstützte Abfragen (Meinen Sie? in CLICAPS) History-Funktion Alerts 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 43
  44. 44. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Schritt 4 : RSS •  RSS = Familie von Nachrichtenformaten in XML, Transport über HTTP RSS 0.9, 1.0 RDF Site Summary RSS 0.91, 1.0 Rich Site Summary RSS 2.0 Really Simple Syndication ATOM 1.0 Standard der IETF (versucht Probleme mit eingebettetem HTML zu lösen) •  Content-Syndication (Mehrfach-Verwendung von Inhalten) •  Braucht NewsReader oder RSS-fähigen Browser (Safari, FireFox, IE7) •  RSS 0.9-2.0 siehe Ben Hammersley, Content Syndication with RSS, OReilly, 2003 •  Beispiel: Erzeugen von RSS 1.0 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 44
  45. 45. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, RSS 1.0 Grundstruktur rdf:RDF ... channel rdf:about=channel_url Kanal: Feed-Spezifikation titleTitel/title descriptionZusammenfassung des Feeds/description linkURL der Feed-Website/link items rdf:Seq rdf:item resource=URI des Items 1/ rdf:item resource=URI des Items 2/ /rdf:Seq /items /channel item/ Inhalt der einzelnen Meldungen item/ /rdf:RDF 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 45
  46. 46. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Schritt 4+ : RSS optimiert •  Stetiges Pollen durch NewsReader ⇒ RSS-Meldungen fressen Bandbreite ⇒ Server wird durch Abfragen belastet •  Lösung: Meldungen nur schicken, wenn sich etwas geändert hat NewsReader lesen HTTP-Header aus: Not-Modified Statuscode (304) und Modified-Since Meldung NewsReader senden If-Modified-Since Meldung im HTTP-Header Verwenden der fmxslt:set_status_code(), fmxslt:get_header() und fmxslt:set_header() Erweiterungsfunktionen zur Optimierung 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 46
  47. 47. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Web 2.0 •  Tim OReilly, What is Web 2.0 : Design Patterns and Business Models for the Next Generation of Software, 2005 http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html •  Prinzipen Web als Plattform Kollektive Aktivität ermöglichen (RSS, Blogs, Wikis, User Tagging, User Content) Datengetriebene Applikationen Ende des Software-Release-Zyklus - Co-Entwicklung durch Benutzer Einfache Programmiermodelle und Protokolle (z.B. AJAX, RSS, REST) Software für verschiedene Devices Rich Internet Applications : AJAX als Schlüsselkomponente •  Kritische Sicht: http://en.wikipedia.org/wiki/Web_2 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 47
  48. 48. Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweis e wurde die Datei verschoben, Schritt 5: AJAX •  AJAX = Asynchronous JavaScript And XML •  Umfasst mehrere Technologien Präsentation über XHTML und CSS Dynamische Anzeige und Interaktion via Document Object Model (DOM) Datenaustausch und -manipulation über XML und XSLT Asynchrones Laden/Schreiben von Daten über XMLHttpRequest-Objekt Verbindung der Komponenten über JavaScript •  Prinzipien von AJAX Browser enthält Anwendung, nicht Inhalt Server liefert Daten, nicht Inhalt Interaktion des Benutzers ist flüssig und ununterbrochen 1.12.2006 FileMaker Konferenz 2006 Mehr Möglichkeiten. Mehr Chancen. Mehr Geschäft 48

×