Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word
Word Forum d'entraide sur le traitement de texte Microsoft Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/11/2011, 16h08   #1
Candidat au titre de Membre du Club
 
Homme
Débutant en XSLT
Inscription : avril 2011
Messages : 53
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Débutant en XSLT

Informations forums :
Inscription : avril 2011
Messages : 53
Points : 12
Points : 12
Par défaut Aller retour docx/xml

Bonjour,

Je ne sais pas si je suis dans le forum le plus adapté, mais la question concerne davantage word alors je poste ici.

Le but de la manoeuvre est :
  1. De créer un docx à partir d'un fichier XML.
  2. De modifier ce docx via le logiciel word.
  3. Puis finalement de faire la moulinette inverse en récupérant mes infos sous le même format que mon fichier XML initial.

Je sais générer un fichier docx à partir de mon XML initial. En pratique, je génére le fichier "document.xml" contenu dans le zip du docx et je le remplace.
Je sais aussi éditer mon docx avec word ! (facile)

Mais le souci c'est qu'à l'enregistrement, word n'en fait qu'à sa tête et recrée sa structure xml du fichier document.xml contenue dans le docx...

Ainsi, je n'arrive pas à stocker des données, dans le document.xml, qui seraient invisibles sous word et récupérables en xml. J'ai donc des bâtons dans les roues pour faire la moulinette inverse (par exemple, j'aimerais pouvoir ajouter des attributs à mes "run" ou "paragraphes" afin de pouvoir les identifier dans ma xslt inverse).


Quelqu'un à déjà eu besoin de travailler de cette manière ?
Auriez vous des conseils à me donner pour que je puisse m'en sortir ?


Merci d'avance,
Bonne journée.
PouetteMan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 16h35   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 343
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 343
Points : 29 254
Points : 29 254
Salut,

Word ne permet pas d'ouvrir le contenu d'un docx ou docm pour avoir accès au XML.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 19h07   #3
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Salut PouetteMan,

Citation:
Envoyé par PouetteMan
Quelqu'un à déjà eu besoin de travailler de cette manière ?
Oui, nous au boulot

Citation:
Envoyé par PouetteMan
Auriez vous des conseils à me donner pour que je puisse m'en sortir ?
Le bon conseil est de ne pas le faire : Word est un format seulement semi-ouvert. En l'occurrence, le XML est public mais les seules balises gérées sont les siennes donc comme le dit heureux-Oli
Citation:
Word ne permet pas d'ouvrir le contenu d'un docx ou docm pour avoir accès au XML.
Désolé
@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 19h14   #4
Candidat au titre de Membre du Club
 
Homme
Débutant en XSLT
Inscription : avril 2011
Messages : 53
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Débutant en XSLT

Informations forums :
Inscription : avril 2011
Messages : 53
Points : 12
Points : 12
Bonsoir,
Merci pour vos réponses.

Citation:
Word ne permet pas d'ouvrir le contenu d'un docx ou docm pour avoir accès au XML.
Au risque de ne pas avoir compris ta remarque, mais pour un fichier docx, le contenu xml est accessible en clair (il suffit d'extrait le .docx qui n'est autre qu'un .zip renommé).

Citation:
Oui, nous au boulot
et du coup, vous avez réussi ? Ou dois-je comprendre que ton conseil de ne pas me lancer dedans veut dire que cela n'a pas abouti ?


Aurais-je plus de chances avec de l'ODF et libreOffice?


Bonne soirée.
PouetteMan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 19h18   #5
Candidat au titre de Membre du Club
 
Homme
Débutant en XSLT
Inscription : avril 2011
Messages : 53
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Débutant en XSLT

Informations forums :
Inscription : avril 2011
Messages : 53
Points : 12
Points : 12
Je pense avoir compris le sens de la "permission" de vos messages !
Je l'imaginais en terme de possibilité technique... Vous parlez bien en terme de droit légal ?

C'est possible d'avoir une norme ISO propriétaire ? (je demande, j'y connais rien)
PouetteMan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 20h27   #6
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 343
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 343
Points : 29 254
Points : 29 254
Salut,

Travailler un fichier .docx est naturel en Word, et cela se fait sans aucun artifice.
Mais Word ne sait pas ouvrir le contenu xml du document, pour ouvrir le contenu, il faut passer par une application externe ou créer une librairie qui le permettrait à l'aide d'un outil comme visual basic, visual studio...
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 21h16   #7
Candidat au titre de Membre du Club
 
Homme
Débutant en XSLT
Inscription : avril 2011
Messages : 53
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Débutant en XSLT

Informations forums :
Inscription : avril 2011
Messages : 53
Points : 12
Points : 12
Bonsoir,

Justement, je travaille avec des feuilles de transformation XSLT.
Une première me permet de passer de mon XML (fichier data) vers un XML du docx (plus exactement le fichier "structure.xml" qui se trouve dans un docx).

Pour infos, je parle du fichier qui ressemble à ca :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<w:body>
  <w:p>
    <w:r>
      <w:t> Clearly this is a great thing for the industry</w:t>
    </w:r>
    <w:r>
      <w:t>(unless you happen to be one of those folks who had investments in growing this myth that there was some kind of "file format war" underway)</w:t>
    </w:r>
    <w:r>
      <w:t>. I personally feel like it's really cool. We now have an official standard that provides all the details necessary to read and write office documents.</w:t>
    </w:r>
  </w:p>
</w:body>
Je sais créer le fichier docx sans souci.
Par contre, l'idée c'est que les utilisateurs puissent modifier les infos via word et quand ils ont terminés, je reprends le fichier structure.xml du docx et je le transforme à l'inverse vers une structure xml data (car c'est destiné à partir vers une base de données ensuite).

Et le gros souci que je rencontre, c'est que je n'arrive pas à "identifier" mes éléments xml dans la structure xml du docx. Car même si je m'amuse à mettre un attribut à un paragraphe <w:p id="123456">, word va virer mes attributs quand on fera ctrl+S.
D'une certaine manière, c'est normal.

Du coup, je cherche un moyen de pouvoir "tracker" ou identifier mes paragraphes (ou run) de sorte à pouvoir faire la transformée inverse.


Suis-je clair dans mon problème ?


Bonne soirée.
PouetteMan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 22h07   #8
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 343
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 343
Points : 29 254
Points : 29 254
Salut,

Oui, mais ma réponse est toujours la même.
word ne sait pas travailler sur le contenu XML des documents.

Maintenant si tu poses la question en DotNet, tu auras plus de chance d'avoir une réponse. Ce language peut ouvrir un docx et travailler sur le XML.

Ce que Word fait au fichier est totalement opaque pour l'utilisateur.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 11h09   #9
Candidat au titre de Membre du Club
 
Homme
Débutant en XSLT
Inscription : avril 2011
Messages : 53
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Débutant en XSLT

Informations forums :
Inscription : avril 2011
Messages : 53
Points : 12
Points : 12
Merci beaucoup,

Je vais donc soumettre sur le forum .NET.

Bonne journée.
PouetteMan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h09.


 
 
 
 
Partenaires

Hébergement Web