Fichier XSLT #40

Open
opened 2023-04-09 18:02:31 +02:00 by ciri · 12 comments
Owner

J'ai suivi le tutoriel XSLT et pour l'instant, j'arrive à ce résultat avec le xml joint :

<?xml version="1.0" ?>
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html> 
<body>
  <h2>Glossaire</h2>
  <table border="1">
    <tr bgcolor="#ffbcd9">
      <th style="text-align:left">Anglais</th>
      <th style="text-align:left">Français</th>
    </tr>
    <xsl:for-each select="tmx/body/tu/tuv">
    <tr>
      <td><xsl:value-of select="seg"/></td>
	</tr>
    </xsl:for-each>
  </table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

Difficulté : Toutes les lignes s'affichent dans la même colonne. Comment les séparer par langue ?

J'ai suivi le [tutoriel XSLT](https://edutechwiki.unige.ch/fr/Tutoriel_XSLT_d%C3%A9butant#XSL_de_base) et pour l'instant, j'arrive à ce résultat avec le xml joint : ``` <?xml version="1.0" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>Glossaire</h2> <table border="1"> <tr bgcolor="#ffbcd9"> <th style="text-align:left">Anglais</th> <th style="text-align:left">Français</th> </tr> <xsl:for-each select="tmx/body/tu/tuv"> <tr> <td><xsl:value-of select="seg"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> ``` ----- **Difficulté :** Toutes les lignes s'affichent dans la même colonne. Comment les séparer par langue ?
ciri added the
tâche
label 2023-04-09 18:02:31 +02:00
Anand was assigned by ciri 2023-04-09 18:02:32 +02:00
BoisjibaultAline was assigned by ciri 2023-04-09 18:02:32 +02:00
brandelune was assigned by ciri 2023-04-09 18:02:32 +02:00
Leodelaune was assigned by ciri 2023-04-09 18:02:32 +02:00
Collaborator

Je vous avais promis un fichier XSLT qui fonctionne. Le voici :

https://mac4translators.blogspot.com/2023/04/convertir-un-fichier-tmx-en-tbx-avec.html

Avec ça, vous avez de la lecture pour la matinée. N’hésitez pas à me faire des retours.

J’ai mis à peu près 10 heures pour écrire la transformation, la tester et bien sûr écrire les explications et les mettre en ligne. Donc, prenez soin du document.

Je vous avais promis un fichier XSLT qui fonctionne. Le voici : https://mac4translators.blogspot.com/2023/04/convertir-un-fichier-tmx-en-tbx-avec.html Avec ça, vous avez de la lecture pour la matinée. N’hésitez pas à me faire des retours. J’ai mis à peu près 10 heures pour écrire la transformation, la tester et bien sûr écrire les explications et les mettre en ligne. Donc, prenez soin du document.
Collaborator

