Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Julien Chable

He blogs, you blog, I blog ...

Archives

[Open XML] Mythes et réalité (fin) : posez votre question à Microsoft !

Voici le dernier post sur les 10 questions posées à Microsoft France. Vous vous demanderez sûrement pourquoi avoir mis deux questions dans les précédents posts et quatre dans ce celui-ci ? En réalité ce post ne contient que 3 questions car la dernière question sera LA VOTRE (cf finde post) !

Open XML n’établit pas de correspondance avec les formats binaires.

Il existe une grande confusion sur cette notion de compatibilité avec les anciens formats binaires.

L’objectif du départ, tel qu’il était défini dans le document Présentation d’Open XML, était de représenter fidèlement l’ensemble existant, ce qui ne veut pas dire que ce format doit décoder les formats binaires ou établir des correspondances. Cela n’est pas non plus dit dans la documentation relative à ECMA-376. C’est la différence entre un format de document qui représente l’information et une application qui peut consommer ou produire de l’information, ce qui est le cas du format Open XML et pas celui des formats binaires comme l’explique la Partie 1 de la spécification. Pour être clair, nous décrivons ci-dessous la différence entre un format et une application.

Les formats décrivent l’information

• Ils définissent l’apparence du contenu.

• Ils structurent le contenu pour des processus métier.

• Ils permettent à d’autres logiciels d’utiliser l’information.

Les applications utilisent l’information

• Ils fournissent des fonctionnalités pour créer, organiser,

• développer, représenter, évaluer, corriger,

• collaborer, valider, calculer, protéger et imprimer des informations.

Des formats peuvent influencer la conception des applications et vice-versa

• Fonctionnalités Open Document Format (ODF) et OpenOffice

• Fonctionnalités Office Open XML et Microsoft Office

Open XML, en tant que format, a la possibilité de représenter fidèlement l’information des documents existants ; les applications, quant à elles, consomment et produisent Open XML.

La prise en charge des documents existants est un principe de conception complémentaire et valide, reconnu par la spécification ECMA-376. La spécification prend en charge le contenu et la représentation des anciens formats. Mais pour qu’Open XML soit un standard, il n’est pas nécessaire qu’il inclue des correspondances avec les anciens formats binaires. Open XML, en tant que spécification, permet à une application de consommer et de produire uniquement de l’Open XML. Cela est clairement énoncé dans les définitions (voir Partie 1, Page 1, Clause 1 - Portée : « [Ce document] spécifie aussi les exigences pour les consommateurs et les producteurs d’Office Open XML »). Il est donc de la responsabilité du développeur qui souhaite écrire un convertisseur d’un ancien format vers Open XML, d’obtenir les spécifications de l’ancien format et de les rapprocher des spécifications d’Open XML.

Cette situation est comparable à la spécification ODF qui est aussi issue de la spécification StarOffice mais qui n’inclut pas dans ses spécifications la correspondance avec les formats de fichiers binaires StarOffice.

L’inclusion des correspondances dans la spécification Open XML augmenterait la longueur et la complexité du document et se perdrait dans des détails d’implémentation pour des anciens formats de fichiers binaires, ce qui n’est pas approprié pour une spécification de format de document.

Il faut noter que l’interopérabilité mentionnée dans la spécification fait référence à d’autres formats de documents fondés sur XML et pas à des formats de fichiers binaires.

Disponibilité des formats de fichiers binaires

De plus, Microsoft a rendu accessible les spécifications des formats de fichiers binaires .doc, .xls et .ppt dans le cadre d’un contrat libre de royalties dans lequel Microsoft s’engage à ne pas poursuivre en justice quiconque implémenterait tout ou partie de ces spécifications dans ses produits. Aujourd’hui, n’importe qui peut accéder à ces spécifications en suivant la procédure décrite dans cet article de la Base de connaissances :

http://support.microsoft.com/default.aspx/kb/840817

Comment extraire des informations des fichiers Office en utilisant les formats de fichiers Office et des schémas ?

« Les spécifications des deux formats étant accessibles à un développeur, un convertisseur peut être conçu, si nécessaire, pour qu’un document DOC ou XLS soit converti en document Open XML en conservant le contenu et la représentation intacts. »

 

Open XML permet l’extensibilité (partie 5 de la spécification), ce qui est contraire à l’interopérabilité.

Une telle assertion est fondamentalement incorrecte ! Le besoin d’extensibilité (ou capacité d’extension) est largement reconnu dans le secteur de l’informatique et dans les normes. Par exemple, SGML (ISO 8879) a été considéré comme une avancée par rapport à HTML en raison de son extensibilité.

Voici ce que Jon Bosak de Sun Microsystems a dit sur l’extensibilité de SGML :

