Transformace XML pomocí XSLT

Přehled

Oddělení obsahu a presentace je klíčovou vlastnosti XML. Strutura XML dokumentu je navržena tak, aby vyjádřila a vysvětlila vztahy mezi individuálními aspekty samotného obsahu, nezatěžována tím, jak stanovit jakýkoli příznak o tom, jak by výsledná data měla být presentována. Rozumně navržená struktura je obzvlášť důležitá, tím více, že datové přenosy jsou zautomatizované a umísťěné mezi vysoce heterogenními prostředími(stanicemi) propojené po síti.

Doposud mnoho obsahů uchovávaných XML dokumentech potřebuje být presentováno v čitelné podobě pro člověka. Protože prohlížeč poskytuje známý a vysoce flexibilní interface, který je ideálním mechanismem pro dodání takové presentace různých verzí XML obsahu. Built from the ground up utilizing a wide variety of XML technologies, Mozilla v sobě začleňuje všechny mechanismy potřebné pro zapracování obouch originálních XML dokumentů a specializovaných stylopisů používajících styly a poskytuje jejich výstup v HTML formátu, reducing server load with client-side processing.

V současnosti, Gecko (engine v Mozille a Firefoxu) podporuje dvě formy XML stylopisů. Základní kontrolu vzhledu - písmo, barvy, pozice a dále -- Gecko používá CSS, známé z DHTML. Podporuje vše z CSS1 a většinu z CSS2. Podpora pro CSS3 je právě ve vývoji. Další informace o CSS, viz Eric Meyer's CSS pages.

My se zaměříme na druhý typ stylopisů, které Gecko podporuje: XSLT stylopis. XSLT je zkratkou pro eXtensible Stylesheet Language/Transform.XSLT dovoluje autorovi transformovat zdrojový XML dokument dvěma výraznými způsoby: manipulací a roztřídění jeho obsahu, zahrnující jeho celkové uspořádání dle požadavků, a za druhé je to transformace do různorodým formátů.

XSLT/XPath reference

  • xsl:apply-imports (supported)
  • xsl:apply-templates (supported)
  • xsl:attribute (supported)
  • xsl:attribute-set (supported)
  • xsl:call-template (supported)
  • xsl:choose (supported)
  • xsl:comment (supported)
  • xsl:copy (supported)
  • xsl:copy-of (supported)
  • xsl:decimal-format (supported)
  • xsl:element (supported)
  • xsl:fallback (not supported)
  • xsl:for-each (supported)
  • xsl:if (supported)
  • xsl:import (mostly supported)
  • xsl:include (supported)
  • xsl:key (supported)
  • xsl:message (supported)
  • xsl:namespace-alias (not supported)
  • xsl:number (partially supported)
  • xsl:otherwise (supported)
  • xsl:output (partially supported)
  • xsl:param (supported)
  • xsl:preserve-space (supported)
  • xsl:processing-instruction
  • xsl:sort (supported)
  • xsl:strip-space (supported)
  • xsl:stylesheet (partially supported)
  • xsl:template (supported)
  • xsl:text (partially supported)
  • xsl:transform (supported)
  • xsl:value-of (partially supported)
  • xsl:variable (supported)
  • xsl:when (supported)
  • xsl:with-param (supported)

Osy

  • ancestor
  • ancestor-or-self
  • attribute
  • child
  • descendant
  • descendant-or-self
  • following
  • following-sibling
  • namespace (not supported)
  • parent
  • preceding
  • preceding-sibling
  • self

Funkce

  • boolean() (supported)
  • ceiling() (supported)
  • concat() (supported)
  • contains() (supported)
  • count() (supported)
  • current() (supported)
  • document() (supported)
  • element-available() (supported)
  • false() (supported)
  • floor() (supported)
  • format-number() (supported)
  • function-available() (supported)
  • generate-id() (supported)
  • id() (partially supported)
  • key() (supported)
  • lang() (supported)
  • last() (supported)
  • local-name() (supported)
  • name() (supported)
  • namespace-uri() (supported)
  • normalize-space() (supported)
  • not() (supported)
  • number() (supported)
  • position() (supported)
  • round() (supported)
  • starts-with() (supported)
  • string() (supported)
  • string-length() (supported)
  • substring() (supported)
  • substring-after() (supported)
  • substring-before() (supported)
  • sum() (supported)
  • system-property() (supported)
  • translate() (supported)
  • true() (supported)
  • unparsed-entity-url() (not supported)

Pro další četbu

   *  Books
   * Online
         o The World Wide Web Consortium
         o Portals
         o Articles
         o Tutorials/Examples
         o Mailing Lists/Newsgroups

Document Tags and Contributors

Last updated by: teoli,