data -> požadovaná data (filtrace)

Z primárních dat extrahujeme data potřebná. Vhodné nástroje:

filtrování proudu (SAX) událostí

poměrně nekomfortní, ale za běhu efektivní zpracování dat; pro pouhé filtrace elementů vyhoví; lze použít XMLFilter

manipulace se stromem dokumentu

DOM, dom4j a další reprezentace; náročnější na pamět i čas; dovoluje složitější manipulace

XSLT transformace

mocné, ale poněkud náročnější na zvládnutí

dotazovacím jazykem

vhodné řešení, ale vyžaduje stroj na interpretaci

Příklad 1. Příklad XSLT extrakce

Ze všech programátorů v Devguru chceme zobrazit jen mladší 30 let:

<?xml version="1.0" encoding="Windows-1250"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     version="1.0" xmlns:saxon="http://icl.com/saxon"
     extension-element-prefixes="saxon"> 
   <xsl:strip-space elements="*" />
   <xsl:output method="xml" encoding="Windows-1250" indent="no" />
   <xsl:template match="programmer[number(age) &lt; 30]">
      <xsl:copy-of select="."/>
   </xsl:template>
   <xsl:template match="programmer"/>
   <xsl:template match="/">
      <young_programmers>
         <xsl:apply-templates/>
      </young_programmers>
   </xsl:template>
</xsl:stylesheet>