======WEB - xml, DTD, XSLT======
=====XML=====
eXtensible Markup Language
===XML dokument===
<?xml veraion="1.0"?> ... specifikace XML verze\\
=====XSL=====
[[http://www.w3.org/Style/XSL/|xsl]] - eXtensible Stylesheet Language - transformace xml
xsltproc [[xml/test.xsl|test.xsl]] [[xml/test.xml|test.xml]] ... transformace xml podle vzoru\\
====DTD====
====XML====
cat a.xml | xmllint --xpath "string(//*[name()='ManagedObjectReference'])" - ... vypise hodnotu uzlu ManagedObjectReference\\
cat a.xml | xmllint --xpath "string(//*[name()='ManagedObjectReference'][$i]/@type)" - ... vypise prepinac "type" z i-teho uzlu ManagedObjectReference\\
=====XSLT=====
[[https://www.w3schools.com/xml/xsl_intro.asp|XLST tutorial na w3schools]]\\
[[http://wiht.link/XSLT-intro|XLST info na whoishostingthis]]\\
==Konverzni programy==
xsltproc
saxon
4SXLT
Xalan
eXtensible Stylesheet Language Transformations ... cast specifikace XSL pro transformace XML do jinych formatu (XML, HTML, txt, csv, pdf, ...)
==Hlavicka==
<?xml veraion="1.0"?> ... specifikace XML verze, pripadny parametr encoding (UTF-8, windows-1250, ...) pro kodovani znaku\\
<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform"> ... Specifikace XSLT\\
<xsl:stylesheet type="text/css" href="first.css"> ... Specifikace kaskadoveho stylu\\
==Telo - obvykle prikazy==
<xsl:template match="/PLANETS"> ... vzor pro vsechny nalezene bloky PLANETS v korenu\\
<xsl:template match="PLANET"> ... vzor pro vsechny nalezene bloky PLANET v aktualnim bloku\\
\\
<xsl:value-of select="NAME"/> ... Vlozi obsah podbloku NAME\\
<xsl:value-of select="."/> ... Vlozi obsah aktualniho bloku\\
<xsl:value-of select="@COLOR"/> ... Vlozi obsah argumentu COLOR u aktualniho bloku (.) - napriklad pro <PLANET COLOR="red" NAME="MARS">\\
\\
<xsl:apply-templates> ... Instrukce pro nalezeni vhodneho vzoru (template) a jeho implementaci\\
<xsl:apply-templates select="DISTANCE"> ... Instrukce pro nalezeni vzoru (template) DISTANCE a jeho implementaci\\
\\
<xsl:text> ... Vlozi dany text (mezery, tabulatoru atd.)\\
<xsl:text disable-output-escaping="yes">&!lt;DOCTYPE html PUBLIC "//W3C//DTD XHTML 1.0 Transitional//EN"> ... Vlozi dany text pricemz preklada & znaky\\
\\
<xsl:output indent="yes"> ... definice vystupu - vystupni hodnoty budou odsazeny podle bloku\\
<xsl:output method="xml"> ... definice vystupu - vystupni hodnoty budou v jazyce (specifikaci) XML - vytvori hlavicku verze XML\\
==Telo - specialni vyrazy==
<xsl:copy> ... zkopiruje (vypise) aktualni uzel (viz. [[xsl/copy.xsl|copy.xsl]])\\
<xsl:strip-space elements="*"> ... smaze vsechny prazdne uzly (viz. [[xsl/copy.xsl|copy.xsl]]) a smaze prebytecna bila mista (tabulatory, mezery, nove radky)\\
<xsl:preserve-space elements="MASS DISTANCE"> ... zanechan vsechny prazdne uzly a bila mista (prebije strip-space pro dane uzly) u uzlu MASS a DISTANCE\\
=====XPath=====
[[http://www.w3schools.com/xsl/xpath_intro.asp|XPath na w3schools]] ... prochazeni a filtrovani XML\\
=====XQuery=====
[[http://www.w3schools.com/xsl/xquery_intro.asp|XQuery na w3schools]] ... vyhledavani v XML jako v SQL (for $x in doc("books.xml")/bookstore/book where $x/price>30 order by $x/title return $x/title\\