« Le fait de figer un petit ensemble de balises permet aux utilisateurs de ne pas se perdre dans les spécifications du langage lorsqu’ils créent un document et cela simplifie le développement des applications, mais cette simplification limite sévèrement HTML sur plusieurs aspects, notamment l’extensibilité, la structure et la validation. »

· Extensibilité. HTML ne permet pas aux utilisateurs de définir leurs propres balises ou attributs dans le but de paramétrer ou de qualifier sémantiquement leurs données.

« De plus, le standard a été conçu pour avoir une longue durée de vie. SGML autorise des développements et des extensions ; par conséquent, le standard s’adapte facilement aux environnements qui changent rapidement. »

De façon similaire, Open Document Architecture (ODA – ISO 8613) a mis en avant parmi ses attributs la prise en charge d’une orientation tournée vers le futur, notamment en tenant compte de l’extensibilité vers de nouveaux contenus de documents
(http://a.dict.it/definition/lexikon/oda_open%20document%20architecture%20.html)

Dans sa présentation sur ODF, « From Open Source to Open Standard – The OASIS OpenDocument Format » disponible à l’adresse

www.idealliance.org/proceedings/xtech05/slides/brauer/xtech2005-opendocument.pdf, Michael Brauer (Sun) parle de l’importance de l’extensibilité !

Dans Open XML, l’extensibilité est assurée par un mécanisme parfaitement défini. La partie 5 de la spécification (Markup Compatibility and Extensibility specification - spécification de l’extensibilité et de la compatibilité du balisage), décrit un ensemble de conventions qui sont utilisées par les documents Office Open XML afin de faciliter de futures améliorations et des extensions aux documents Office Open XML, tout en définissant une ligne de base pour l’interopérabilité.

Cette fonction est largement appréciée par le secteur de l’informatique et par les utilisateurs en tant que mécanisme d’extensibilité bien documenté qui leur permet d’étendre la spécification de façon clairement définie (et ainsi, de pourvoir à l’interopérabilité). Cela laisse aux utilisateurs la possibilité d’innover et de développer des solutions pour résoudre des problèmes spécifiques. Cette position a également été validée par M. Manish Srivastava, le membre représentant Infosys Technologies au Comité LITD 15 lors de la réunion du Comité le 8 août 2007.

Ainsi, l’extensibilité est une exigence qui est bien prise en compte et qui a été incorporée dans des normes ISO. Dans Open XML, l’extensibilité est clairement définie dans la spécification et elle constitue une exigence importante sans impact sur l’interopérabilité. Il semblerait qu’Open XML soit critiqué pour prendre correctement en charge une fonctionnalité qui est largement appréciée et recherchée.

 

Open XML prend en charge des schémas personnalisés, ce qui est contraire à l’interopérabilité »

Là aussi, les schémas personnalisés constituent une exigence bien reconnue. La Chine, par exemple, a demandé la mise en œuvre de cette fonctionnalité, dans ses commentaires qui ont accompagné son vote pour ISO 26300 (voir le document « ISO_IEC_DIS_26300_SAC.pdf » dans « Summary of Voting on DIS 26300 - 0728rev.zip » disponible sur la page www.jtc1sc34.org/repository/0728revc.htm - Commentaire 4 dans la capture d’écran ci-dessous). Il est pertinent de remarquer que cette fonctionnalité n’est toujours pas ajoutée à ODF, malgré un commentaire la demandant explicitement pendant la période de vote. Il est vrai que cela n’empêche pas la ratification d’ODF : de nouvelles fonctionnalités sont généralement ajoutées dans des versions ultérieures comme cela sera le cas pour les nouvelles fonctionnalités demandées pour Open XML. Il faut aussi remarquer qu’actuellement, le comité technique ODF de l’OASIS a organisé un « sous-comité des métadonnées » dont les demandes sont très proches de la prise en charge d’un schéma défini par l’utilisateur tel qu’il existe déjà dans Open XML. Cette fonctionnalité pourrait être introduite dans une version ultérieure d’ODF (peut-être ODF v.1.3 ?).

(Pour des informations complémentaires, veuillez consulter le document
http://www.oasis-open.org/committees/download.php/20493/UCR.pdf)

Les commentaires qui critiquent cette fonctionnalité dans Open XML semblent correspondre à une mauvaise compréhension de la spécification.

Mettre en œuvre un schéma personnalisé n’est pas contraire à définir une norme. Le processus pour implémenter des schémas personnalisés est totalement défini dans Ecma 376 et dans ce contexte, les schémas personnalisés n’ont pas d’impact sur l’interopérabilité.

La prise en charge de schémas personnalisés est très utile car elle permet aux utilisateurs d’incorporer leurs propres schémas dans des documents et ainsi, d’établir un pont entre les documents et les données.

Si nous mettons de côté les fonctionnalités basiques de création de documents avec lesquelles les utilisateurs sont maintenant familiarisés, l’approche particulière d’Open XML pour prendre en charge un code XML personnalisé est très important. C’est ce que nous pourrions nommer l'interopérabilité verticale ; les développeurs de logiciels la trouvent particulièrement intéressante dans Open XML : la capacité d’intégrer d’autres types de données et de systèmes dans des documents Open XML, tout en maintenant une claire séparation entre la présentation (balisage Open XML) et les données (schémas personnalisés représentant des données d’une autre source).

Open XML, comme d’autres formats de documents, autorise des métadonnées extensibles. Il ne s’agit pas là de quelque chose de nouveau mais la portée de ce dispositif reste limitée car les éléments que vous ajoutez décrivent simplement le document lui-même (comme l’auteur, la date, etc.).

En revanche, Open XML permet un balisage XML personnalisé dans le corps d’un document, ce qui constitue un bon moyen pour permettre aux utilisateurs de baliser le contenu afin de faciliter l’interopérabilité avec d’autres types de logiciels comme un logiciel métier.

Le balisage personnalisé n’est pas un concept nouveau : de nombreux formats permettent ce genre de choses et Word 2003 proposait déjà un balisage personnalisé qui a été largement utilisé dans des applications de fabrication, juridiques et autres. La façon spécifique selon laquelle Open XML a mis en œuvre un balisage personnalisé, en utilisant des attributs pour coder la sémantique et ainsi permettre à n’importe quel schéma d’être utilisé, est particulièrement souple comparée à d’autres approches, mais le concept central d’un balisage XML personnalisé n’est pas nouveau.

Open XML vous permet d’utiliser les messages XML que vous employez déjà aujourd’hui (ceux qui sont produits par vos logiciels ou qui circulent entre vos services Web), directement dans vos documents, tels qu’ils sont, sans les modifier. Vous n’avez pas à écrire de code pour extraire des données d’un balisage car données et balises ne sont jamais mélangées.

Cela permet une interopérabilité simple et puissante. Cette possibilité n’existe que dans un format comme Open XML qui utilise une convention de package souple et standardisée comme OPC, pour permettre l’ajout de n’importe quel type de contenu à un document sans que cet ajout n’interfère avec l’architecture du document.

Par exemple, cela signifie que l’initiative de rapport de RBI, qui exploite le schéma de rapport XBRL, pourrait être incluse dans un document Open XML.

Exemple : XBRL et Open XML

Voici un diagramme qui montre comment le schéma Open XML peut faciliter le travail d’un utilisateur : en travaillant sur un document, il manipule des données structurées provenant d’un système informatique central, puis son document sert à mettre à jour le système. Toutes les opérations s’effectuent depuis l’environnement familier Microsoft Office.

Im01.jpg

Dans son approche actuelle, la prise en charge par ODF 1.0 de schémas personnalisés fait peser à long terme un risque sur l’interopérabilité car vous devez avoir accès au schéma personnalisé pour valider le corps du document. L’approche Open XML ne présente pas ce problème car le corps du document repose sur un balisage Open XML fondé à 100% sur des standards. Les éléments et espaces de noms du schéma personnalisé sont enregistrés en tant qu’attributs d’éléments Open XML valides (customXML).

Un intérêt certain se développe actuellement autour de cette fonctionnalité extrêmement puissante et souhaitable de schéma personnalisable, proposée par Open XML, qui n’a aucun impact sur l’interopérabilité.

Pour en savoir plus, voici une série d’article introduisant plus en profondeur le sujet sur un blog dédié à Open XML

Open XML et les schémas métier - Première partie - Interopérabilité horizontale ou verticale ?

Open XML et les schémas métier - Deuxième partie - Formats de documents et interopérabilité sémantique

Open XML et les schémas métier - Troisième partie - Mise en œuvre des custom XML markup

Open XML et les schémas métier - Quatrième et dernière partie - Les custom XML parts

Cette dernière question ...

... sera la vôtre ! Et oui, c'est l'occasion pour vous de poser LA question à Microsoft France sur Open XML. QUe ce soit une question technique ou d'ordre générale, voici une opportunité de le faire !

Laissez un commentaire ou écrivez moi sur directement via le formulaire de contact.

La réponse sera donnée dans un prochain post dés que la réponse reçue !

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: jeudi 25 octobre 2007 07:30 par neodante
Classé sous :

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01

- Office 365: Script PowerShell pour supprimer des comptes utilisateur de collections de sites SharePoint Online par Blog Technique de Romelard Fabrice le 11-19-2018, 16:47

- Retrouvez-moi aux Microsoft experiences18 ! par Blog de Jérémy Jeanson le 11-06-2018, 22:25

- Office 365: Script PowerShell pour extraire les Teams associés à un utilisateur spécifié par Blog Technique de Romelard Fabrice le 11-06-2018, 13:37