🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.text.xml
Article #8672

Re: Auriez-vous une id�e ?

#8672
From: Alain Ketterlin
Date: Thu, 30 Aug 2001 07:39
87 lines
4318 bytes
"Rapha�l THERY" <raphael.thery@free.fr> writes:

[...]
> Donc ce qui me pose probl�me, ce n'est pas la phase a proprement
> parl� de traduction mais d'identification. Je n'arrive pas � �crire
> une r�gle "d'identification" quand le noeud textuel contient un
> noeud <b> (vrai aussi pour TT, I, BIG, ...) j'ai l'impression de
> devoir faire une recurssion ou un appel � un template nomm� mais je
> ne vois pas trop comment abord� le truc.

Prenons un exemple : <p>Fromage <em>et</em> dessert</p>

Le noeud element <p> a trois fils :

- du texte (Fromage_)
- un element <em>
- du texte (_dessert)

L'element <em> lui-meme a un fils de texte (et).

La solution a base de <xsl:copy> effectuera la recursion elle-meme, et
le template sur "text()" se verra appele trois fois, une fois sur
chaque noeud de texte.

D'ailleurs, cela oblige le dictionnaire a contenir exactement le
texte, y compris les blancs (representes par _ ci-dessus). Ce n'est
pas terrible, parce que source d'erreur (et puis il se peut tres bien
que _Fromage apparaisse autre part. Et si tu changes l'original en

        <p>Fromage
          <em>et</em>
        dessert</p>

c'est perdu (a moins de vouloir rajouter des sauts de lignes et des
blancs dans les termes du dico, ce qui n'est pas humain je pense).

(La fonction normalize-space peut aider cependant.)


La solution dont le parlais dans le PS de mon message precedent
consiste a ecrire

        <p><term id="fromage"> <em><term id="et"></em>
        <term id="dessert"></p>

Un peu lourdingue, d'accord, mais plus facile en phase de mise au
point.

> En tout cas merci d'avoir r�pondu, �a m'a au moins montr� que mon
> id�e de dico (avec ce format) n'�tait pas si con !

Ne neglige pas le fait que l'on est peut-etre plusieurs a etre cons
:-)

> ps: concernant le dictionnaire j'avais un petit probl�me. par
> exemple pour le terme ASCII il n'y a aucune traduction, inutile donc
> de l'�crire autant de fois qu'il y a de langues dans le dictionnaire
> et pourtant si j'enl�ve l'attribut "xml:lang" je n'arrive plus � y
> acc�der comme pour les autres ...

Pour cela, le plus simple (?) est d'utiliser une valeur speciale de
xml:lang (qui doit donc commencer par x-). Par exemple x-all, ca
oblige a modifier un peu le template de substitution. En supposant
qu'on utilise des <term> comme ci-dessus :

        <xsl:template match="term">
          <xsl:variable name="d" select="version[lang($dst)]"/>
          <xsl:variable name="a" select="version[lang('x-all')]"/>
          <!-- Tom a raison, bien sur -->
          <xsl:choose>
            <xsl:when test="$d">
              <xsl:value-of select="$d"/>
            </xsl:when>
            <xsl:when test="$a">
              <xsl:value-of select="$a"/>
            </xsl:when>
            <xsl:otherwise>
              <xsl:message>Comment dit-on <xsl:value-of
              select="@id"/></xsl:message>
            </xsl:message>
          </xsl:choose>
        </xsl:template>

(a peu pres -- ca devrait donner l'avantage a la langue cible, et se
rabattre sur une version internationale).

-- Alain.
Technical Details
Message-ID: <wy3d6a2dyt.fsf@polya.u-strasbg.fr>
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!isdnet!195.25.12.36.MISMATCH!oleane.net!oleane!jussieu.fr!univ-angers.fr!news.unicaen.fr!univ-lille1.fr!news.u-strasbg.fr!not-for-mail
References: <ve2j7.37$Xc.39976@nnrp6.proxad.net> <wy4rqr2qzc.fsf@polya.u-strasbg.fr> <903j7.3$a%.145549@nnrp6.proxad.net> <wywv3n0zgs.fsf@polya.u-strasbg.fr> <3o7j7.596$hQ1.252999@nnrp1.proxad.net>

Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII
X-Google-Thread: 114f60,716861d7494f1dd8
X-Google-Attributes: gid114f60,public
X-Google-ArrivalTime: 2001-08-30 01:29:40 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!isdnet!195.25.12.36.MISMATCH!oleane.net!oleane!jussieu.fr!univ-angers.fr!news.unicaen.fr!univ-lille1.fr!news.u-strasbg.fr!not-for-mail
From: Alain Ketterlin <alain@dpt-info.u-strasbg.fr>
Newsgroups: fr.comp.text.xml
Subject: Re: Auriez-vous une id�e ?
Date: 30 Aug 2001 09:39:54 +0200
Organization: CRC - Universite Louis Pasteur Strasbourg France
Lines: 87
Message-ID: <wy3d6a2dyt.fsf@polya.u-strasbg.fr>
References: <ve2j7.37$Xc.39976@nnrp6.proxad.net> <wy4rqr2qzc.fsf@polya.u-strasbg.fr> <903j7.3$a%.145549@nnrp6.proxad.net> <wywv3n0zgs.fsf@polya.u-strasbg.fr> <3o7j7.596$hQ1.252999@nnrp1.proxad.net>
NNTP-Posting-Host: polya.u-strasbg.fr
X-Trace: news.u-strasbg.fr 999164884 5005 130.79.44.199 (30 Aug 2001 09:48:04 GMT)
X-Complaints-To: usenet@u-strasbg.fr
NNTP-Posting-Date: 30 Aug 2001 09:48:04 GMT
X-Newsreader: Gnus v5.6.45/XEmacs 21.1 - "Capitol Reef"