Hot linka, zatelefonujte nám 774 731 550

SLOVNÍK - XSLT (eXtensible Stylesheet Language Transformations)

XSLT
je transformace, která se provádí pomocí procesoru XSLT. Procesorem je míněn program podporující tuto transformaci. Procesor XSLT může být napsán v libovolném programovacím jazyce nebo využít knihovny XSLT daného programovacího jazyka.
K provedení transformace jsou potřeba dva soubory:
  • První soubor obsahuje zdrojová data, která budou transformována.Struktura tohoto souboru vyjma obecných vlastností XML není blíže specifikována
  • Druhý soubor obsahuje vzorec pro transformaci a musí být napsán v jazyce XSL.

Transformování dat

Transformace se provádí pouze na známých datových strukturách. Tyto datové struktury, které a pomocí kterých se bude transformovat, jsou definovány mezinárodním konzorciem W3C. Správnost implementace a podpora všech standardem definovaných vlastností je v kompetenci a na zodpovědnosti autorů konkrétního procesoru XSLT.

Mezinárodní podpora

Zdrojová data pro transformaci mohou obsahovat libovolné znakové sady, nejen angličtinu, ale též např. znaky s diakritikou nebo znaky asijských písem, popřípadě jejich kombinace. V zdrojovém dokumentu však musí být v záhlaví označeno kódování znaků. V poslední době se často užívá a je doporučeno užívat kódování UTF-8 pro správnou funkci jiných znaků než ASCII. Většina operačních systémů, programovacích jazyků a editorů je již podporou kódování UTF-8 vybavena.

Vlastnosti XSLT

Soubory pro XSLT jsou v textovém formátu, který je čitelný bez žádného zvláštního editoru. Díky tomuto principu je i možné tyto soubory snadno generovat pomocí počítačových programů. Příkladem může být získání dat z databáze či jiných datových struktur, jejich konverze do XML, která je velmi snadná, a následovná aplikace XSLT například pro převod do HTML.

Nezávislost na platformě

Procesory nebo též programy pro provedení vlastní transformace existují pro všechny známé platformy používané na PC nebo na serverech. V mnoha programovacích jazycích jsou dnes již implementovány knihovny pro XSLT.

Jednoznačnost a symetričnost

Z matematického hlediska XSLT není jednoznačná, ani není symetrickou funkcí. Pro některé procesory však existuje alespoň jeden případ T(x,y) = x, kde x je zdroj a y je vzorec transformace. Neexistuje však případ T(x,y) = y.

Účel XSLT

Smyslem XSLT je na základě zdrojového souboru a šablony vygenerovat jiný, třetí dokument nebo obecně soubor. Struktura tohoto výstupu XSLT není definována přímo standardem a je závislá na procesoru XSLT. Nejčastěji se používá výstup do HTML nebo XML, případně prostý textový formát, označovaný též TXT. Dalšími velmi známými výstupy jsou formáty PDF a RTF. Zcela pochopitelně to však mohou být i libovolné jiné soubory nebo formáty dat.

Procesory XSLT

Procesory XSLT se obvykle nachází jako součást programovacích jazyků nebo jako knihovny, které lze dodatečné získat z internetu. Příkladem jsou knihovny Xalan, Saxon, Apache FOP, přímou implementaci lze nalézt např. v jazycích PHP, Java, C#.

Příklad užití XSLT v PHP jazyce (soubor.php)

<?php
header('Content-Type: text/html; charset=utf-8');
echo("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r");
echo("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" 
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\r");
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs" dir="ltr">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta http-equiv="content-language" content="cs" />
    <meta http-equiv="content-style-type" content="text/css" />
    <title id="Header_Title">ABC</title>
    <link rel="StyleSheet" href="./menu.css" type="text/css" media="all" />
  </head>
  <body>
     <div id="global">
     <h1>Napis</h1>
<?php
     echo("     <div id=\"menu-div\">\r");
     $xmldom = new DomDocument(); 
     $xmldom->load("./menu.xml"); 
     $xmldom->validate();
     $xsldom = new DomDocument(); 
     $xsldom->load("./menu.xsl"); 
     $xsltproc = new XsltProcessor(); 
     $xsldom = $xsltproc->importStylesheet($xsldom); 
     $outdom = $xsltproc->transformToDoc($xmldom); 
     echo("   <ul id=\"myTree\">\r");
     print $outdom->saveHTML();
     echo("   </ul>\r");
     echo("     </div>\r");
?>
  </div>
  </body>
</html>

Zpět

Slovníček - výběr pojmu:

Vyberte ze seznamu výraz, který Vás zajímá.

Copyright © Stargen 2000-2018 TOPlist