xmlinclude
                          Sven-S. Porst




Niedersächsische Staats- und                        TYPO3 an Hochschulen
Universitätsbibliothek Göttingen          RRZN Hannover, 22. November 2012
3 Schritte


XML
3 Schritte


      Laden
XML
3 Schritte


      Laden
XML


         Transformieren
3 Schritte


      Laden         Ausgeben
XML


         Transformieren
XML laden   XML
XML laden                  XML




• Start- und Basis-URL – FlexForm
XML laden                    XML




• Start- und Basis-URL – FlexForm
• zusätzliche URL Parameter –
  URLParameters
• Cookies – cookiePassthrough, cookiePath
• schlechtes Markup – parseAsHTML
Transformieren
Transformieren
• XSLT
Transformieren
• XSLT
         <xsl:stylesheet version="1.0"
             xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
             xmlns="http://www.w3.org/1999/xhtml">

             <xsl:template match="document">
         !       <div>
         !       !       <xsl:apply-templates select="*"/>
         !       </div>
             </xsl:template>

             <xsl:template match="title">
             !       <h1>
             !           !   <xsl:value-of select="."/>
             !       </h1>
             </xsl:template>

             <xsl:template match="text">
             !       <p>
             !           !   <xsl:value-of select="."/>
             !       </p>
             </xsl:template>

         </xsl:stylesheet>
Transformieren
      • XSLT
                          <xsl:stylesheet version="1.0"
                              xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                              xmlns="http://www.w3.org/1999/xhtml">

                                <xsl:template match="document">
                          !         <div>
                          !         !       <xsl:apply-templates select="*"/>
                          !         </div>
                                </xsl:template>

                                <xsl:template match="title">
                                !       <h1>
                                !           !   <xsl:value-of select="."/>
                                !       </h1>
                                </xsl:template>

                                <xsl:template match="text">
                                !       <p>
                                !           !   <xsl:value-of select="."/>
                                !       </p>
                                </xsl:template>

                          </xsl:stylesheet>




<document>                                                         <div xmlns="http://
!   <title>Hallo Welt</title>                                        www.w3.org/1999/xhtml">
!   <text>Test test.</text>                                          <h1>Hallo Welt</h1>
</document>                                                          <p>Test test.</p>
                                                                   </div>
Transformieren
• XSLT
  • Array konfigurierbar – XSL
• TYPO3 Settings als Parameter
• XSL zum Umschreiben von Links
  inclusive – Standardeinstellung XSL.50
Links umschreiben
Links umschreiben
• Links in a und form Tags durch TYPO3
• Links in img, script, link Tags nicht
• relative Links + base URL
• Ausnahmen durch class
XML ausgeben

• transformiertes XML in Seite einfügen
• style, script hinzufügen
  – headCSS, headJavaScript
• Cookies weiterreichen – cookiePath
XML ausgeben

• transformiertes XML in Seite einfügen
• style, script hinzufügen
  – headCSS, headJavaScript
• Cookies weiterreichen – cookiePath
RealURL
• bessere URLs in TYPO3:
  vlib.sub.uni-goettingen.de/test/xmlinclude/dspace/?
  tx_xmlinclude_xmlinclude[URL]=%2Fhandle%2F11858%2F31


  vlib.sub.uni-goettingen.de/test/xmlinclude/dspace/handle/11858/31



• Helferfunktion zur Einbindung dabei
• vom XSL unterstützt
TypoScript Setup
Technisch

• Extbase
• curl, DOMDocument, XSLTProcessor
• einfachstes Fluid Template:
     {xml->f:format.raw()}
Demos
vlib.sub.uni-goettingen.de/test/xmlinclude

   • AdW DSpace res doctae
   • Solr
   • SRU: SUB Vormerkungen, ZDB
   • Opac – HTML Hack
Danke

• Fragen oder Ideen?
• verfügbar im TER
• github.com/ssp/typo3-xmlinclude
• porst@sub.uni-goettingen.de

xmlinclude

  • 1.
    xmlinclude Sven-S. Porst Niedersächsische Staats- und TYPO3 an Hochschulen Universitätsbibliothek Göttingen RRZN Hannover, 22. November 2012
  • 2.
  • 3.
    3 Schritte Laden XML
  • 4.
    3 Schritte Laden XML Transformieren
  • 5.
    3 Schritte Laden Ausgeben XML Transformieren
  • 6.
  • 7.
    XML laden XML • Start- und Basis-URL – FlexForm
  • 8.
    XML laden XML • Start- und Basis-URL – FlexForm • zusätzliche URL Parameter – URLParameters • Cookies – cookiePassthrough, cookiePath • schlechtes Markup – parseAsHTML
  • 9.
  • 10.
  • 11.
    Transformieren • XSLT <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"> <xsl:template match="document"> ! <div> ! ! <xsl:apply-templates select="*"/> ! </div> </xsl:template> <xsl:template match="title"> ! <h1> ! ! <xsl:value-of select="."/> ! </h1> </xsl:template> <xsl:template match="text"> ! <p> ! ! <xsl:value-of select="."/> ! </p> </xsl:template> </xsl:stylesheet>
  • 12.
    Transformieren • XSLT <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"> <xsl:template match="document"> ! <div> ! ! <xsl:apply-templates select="*"/> ! </div> </xsl:template> <xsl:template match="title"> ! <h1> ! ! <xsl:value-of select="."/> ! </h1> </xsl:template> <xsl:template match="text"> ! <p> ! ! <xsl:value-of select="."/> ! </p> </xsl:template> </xsl:stylesheet> <document> <div xmlns="http:// ! <title>Hallo Welt</title> www.w3.org/1999/xhtml"> ! <text>Test test.</text> <h1>Hallo Welt</h1> </document> <p>Test test.</p> </div>
  • 13.
    Transformieren • XSLT • Array konfigurierbar – XSL • TYPO3 Settings als Parameter • XSL zum Umschreiben von Links inclusive – Standardeinstellung XSL.50
  • 14.
  • 15.
    Links umschreiben • Linksin a und form Tags durch TYPO3 • Links in img, script, link Tags nicht • relative Links + base URL • Ausnahmen durch class
  • 16.
    XML ausgeben • transformiertesXML in Seite einfügen • style, script hinzufügen – headCSS, headJavaScript • Cookies weiterreichen – cookiePath
  • 17.
    XML ausgeben • transformiertesXML in Seite einfügen • style, script hinzufügen – headCSS, headJavaScript • Cookies weiterreichen – cookiePath
  • 18.
    RealURL • bessere URLsin TYPO3: vlib.sub.uni-goettingen.de/test/xmlinclude/dspace/? tx_xmlinclude_xmlinclude[URL]=%2Fhandle%2F11858%2F31 vlib.sub.uni-goettingen.de/test/xmlinclude/dspace/handle/11858/31 • Helferfunktion zur Einbindung dabei • vom XSL unterstützt
  • 19.
  • 20.
    Technisch • Extbase • curl,DOMDocument, XSLTProcessor • einfachstes Fluid Template: {xml->f:format.raw()}
  • 21.
    Demos vlib.sub.uni-goettingen.de/test/xmlinclude • AdW DSpace res doctae • Solr • SRU: SUB Vormerkungen, ZDB • Opac – HTML Hack
  • 22.
    Danke • Fragen oderIdeen? • verfügbar im TER • github.com/ssp/typo3-xmlinclude • porst@sub.uni-goettingen.de