Et en cherchant un peu (après avoir demandé de l'aide sur Mastodon) je trouve ça :

https://www.irif.fr/~carton/Enseignement/XML/Cours/index.html

Et en cherchant un peu (après avoir demandé de l'aide sur Mastodon) je trouve ça : https://www.irif.fr/~carton/Enseignement/XML/Cours/index.html
Collaborator

Ce mail est intéressant pour son commentaire sur les attributs :
http://lists.xml.org/archives/xml-dev/202304/msg00018.html

Ce mail est intéressant pour son commentaire sur les attributs : http://lists.xml.org/archives/xml-dev/202304/msg00018.html
brandelune added this to the DITA project 2023-04-15 10:54:26 +02:00
Collaborator

Difficulté : Toutes les lignes s'affichent dans la même colonne. Comment les séparer par langue ?

La logique de votre transformation ne choisi qu'une seule valeur par rangée.

J'arrive à créer le tableau séparer par langue en faisant la sélection en deux étapes:

  • Sélectionner l'unité de traduction (pour créer chaque rangée)
  • Sélectionner les variantes contenant la langue (pour créer chaque colonne)

Voici un court extrait du HTML brut que j'obtiens:

<!DOCTYPE html>
<html>
  <body>
    <h2>Glossaire</h2>
    <table border="1">
      <thead>
        <tr bgcolor="#ffbcd9">
          <th style="text-align: left">Anglais</th>
          <th style="text-align: left">Français</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>
            Usage: java -jar [&lt;java options&gt;] OmegaT.jar [&lt;OmegaT
            options&gt;] [&lt;project path&gt;]
          </td>
          <td>
            Syntaxe : java -jar [&lt;options java&gt;] OmegaT.jar [&lt;options
            OmegaT&gt;] [&lt;chemin du projet&gt;]
          </td>
        </tr>
        <tr>
          <td>
            See Help &gt; User Manual for details, including available Java
            options.
          </td>
          <td>
            Consulter Aide &gt; Manuel d'utilisation pour en savoir plus, y
            compris les options Java.
          </td>
        </tr>
        <tr>
          <td>OmegaT options:</td>
          <td>Options OmegaT :</td>
        </tr>
        <tr>
          <td>No option: Launch GUI.</td>
          <td>Pas d'option : lancement de l'interface graphique.</td>
        </tr>
        <tr>
          <td>Project path only: Launch GUI and load specified project.</td>
          <td>
            Chemin de projet seul : lancement de l'interface graphique et
            chargement du projet spécifié.
          </td>
        </tr>
        <tr>
          <td>-h, --help Print this help message.</td>
          <td>-h, --help Affichage de ce message d'aide.</td>
        </tr>
      </tbody>
    </table>
  </body>
</html>

J'ai aussi modifié la sortie légèrement pour inclure le DOCTYPE pour html5 au début du document, et pour inclure explicitement la balise <tbody> qui, d'après ce que je peux voir n'est pas absolument requise, mais qu'il est quand même préférable d'utiliser.

Prochaine étape (pour moi) admirer le fichier XSLT pour la transformation TMX à TBX.

> **Difficulté :** Toutes les lignes s'affichent dans la même colonne. Comment les séparer par langue ? La logique de votre transformation ne choisi qu'une seule valeur par rangée. J'arrive à créer le tableau séparer par langue en faisant la sélection en deux étapes: - Sélectionner l'unité de traduction (pour créer chaque rangée) - Sélectionner les variantes contenant la langue (pour créer chaque colonne) Voici un court extrait du HTML brut que j'obtiens: ```html <!DOCTYPE html> <html> <body> <h2>Glossaire</h2> <table border="1"> <thead> <tr bgcolor="#ffbcd9"> <th style="text-align: left">Anglais</th> <th style="text-align: left">Français</th> </tr> </thead> <tbody> <tr> <td> Usage: java -jar [&lt;java options&gt;] OmegaT.jar [&lt;OmegaT options&gt;] [&lt;project path&gt;] </td> <td> Syntaxe : java -jar [&lt;options java&gt;] OmegaT.jar [&lt;options OmegaT&gt;] [&lt;chemin du projet&gt;] </td> </tr> <tr> <td> See Help &gt; User Manual for details, including available Java options. </td> <td> Consulter Aide &gt; Manuel d'utilisation pour en savoir plus, y compris les options Java. </td> </tr> <tr> <td>OmegaT options:</td> <td>Options OmegaT :</td> </tr> <tr> <td>No option: Launch GUI.</td> <td>Pas d'option : lancement de l'interface graphique.</td> </tr> <tr> <td>Project path only: Launch GUI and load specified project.</td> <td> Chemin de projet seul : lancement de l'interface graphique et chargement du projet spécifié. </td> </tr> <tr> <td>-h, --help Print this help message.</td> <td>-h, --help Affichage de ce message d'aide.</td> </tr> </tbody> </table> </body> </html> ``` J'ai aussi modifié la sortie légèrement pour inclure le DOCTYPE pour html5 au début du document, et pour inclure explicitement la balise `<tbody>` qui, d'après ce que je peux voir n'est pas absolument requise, mais qu'il est quand même préférable d'utiliser. Prochaine étape (pour moi) admirer le fichier XSLT pour la transformation TMX à TBX.
Collaborator

Prochaine étape (pour moi) admirer le fichier XSLT pour la transformation TMX à TBX.

@kazephil Tu as lu l'article que j'ai publié hier ?

https://mac4translators.blogspot.com/2023/04/convertir-un-fichier-tmx-en-tbx-avec.html

> Prochaine étape (pour moi) admirer le fichier XSLT pour la transformation TMX à TBX. > @kazephil Tu as lu l'article que j'ai publié hier ? https://mac4translators.blogspot.com/2023/04/convertir-un-fichier-tmx-en-tbx-avec.html
Collaborator

Prochaine étape (pour moi) admirer le fichier XSLT pour la transformation TMX à TBX.

@kazephil Tu as lu l'article que j'ai publié hier ?

https://mac4translators.blogspot.com/2023/04/convertir-un-fichier-tmx-en-tbx-avec.html

@brandelune Jʼy ai jeté un coup dʼœil rapide hier, mais je nʼai pas encore eu le temps dʼen faire une lecture approfondie. (Il faut aussi que je regarde le format TBX de plus près, parce que je ne le connais pas très bien.)

> > Prochaine étape (pour moi) admirer le fichier XSLT pour la transformation TMX à TBX. > > > > @kazephil Tu as lu l'article que j'ai publié hier ? > > https://mac4translators.blogspot.com/2023/04/convertir-un-fichier-tmx-en-tbx-avec.html @brandelune Jʼy ai jeté un coup dʼœil rapide hier, mais je nʼai pas encore eu le temps dʼen faire une lecture approfondie. (Il faut aussi que je regarde le format TBX de plus près, parce que je ne le connais pas très bien.)
Collaborator

Prochaine étape (pour moi) admirer le fichier XSLT pour la transformation TMX à TBX.

@kazephil Tu as lu l'article que j'ai publié hier ?

https://mac4translators.blogspot.com/2023/04/convertir-un-fichier-tmx-en-tbx-avec.html

@brandelune Jʼy ai jeté un coup dʼœil rapide hier, mais je nʼai pas encore eu le temps dʼen faire une lecture approfondie. (Il faut aussi que je regarde le format TBX de plus près, parce que je ne le connais pas très bien.)

On a juste pris un échantillon trouvé sur le web. Je vois que Thomas est en train de travailler sur la prise en charge de TBX 3.0.

> > > Prochaine étape (pour moi) admirer le fichier XSLT pour la transformation TMX à TBX. > > > > > > > @kazephil Tu as lu l'article que j'ai publié hier ? > > > > https://mac4translators.blogspot.com/2023/04/convertir-un-fichier-tmx-en-tbx-avec.html > > @brandelune Jʼy ai jeté un coup dʼœil rapide hier, mais je nʼai pas encore eu le temps dʼen faire une lecture approfondie. (Il faut aussi que je regarde le format TBX de plus près, parce que je ne le connais pas très bien.) On a juste pris un échantillon trouvé sur le web. Je vois que Thomas est en train de travailler sur la prise en charge de TBX 3.0.
Collaborator

@brandelune J'ai lu ton article. Très intéressant. J'allais faire un retour directement sur ton blogue, mais je n'ai pas trouvé de section de commentaires, alors je fais ça ici.

Quelques commentaires :

  • J'ai trouvé les explications très claires et faciles à suivre.
    La partie sur les modèles m'a même aidé à cerner une notion que je ne saisissais que vaguement auparavant. Merci !

  • Peut-être plus une question pour Thomas, mais après un peu de recherche supplémentaire sur le format TBX, je crois comprendre que l'on devrait préférer le schéma RelaxNG plutôt que le DOCTYPE en DTD. Dans le cas du TBX, ça facilite apparemment la validation parce que ça évite d'avoir à la faire en deux étapes.

  • Seul petit bémol pour moi :
    Côté présentation, je trouve que ça fait trop de commentaires dans le code même. Personnellement, j'aime mieux voir la plus grande partie du code ensemble pour pouvoir en suivre le cheminement plus facilement. Je trouve ça plus facile de lire tout ça si les commentaires dans le milieu du code se limite à une ou deux lignes, tout au plus.
    Le fait que l'explication de chaque bloc de code se situe sous le bloc, mais sans entrée en matière avant ledit bloc, n'aide pas non plus.
    Je pense qu'il est préférable de mettre les commentaires les plus pertinents en tête du fichier, avant le code, et de mettre le reste des explications dans un fichier Markdown, HTML, ou autre avec des blocs de codes identifiées par une entête.
    J'ai mis un exemple (simple) de ce que je veux dire dans un nouveau répertoire de ce dépôt.


@ciri Pour revenir à la transformation du fichier TMX en tableau html, j'ai aussi réussi à obtenir le résulta voulu en utilisant les modèles XSLT décrits dans l'article de Jean-Christophe au lieu des instructions <xsl:for-each>.

Je vous donne encore un peu de temps pour trouver vous-même la solution, et je mettrai mes fichiers dans une répertoire approprié une fois que Jean-Christophe me donnera le feu vert.

@brandelune J'ai lu ton article. Très intéressant. J'allais faire un retour directement sur ton blogue, mais je n'ai pas trouvé de section de commentaires, alors je fais ça ici. Quelques commentaires : - J'ai trouvé les explications très claires et faciles à suivre. La partie sur les modèles m'a même aidé à cerner une notion que je ne saisissais que vaguement auparavant. Merci ! - Peut-être plus une question pour Thomas, mais après un peu de recherche supplémentaire sur le format TBX, je crois comprendre que l'on devrait préférer le schéma RelaxNG plutôt que le DOCTYPE en DTD. Dans le cas du TBX, ça facilite apparemment la validation parce que ça évite d'avoir à la faire en deux étapes. - Seul petit bémol pour moi : Côté présentation, je trouve que ça fait trop de commentaires dans le code même. Personnellement, j'aime mieux voir la plus grande partie du code ensemble pour pouvoir en suivre le cheminement plus facilement. Je trouve ça plus facile de lire tout ça si les commentaires dans le milieu du code se limite à une ou deux lignes, tout au plus. Le fait que l'explication de chaque bloc de code se situe sous le bloc, mais sans entrée en matière avant ledit bloc, n'aide pas non plus. Je pense qu'il est préférable de mettre les commentaires les plus pertinents en tête du fichier, avant le code, et de mettre le reste des explications dans un fichier Markdown, HTML, ou autre avec des blocs de codes identifiées par une entête. J'ai mis un exemple (simple) de ce que je veux dire dans un [nouveau répertoire de ce dépôt](https://forge.chapril.org/ciri/stage_2023/src/branch/main/xslt/tmx2tbx). ----- @ciri Pour revenir à la transformation du fichier TMX en tableau html, j'ai aussi réussi à obtenir le résulta voulu en utilisant les modèles XSLT décrits dans l'article de Jean-Christophe au lieu des instructions `<xsl:for-each>`. Je vous donne encore un peu de temps pour trouver vous-même la solution, et je mettrai mes fichiers dans une répertoire approprié une fois que Jean-Christophe me donnera le feu vert.
Collaborator

Merci pour tes commentaires.

Le but du travail sur ce fil n'est pas de créer un fichier html. C'est juste le code qui tait utilisé dans le tutoriel, donc ne t'embête pas. À moins que tu penses que ça aie une utilité réelle, par ex. pour relire/éditer une TMX. Mais dans ce cas ça serait plus intéressant d'avoir la TMX convertie en fichier de type ODF non zippé (flat ODF)

https://speakerdeck.com/fridrich/flat-odf-the-under-estimated-flavour-of-open-document?slide=19

pour la corriger et la reconvertir en TMX après.

Merci pour tes commentaires. Le but du travail sur ce fil n'est pas de créer un fichier html. C'est juste le code qui tait utilisé dans le tutoriel, donc ne t'embête pas. À moins que tu penses que ça aie une utilité réelle, par ex. pour relire/éditer une TMX. Mais dans ce cas ça serait plus intéressant d'avoir la TMX convertie en fichier de type ODF non zippé (flat ODF) https://speakerdeck.com/fridrich/flat-odf-the-under-estimated-flavour-of-open-document?slide=19 pour la corriger et la reconvertir en TMX après.
Collaborator

Merci pour tes commentaires.

Le but du travail sur ce fil n'est pas de créer un fichier html. C'est juste le code qui tait utilisé dans le tutoriel, donc ne t'embête pas. À moins que tu penses que ça aie une utilité réelle, par ex. pour relire/éditer une TMX.

Rien d'embêtant. Ce n'est qu'une question de les télécharger, s'il y a de l'intérêt.

En terme d'utilité réelle, deux éléments me viennent en tête :

  • Donner un retour visuel immédiat qui permet de voir facilement si on a obtenu l'effet escompté (surtout utile dans la phase d'apprentissage du XLST).
  • Présenter le glossaire sur un site web pour permettre à d'autres personne de le consulter (peut-être dans le cadre d'un site interne dans une entreprise).

Mais dans ce cas ça serait plus intéressant d'avoir la TMX convertie en fichier de type ODF non zippé (flat ODF)

https://speakerdeck.com/fridrich/flat-odf-the-under-estimated-flavour-of-open-document?slide=19

pour la corriger et la reconvertir en TMX après.

Tiens, je n'avais pas pensé au .fods.

Je suis en train d'essayer de contribuer à améliorer et généraliser un filtre d'importation et exportation de TMX dans LibreOffice Calc.

Je vais envoyer un lien vers la nouvelle version une fois que je j'aurai créé un dépôt pour mettre tout ça en ligne en collaboration avec l'auteur original (avec qui j'avais commencé à collaborer un peu avant que l'on devienne occupés de part et d'autre).

L'ajout d'une version « flat », voire même de versions en tableau .odt ou .fodt pour Writer pourrait être intéressant !

Merci pour la suggestion.

> Merci pour tes commentaires. > > Le but du travail sur ce fil n'est pas de créer un fichier html. C'est juste le code qui tait utilisé dans le tutoriel, donc ne t'embête pas. À moins que tu penses que ça aie une utilité réelle, par ex. pour relire/éditer une TMX. Rien d'embêtant. Ce n'est qu'une question de les télécharger, s'il y a de l'intérêt. En terme d'utilité réelle, deux éléments me viennent en tête : - Donner un retour visuel immédiat qui permet de voir facilement si on a obtenu l'effet escompté (surtout utile dans la phase d'apprentissage du XLST). - Présenter le glossaire sur un site web pour permettre à d'autres personne de le consulter (peut-être dans le cadre d'un site interne dans une entreprise). > Mais dans ce cas ça serait plus intéressant d'avoir la TMX convertie en fichier de type ODF non zippé (flat ODF) > > https://speakerdeck.com/fridrich/flat-odf-the-under-estimated-flavour-of-open-document?slide=19 > > pour la corriger et la reconvertir en TMX après. Tiens, je n'avais pas pensé au `.fods`. Je suis en train d'essayer de contribuer à améliorer et généraliser un [filtre d'importation et exportation de TMX dans LibreOffice Calc](https://d-meeus.be/linux/TMX-filters.html). Je vais envoyer un lien vers la nouvelle version une fois que je j'aurai créé un dépôt pour mettre tout ça en ligne en collaboration avec l'auteur original (avec qui j'avais commencé à collaborer un peu avant que l'on devienne occupés de part et d'autre). L'ajout d'une version « flat », voire même de versions en tableau `.odt` ou `.fodt` pour Writer pourrait être intéressant ! Merci pour la suggestion.
Collaborator

TMX dans LibreOffice, c'est un truc que j'ai essayé de faire depuis des années :-)

Et quand j'ai repris mes tentatives, je suis tombé sur un bug:
https://bugs.documentfoundation.org/show_bug.cgi?id=122206

Je te suggère fods parce que j'avais réussi un truc similaire en export vers du Word flat par le passé, mais autant travailler avec un format encore plus libre.

TMX dans LibreOffice, c'est un truc que j'ai essayé de faire depuis des années :-) Et quand j'ai repris mes tentatives, je suis tombé sur un bug: https://bugs.documentfoundation.org/show_bug.cgi?id=122206 Je te suggère `fods` parce que j'avais réussi un truc similaire en export vers du Word flat par le passé, mais autant travailler avec un format encore plus libre.
Collaborator

TMX dans LibreOffice, c'est un truc que j'ai essayé de faire depuis des années :-)

J'ai une version qui semble fonctionner correctement ici pour le code, et un paquet JAR dans le sous-répertoire paquet.

(J'ai aussi mis la conversion TMX en TBX dans le même dépôt. Pas de modification intéressante pour le moment, mais si j'en fait, je te ferai signe.

Et quand j'ai repris mes tentatives, je suis tombé sur un bug:
https://bugs.documentfoundation.org/show_bug.cgi?id=122206

Effectivement, le glisser-déplacer et le double-clic donne une erreur. L'ouverture depuis la boîte de dialoge Ouvrir fonctionne si (et seulement si) je choisi le filtre approprié avant d'ouvrir le fichier. ça marche aussi pour les fichiers récents présentés dans l'écran de démarrage de LibreOffice.

Ironiquement, je suis tombé sur le même bogue avec un fichier .fodp récemment. Toutefois, ça semble fonctionner correctement avec les fichiers .fods.

Je te suggère fods parce que j'avais réussi un truc similaire en export vers du Word flat par le passé, mais autant travailler avec un format encore plus libre.

Ça va faire un exercice intéressant. On va voir ce que ça va donner.

> TMX dans LibreOffice, c'est un truc que j'ai essayé de faire depuis des années :-) J'ai une version qui semble fonctionner correctement [ici](https://forge.chapril.org/kazephil/XSLT_TAO/src/branch/filtres_TMX/fonctionnalité/kaze/code_avec_modèles/filtres_TMX_pour_Calc) pour le code, et un paquet JAR dans le sous-répertoire paquet. (J'ai aussi mis la conversion TMX en TBX dans le même dépôt. Pas de modification intéressante pour le moment, mais si j'en fait, je te ferai signe. > Et quand j'ai repris mes tentatives, je suis tombé sur un bug: > https://bugs.documentfoundation.org/show_bug.cgi?id=122206 Effectivement, le glisser-déplacer et le double-clic donne une erreur. L'ouverture depuis la boîte de dialoge Ouvrir fonctionne si (et seulement si) je choisi le filtre approprié avant d'ouvrir le fichier. ça marche aussi pour les fichiers récents présentés dans l'écran de démarrage de LibreOffice. Ironiquement, je suis tombé sur le même bogue avec un fichier .fodp récemment. Toutefois, ça semble fonctionner correctement avec les fichiers `.fods`. > Je te suggère `fods` parce que j'avais réussi un truc similaire en export vers du Word flat par le passé, mais autant travailler avec un format encore plus libre. Ça va faire un exercice intéressant. On va voir ce que ça va donner.
Sign in to join this conversation.
No Milestone
No project
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: ciri/stage_2023#40
No description provided.