hdoc_flattenizer.xsl 1.57 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
19
20
21
22
23
24
25
26
27
28
29
30
31
  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">
    <html lang="fr">
      <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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
      </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}">
        <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}">
      <xsl:value-of select="."/>
    </xsl:element>
  </xsl:template>
57

58
</xsl:stylesheet>