Commit e0844396 authored by lhommeni's avatar lhommeni
Browse files

Gestion plus fine des listins, suppression de java

parent d8b5e071
<?xml version="1.0" encoding="UTF-8"?><?oxygen RNGSchema="http://scenari.utc.fr/hdoc/schemas/xhtml/hdoc1-xhtml.rng" type="xml"?>
<html xmlns="http://www.utc.fr/ics/hdoc/xhtml">
<html xmlns:functx="http://www.functx.com" xmlns="http://www.utc.fr/ics/hdoc/xhtml">
<head>
<title>Constructeur (programmation) — Wikipédia</title>
<meta charset="utf-8"></meta>
......@@ -46,12 +46,12 @@
<p>Pour créer un nouvel objet, le mot-clé
<i>new</i> doit être suivi d'une méthode qui soit un constructeur. Par exemple, on pourra avoir :
</p>
<object type="application/pdf" data="listing/listing1.txt"></object>
<object type="application/pdf" data="listing/listing1.xml"></object>
<p>si toutefois la classe
<i>MaClasse</i> a un constructeur qui possède deux paramètres : un entier et une chaîne de caractères.
</p>
<p>Pour créer un nouveau tableau, on peut par exemple écrire :</p>
<object type="application/pdf" data="listing/listing2.txt"></object>
<object type="application/pdf" data="listing/listing2.xml"></object>
</div>
</section>
<section>
......@@ -65,7 +65,7 @@
du mot-clé
<i>new</i>. Le constructeur peut utiliser la syntaxe constructeur(argument) : variable(argument) pour initialiser les variables.
</p>
<object type="application/pdf" data="listing/listing3.txt"></object>
<object type="application/pdf" data="listing/listing3.xml"></object>
</div>
</section>
<section>
......@@ -76,8 +76,8 @@
<p>Exemple de constructeur en
<a href="http://wikipedia.org/wiki/C_sharp">C#</a> :
</p>
<object type="application/pdf" data="listing/listing4.txt"></object>
<object type="application/pdf" data="listing/listing5.txt"></object>
<object type="application/pdf" data="listing/listing4.xml"></object>
<object type="application/pdf" data="listing/listing5.xml"></object>
<p>Il existe par ailleurs en C# des
<a href="http://wikipedia.orghttp://msdn.microsoft.com/fr-fr/library/k9x6w0hc.aspx">constructeurs statiques</a>, qui permettent d'initialiser une donnée statique et d'effectuer une action particulière
devant être effectuée une seule fois. Les constructeurs statiques sont appelés implicitement
......@@ -85,8 +85,8 @@
déclenche l'exécution du constructeur statique.
</p>
<p>Exemple d'utilisation d'un constructeur statique :</p>
<object type="application/pdf" data="listing/listing6.txt"></object>
<object type="application/pdf" data="listing/listing7.txt"></object>
<object type="application/pdf" data="listing/listing6.xml"></object>
<object type="application/pdf" data="listing/listing7.xml"></object>
</div>
</section>
<section>
......
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:functx="http://www.functx.com"
exclude-result-prefixes="xs"
version="2.0"
xmlns="http://www.utc.fr/ics/hdoc/xhtml">
<xsl:output method="xhtml" indent="yes"/>
<xsl:preserve-space elements="pre"/>
<xsl:template match="*"/>
<xsl:template match="text()">
......@@ -239,23 +241,65 @@
<xsl:value-of select="."/>
</xsl:template>
<!-- Listing -->
<!-- Handle Listing -->
<xsl:template match="div[@class='mw-highlight mw-content-ltr']" mode="textOnly">
<xsl:apply-templates select="pre" mode="textOnly"/>
</xsl:template>
<xsl:template match="pre" mode="textOnly">
<xsl:variable name="vUid">
<xsl:number level="any" count="pre"/>
</xsl:variable>
<object type="application/pdf" data="listing/listing{$vUid}.txt"> <!--Modifier le application/pdf lorsque le rng sera changé-->
<xsl:result-document href="listing/listing{$vUid}.txt" method="text">
<xsl:copy-of select="@*|node()"></xsl:copy-of>
<xsl:variable name="listingContent">
<xsl:copy-of select="@*|node()"/>
</xsl:variable>
<xsl:variable name="listingContentWithoutBadCharacters">
<xsl:copy-of select="replace($listingContent,'&amp;','&amp;amp;')"/>
</xsl:variable>
<xsl:variable name="listingContent2">
<xsl:value-of select="substring-after($listingContentWithoutBadCharacters,'&#10;')"/>
</xsl:variable>
<xsl:variable name="basename">
<xsl:call-template name="substring-before-last">
<xsl:with-param name="string1" select="$listingContent2" />
<xsl:with-param name="string2" select="'&#10;'" />
</xsl:call-template>
</xsl:variable>
<object type="application/pdf" data="listing/listing{$vUid}.xml"> <!--Modifier le application/pdf lorsque le rng sera changé-->
<xsl:result-document href="listing/listing{$vUid}.xml" method="text">
<xsl:text disable-output-escaping="no">
&lt;sc:item xmlns:sc="http://www.utc.fr/ics/scenari/v3/core"&gt;
&lt;op:code xmlns:sp="http://www.utc.fr/ics/scenari/v3/primitive" xmlns:op="utc.fr:ics/opale3"&gt;
&lt;sc:code mimeType="text/plain"&gt;</xsl:text>
<xsl:value-of select="$basename"/>
<xsl:text disable-output-escaping="no">&lt;/sc:code&gt;
&lt;/op:code&gt;
&lt;/sc:item&gt;
</xsl:text>
</xsl:result-document>
</object>
</xsl:template>
<xsl:template name="substring-before-last">
<xsl:param name="string1" select="''" />
<xsl:param name="string2" select="''" />
<xsl:if test="$string1 != '' and $string2 != ''">
<xsl:variable name="head" select="substring-before($string1, $string2)" />
<xsl:variable name="tail" select="substring-after($string1, $string2)" />
<xsl:value-of select="$head" />
<xsl:if test="contains($tail, $string2)">
<xsl:value-of select="$string2" />
<xsl:call-template name="substring-before-last">
<xsl:with-param name="string1" select="$tail" />
<xsl:with-param name="string2" select="$string2" />
</xsl:call-template>
</xsl:if>
</xsl:if>
</xsl:template>
<xsl:template match="span" mode="textOnly">
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment