Práce se jmennými prostory

  • používají-li vstupní dokumenty jmenné prostory, nesmíme zapomenout na prefixy v XPath výrazech

  • pomocí atributu xpath-default-namespace můžeme určit jmenný prostor pro elementy ve výrazech XPath, které nemají prefix

    • lze tak podstatně zkrátit výrazy, zvláště pokud zpracovávaný dokument má elementy pouze v jednom jmenném prostoru

    • platnost atributu je na elementu, kde je uveden, a všech jeho potomcích

Příklad 13. atom2html.xsl

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:atom="http://www.w3.org/2005/Atom"
                exclude-result-prefixes="atom"
                version="2.0">

<xsl:output method="html" encoding="utf-8"/>
  
<xsl:template match="/">
  <html>
    <head>
      <title><xsl:value-of select="/atom:feed/atom:title"/></title>
    </head>
    <body>
      <h1><xsl:value-of select="/atom:feed/atom:title"/></h1>

      <xsl:for-each select="/atom:feed/atom:entry">
        <a href="{atom:link[not(@rel) or @rel='alternate'][1]/@href}">
          <xsl:value-of select="atom:title"/>
        </a>
        <br/>
      </xsl:for-each>
    </body>
  </html>    
</xsl:template>

</xsl:stylesheet>