Project

General

Profile

Development #78281

ExportToModel: perte des namespaces XML dans les documents lors de la transformation

Added by Pierre Ducroquet 4 months ago. Updated 4 months ago.

Status:
Fermé
Priority:
Normal
Target version:
-
Start date:
09 June 2023
Due date:
% Done:

0%

Estimated time:
Patch proposed:
No
Planning:
No

Description

Le code de génération des documents ne conserve pas l'ensemble des namespaces XML définis dans le document source. Or, LibreOffice peut stocker des éléments référençant les namespaces dans des attributs, ce qui n'est pas pris en compte par les parseurs XML, et provoque donc la perte pure et simple des namespaces en question à la génération.
Ce bug est responsable du non-fonctionnement d'au moins deux éléments demandés sur la génération de documents:
- les paragraphes masqués,
- les conditions d'affichage sur les sections.

Le correctif ne devrait pas être trop complexe, mais impliquera certainement de passer d'ElementTree à un "vrai" parseur XML plus exhaustif comme lxml.


Related issues

Related to w.c.s. - Development #78836: avoir le(s) namespace(s) nécessaire(s) aux conditions sur sections & paragraphes masqués lors de la génération d'odtFermé21 June 2023

Actions

Associated revisions

Revision d3b3eba5 (diff)
Added by Pierre Ducroquet 4 months ago

general: switch to lxml to have a complete XML parser (#78281)

History

#1

Updated by Robot Gitea 4 months ago

  • Status changed from Nouveau to En cours

Pierre Ducroquet (pducroquet) a ouvert une pull request sur Gitea concernant cette demande :

#2

Updated by Pierre Ducroquet 4 months ago

Après vérification dans la norme OpenDocument, ce comportement surprenant y est pourtant clairement indiqué.
http://docs.oasis-open.org/office/v1.2/cs01/OpenDocument-v1.2-cs01-part1.html#__RefHeading__1418812_253892949

The text:condition attribute specifies a condition. Conditions do not have a predefined syntax, but the attribute value should begin with a namespace prefix, followed by a ":" (U+003A, COLON) separator, followed by the text of a formula. The namespace bound to the prefix determines the syntax and semantics of the formula. 

Donc avec ElementTree, on risque de casser les documents à cause de cette syntaxe qui est en dehors de la syntaxe XML "normale", seule comprise et prise en compte par ElementTree. Et ElementTree ne permet pas d'ajouter arbitrairement un ensemble de namespaces devant être présents dans le document (choix d'implémentation acceptable, mais du coup problématique ici).

#3

Updated by Frédéric Péters 4 months ago

Il y a déjà eu un ticket sur cette affaire, #66352, et bricolage pour ce cas particulier.

À propos de :

- les paragraphes masqués,
- les conditions d'affichage sur les sections.

Il y a un ticket à lier qui exposerait le problème, avec des documents, ou c'est se prémunir d'un problème sur ces éléments ?

#5

Updated by Pierre Ducroquet 4 months ago

Frédéric Péters a écrit :

Pas de ticket, ça vient de tracim, https://publik.tracim.fr/ui/workspaces/1/contents/thread/2229 / https://publik.tracim.fr/ui/workspaces/1/contents/thread/371

tracim + villejuif lors du club jeudi (pendant la présentation de la roadmap, et j'étais convaincu que ça devait fonctionner en théorie, puis j'ai vu ce problème avec ElementTree)
D'ailleurs au club utilisateur ça a été mentionné dans les diapositives comme fonctionnalités à ajouter.

#6

Updated by Robot Gitea 4 months ago

  • Status changed from En cours to Solution proposée
#7

Updated by Robot Gitea 4 months ago

  • Status changed from Solution proposée to En cours

Frédéric Péters (fpeters) a relu et demandé des modifications sur une pull request sur Gitea concernant cette demande :

#8

Updated by Robot Gitea 4 months ago

  • Status changed from En cours to Solution proposée
#9

Updated by Robot Gitea 4 months ago

  • Status changed from Solution proposée to Solution validée
#10

Updated by Thomas Noël 4 months ago

  • Status changed from Solution validée to En cours

Robot Gitea a écrit :

Thomas NOËL (tnoel) a approuvé une pull request

Non, erreur de manip.

#11

Updated by Robot Gitea 4 months ago

  • Status changed from En cours to Solution proposée
#12

Updated by Robot Gitea 4 months ago

  • Status changed from Solution proposée to Solution validée

Frédéric Péters (fpeters) a approuvé une pull request sur Gitea concernant cette demande :

#13

Updated by Robot Gitea 4 months ago

  • Status changed from Solution validée to Résolu (à déployer)

Pierre Ducroquet (pducroquet) a mergé une pull request sur Gitea concernant cette demande :

#14

Updated by Transition automatique 4 months ago

  • Status changed from Résolu (à déployer) to Solution déployée
#15

Updated by Frédéric Péters 3 months ago

  • Related to Development #78836: avoir le(s) namespace(s) nécessaire(s) aux conditions sur sections & paragraphes masqués lors de la génération d'odt added
#16

Updated by Transition automatique about 1 month ago

Automatic expiration

Also available in: Atom PDF