1 <?xml version="1.0" encoding="utf-8"?>
 
   2 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 
   3     xmlns:wl="http://wolnelektury.pl/functions"
 
   4     xmlns:dc="http://purl.org/dc/elements/1.1/">
 
   5 <xsl:output encoding="utf-8" indent="yes" omit-xml-declaration = "yes" version="2.0" />
 
   7 <xsl:template match="section">
 
   9         <xsl:when test="not(ancestor::*)">
 
  10         <utwor xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wl="http://wolnelektury.pl/functions">
 
  11         <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
 
  13             <xsl:attribute name="rdf:about">
 
  14                 <xsl:text>http://redakcja.edukacjamedialna.edu.pl/documents/book/</xsl:text>
 
  15                 <xsl:value-of select="@redslug" />
 
  16                 <xsl:text>/</xsl:text>
 
  18             <dc:title xml:lang="pl" xmlns:dc="http://purl.org/dc/elements/1.1/"><xsl:apply-templates select="header/text()" /></dc:title>
 
  19             <dc:identifier.url xml:lang="pl" xmlns:dc="http://purl.org/dc/elements/1.1/">
 
  20                 <xsl:text>http://edukacjamedialna.edu.pl/lekcje/</xsl:text>
 
  21                 <xsl:value-of select="@wlslug" />
 
  22                 <xsl:text>/</xsl:text>
 
  25             <!--dc:creator.expert xml:lang="pl" ></dc:creator.expert>
 
  26             <dc:creator.methodologist xml:lang="pl" xmlns:dc="http://purl.org/dc/elements/1.1/"></dc:creator.methodologist>
 
  27             <dc:creator.scenario xml:lang="pl" xmlns:dc="http://purl.org/dc/elements/1.1/"></dc:creator.scenario>
 
  28             <dc:creator.textbook xml:lang="pl" xmlns:dc="http://purl.org/dc/elements/1.1/"></dc:creator.textbook-->
 
  30             <xsl:apply-templates select="metadata" mode="meta" />
 
  32             <dc:publisher xml:lang="pl" xmlns:dc="http://purl.org/dc/elements/1.1/">Fundacja Nowoczesna Polska</dc:publisher>
 
  33             <dc:rights xml:lang="pl" xmlns:dc="http://purl.org/dc/elements/1.1/">Creative Commons Uznanie autorstwa - Na tych samych warunkach 3.0</dc:rights>
 
  34             <dc:rights.license xml:lang="pl" xmlns:dc="http://purl.org/dc/elements/1.1/">http://creativecommons.org/licenses/by-sa/3.0/</dc:rights.license>
 
  35             <dc:format xml:lang="pl" xmlns:dc="http://purl.org/dc/elements/1.1/">xml</dc:format>
 
  36             <!--dc:type xml:lang="pl" xmlns:dc="http://purl.org/dc/elements/1.1/">added-var</dc:type-->
 
  37             <dc:date xml:lang="pl" xmlns:dc="http://purl.org/dc/elements/1.1/">2015-01-12</dc:date>
 
  38             <!--dc:audience xml:lang="pl" xmlns:dc="http://purl.org/dc/elements/1.1/"><!- -liceum - -><xsl:value-of select="//dc:audience/text()" /></dc:audience-->
 
  39             <dc:language xml:lang="pl" xmlns:dc="http://purl.org/dc/elements/1.1/">pol</dc:language>
 
  43             <xsl:apply-templates />
 
  47         <xsl:when test="count(ancestor::*) = 3">
 
  49                 <opis><xsl:apply-templates select="header" /><xsl:apply-templates select="div" mode="opis" /></opis>
 
  50                 <xsl:apply-templates select="div" mode="aktywnosc" />
 
  51                 <xsl:apply-templates select="section" mode="error" />
 
  54         <xsl:otherwise><xsl:apply-templates /></xsl:otherwise>
 
  58 <!-- TODO language-dependent: description, audience, requires (subject.competence?) -->
 
  59 <xsl:template match="dc:creator.expert|dc:creator.scenario|dc:creator.textbook|dc:description|dc:subject.curriculum|dc:creator.methodologist|dc:subject.competence|dc:audience|dc:type|dc:requires" mode="meta">
 
  60     <xsl:copy><xsl:apply-templates /></xsl:copy>
 
  63 <xsl:template match="metadata"/>
 
  64 <xsl:template match="aside">
 
  65     <xsl:if test="@class = 'gap'">
 
  66         <luka><xsl:apply-templates/></luka>
 
  71 <xsl:template match="header">
 
  73         <xsl:when test="count(ancestor::*) = 1">
 
  74             <nazwa_utworu><xsl:apply-templates /></nazwa_utworu>
 
  76         <xsl:when test="count(ancestor::*) = 2">
 
  77             <naglowek_rozdzial><xsl:apply-templates /></naglowek_rozdzial>
 
  79         <xsl:when test="count(ancestor::*) = 3">
 
  80             <naglowek_podrozdzial><xsl:apply-templates /></naglowek_podrozdzial>
 
  82         <xsl:when test="count(ancestor::*) = 4">
 
  83             <akap><xsl:apply-templates /></akap>
 
  89 <xsl:template match="div">
 
  91         <xsl:when test="@class = 'p'">
 
  92             <akap><xsl:apply-templates /></akap>
 
  94         <xsl:when test="@class = 'list'">
 
  95             <lista typ="punkt"><xsl:apply-templates /></lista>
 
  97         <xsl:when test="@class = 'list.itemized'">
 
  98             <lista typ="punkt"><xsl:apply-templates /></lista>
 
 100         <xsl:when test="@class = 'list.orderable'">
 
 101             <lista typ="punkt"><xsl:apply-templates /></lista>
 
 103         <xsl:when test="@class = 'list.enum'">
 
 104             <lista typ="num"><xsl:apply-templates /></lista>
 
 106         <xsl:when test="@class = 'list.definitions'">
 
 108                 <xsl:when test="@src = ''">
 
 109                     <lista typ="slowniczek"><xsl:apply-templates /></lista>
 
 112                     <lista typ="slowniczek" src="{@src}"><xsl:apply-templates /></lista>
 
 116         <xsl:when test="@class = 'list.bibliography'">
 
 117             <lista typ="czytelnia"><xsl:apply-templates /></lista>
 
 119         <xsl:when test="@class = 'item'">
 
 120             <punkt><xsl:apply-templates /></punkt>
 
 122         <xsl:when test="@class = 'item.answer'">
 
 123             <xsl:element name="punkt">
 
 124                 <xsl:attribute name="rozw">
 
 126                         <xsl:when test="@answer = 'true'">prawda</xsl:when>
 
 127                         <xsl:when test="@answer = 'false'">falsz</xsl:when>
 
 128                         <xsl:otherwise><xsl:value-of select="@answer" /></xsl:otherwise>
 
 131                 <xsl:apply-templates />
 
 134         <xsl:when test="@class = 'defined'">
 
 136                 <xsl:when test="count(ancestor::*) = 4 ">
 
 137                     <definiendum><xsl:apply-templates /></definiendum>
 
 143         <xsl:when test="@class = 'exercise.order'">
 
 144             <cwiczenie typ="uporzadkuj">
 
 145                 <xsl:call-template name="cwiczenie"/>
 
 148         <xsl:when test="@class = 'exercise.choice.true-or-false'">
 
 149             <cwiczenie typ="prawdafalsz">
 
 150                 <xsl:call-template name="cwiczenie"/>
 
 153         <xsl:when test="@class = 'exercise.choice' or @class = 'exercise.choice.single'">
 
 154             <cwiczenie typ="wybor">
 
 155                 <opis><akap>[opis]</akap></opis>
 
 159                             <xsl:for-each select="div">
 
 161                                     <xsl:when test="@class = 'p'">
 
 162                                         <xsl:apply-templates />
 
 165                                         <xsl:apply-templates select="."/>
 
 174         <xsl:when test="@class = 'exercise.gap'">
 
 175             <cwiczenie typ="luki">
 
 176                 <opis><akap>Uzupełnij luki:</akap></opis>
 
 177                 <xsl:apply-templates/>
 
 180         <xsl:when test="@class = 'exercise.replace'">
 
 181             <cwiczenie typ="zastap">
 
 182                 <opis><akap>Znajdź i zamień niepasujące słowa w zdaniach na następujące:</akap></opis>
 
 183                 <xsl:apply-templates/>
 
 187             <NIEZNANY_DIV><xsl:value-of select="@class" /></NIEZNANY_DIV>
 
 192 <xsl:template match="div" mode="opis">
 
 194         <xsl:when test="@class = 'p'">
 
 195             <akap><xsl:apply-templates /></akap>
 
 197         <xsl:when test="@class = 'list'">
 
 198             <lista typ="punkt"><xsl:apply-templates /></lista>
 
 200         <xsl:when test="@class = 'list.itemized'">
 
 201             <lista typ="punkt"><xsl:apply-templates /></lista>
 
 203         <xsl:when test="@class = 'item'">
 
 204             <punkt><xsl:apply-templates /></punkt>
 
 209 <xsl:template match="div" mode="aktywnosc">
 
 211         <xsl:when test="@class = 'list.definitions'">
 
 212             <xsl:apply-templates mode="defs" />
 
 218 <xsl:template match="div" mode="defs">
 
 220         <xsl:when test="div/text() = 'Czas'"><czas><xsl:apply-templates /></czas></xsl:when>
 
 221         <xsl:when test="div/text() = 'Metoda'"><forma><xsl:apply-templates /></forma></xsl:when>
 
 222         <xsl:when test="div/text() = 'Pomoce'"><pomoce><xsl:apply-templates /></pomoce></xsl:when>
 
 226 <xsl:template match="span">
 
 228         <xsl:when test="@class = 'link'">
 
 231                     <xsl:when test="starts-with(@href, 'file://')">
 
 232                         <xsl:attribute name="material">
 
 233                             <xsl:value-of select="wl:rmext(substring(@href, 8))" />
 
 236                     <xsl:when test="starts-with(@href, 'http')">
 
 237                         <xsl:attribute name="url">
 
 238                             <xsl:value-of select="@href" />
 
 242                         <xsl:attribute name="url">
 
 243                             <xsl:value-of select="." />
 
 247                 <xsl:apply-templates />
 
 250         <xsl:when test="@class = 'emp'">
 
 251             <wyroznienie><xsl:apply-templates /></wyroznienie>
 
 253         <xsl:when test="@class = 'cite'">
 
 254             <dlugi_cytat><xsl:apply-templates /></dlugi_cytat>
 
 256         <xsl:when test="@class = 'answer'">
 
 257             <zastap rozw="{@answer}"><xsl:apply-templates/></zastap>
 
 260             <NIEZNANY_SPAN><xsl:value-of select="@class" /></NIEZNANY_SPAN>
 
 265 <xsl:template match="section" mode="error">
 
 269 <xsl:template name="cwiczenie">
 
 270     <xsl:for-each select="div">
 
 272             <xsl:when test="@class = 'p'">
 
 273                 <opis><xsl:apply-templates select="."/></opis>
 
 276                 <xsl:apply-templates select="."/>