hdoc_flattenizer.xsl 1.87 KB
Newer Older
1
<?xml version="1.0" encoding="UTF-8"?>
2

3
<xsl:stylesheet
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"
  xpath-default-namespace="http://www.w3.org/1999/xhtml"
  xmlns="http://www.w3.org/1999/xhtml"
  >

  <xsl:output method="xml" indent="yes"/>

  <xsl:template match="node()|@*">
    <xsl:copy>
      <xsl:apply-templates select="node()|@*"/>
    </xsl:copy>
  </xsl:template>

  <!-- Ajout de l'attribut lang -->
  <xsl:template match="html">
bperraud's avatar
bperraud committed
19
    <html lang="fr" xml:lang="fr">
20 21 22 23 24 25 26 27 28 29 30 31
      <xsl:apply-templates/>
    </html>
  </xsl:template>

  <!-- Ajout de la référence au CSS -->
  <xsl:template match="head">
    <head>
      <xsl:apply-templates select="node()|@*"/>
      <link>
        <xsl:attribute name="rel">stylesheet</xsl:attribute>
        <xsl:attribute name="type">text/css</xsl:attribute>
        <xsl:attribute name="href">main.css</xsl:attribute>
32
        <xsl:attribute name="media">print</xsl:attribute>
33 34 35 36 37 38 39 40 41
      </link>
    </head>
  </xsl:template>

  <!-- "Aplatissement" des sections en div avec numérotation correcte des hn -->
  <xsl:template match="section">
    <xsl:variable name="level" select="count(ancestor::section) + 2"/>
    <div>
      <xsl:element name="h{$level}">
bperraud's avatar
bperraud committed
42 43 44 45
        <xsl:attribute name="id">
          <xsl:value-of select="concat('h', $level, '-')"/>
          <xsl:number level="any"/>
        </xsl:attribute>
46 47 48 49 50 51 52 53 54 55 56 57
        <xsl:value-of select="header/h1"/>
      </xsl:element>
      <xsl:apply-templates/>
    </div>
  </xsl:template>

  <xsl:template match="header">
  </xsl:template>

  <xsl:template match="h6">
    <xsl:variable name="level" select="count(ancestor::section) + 2"/>
    <xsl:element name="h{$level}">
bperraud's avatar
bperraud committed
58 59 60 61
      <xsl:attribute name="id">
        <xsl:value-of select="concat('h', $level, '-')"/>
        <xsl:number level="any"/>
      </xsl:attribute>
62 63 64
      <xsl:value-of select="."/>
    </xsl:element>
  </xsl:template>
65

66
</xsl:stylesheet>