Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Julien Chable

He blogs, you blog, I blog ...

Archives

[Open XML] La CTP 2 disponible sous peu et la roadmap du SDK Open XML !

L'annonce vient tout juste de tomber sur openxmldeveloper.org : le SDK Open XML CTP 2 va être mis à disposition sous peu et on apprend également que deux versions du SDK seront proposer successivement. Cette version est évidemment compatible avec les spécifications 1.0 de Open XML ... telle qu'elle devrait paraitre en tant que norme ISO ! En effet, les changements et diverses améliorations ont été pris en compte !

Les équipes de développement se sont remis au travail et cela fait plaisir :-) (la dernière CTP datait de Juin 2007 !)

La roadmap

Après avoir collecté bon nombre de feedback auprès des développeurs (dont de nombreux issus de Wygwam, on espère que la plupart seront pris en compte) pendant cette CTP, Microsoft a décidé de sortir une API en 2 phases, la première en fournissant une API rapidement pour le mois Mai, afin que les développeurs puissent l'exploiter au plus tôt, puis une seconde version avec des fonctionnalités supplémentaires pour la sortie de Office 14.

On attend donc la version RTM du SDK Open XML 1.0 dés le mois prochain :-) A noter que la version 1.0 RTM qui sera disponible en Mai serait assorti d'une licence Go Live, c'est à dire que vous pourrez commencer à vendre vos produits créé avec ce SDK.

Les liens

La page principale du Open XML SDK ici (normalement le SDK devrait être disponible prochainement sur cette page).

Les HOWTOs du SDK Open XML ici.

Le contenu

Voici le contenu de la version 1.0 :

  • Strongly typed access to parts within Open XML documents (a few typical examples: classes for the main body part or style part of a word-processing document, the workbook and worksheet parts in a spreadsheet document, or the presentation and slide parts in a presentation document)
  • Simple access to the parts within an Open XML document, relative to other existing APIs (example: one line of code to retrieve or replace a part)
  • “Linq-friendly” annotation capabilities, to allow developers to use the SDK with emerging Linq to XML technology (watch Eric White's blog for a code sample demonstrating this capability)
  • Consistency and naming changes per feedback from the developer community since the June 2007 CTP version, including adherence to .NET naming conventions
  • The May 2008 RTW (released to web) version will be ready to go live, and developers can build shipping products on it

Voici celui de la version 2.0 :

  • Content object model including additional classes and methods for simplifying developer work within parts (example: methods for retrieving or modifying a specific paragraph, style, cell, or shape within a part)
  • Search functionality, for simple searching of content in all document types
  • Validation functionality, to verify that modified or created documents are compliant with the Open XML standard
  • High-level “scenario-based” functionality (examples: creating a document from a template, accepting all revisions in a document)
  • Shared ML functionality (example: classes for DrawingML chart parts and other parts that can appear in multiple document types)

Le webcast

La vidéo de Jean Christophe Cimetiere avec Zeyad Rajabi et Eric White :

Amateur de génération, de manipulations et autres exercices sur des documents bureautiques, voici le début de l'ère de la productivité dans ces domaines, et pour cause voici un petit aperçu (issu du post de Eric) :

using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(filename, true)) {

MainDocumentPart mainPart = wordDoc.MainDocumentPart;

CommentsPart commentsPart = mainPart.CommentsPart;

XDocument cDoc = commentsPart.LoadXDocument();

// Votre code ici pour manipuler la partie de commentaires

}

... // Voici la méthode d'extension

public static XDocument GetXDocument(this OpenXmlPart part)
{
    XDocument xdoc = part.Annotation<XDocument>();
    if (xdoc != null)
        return xdoc;
    using (StreamReader streamReader = new StreamReader(part.GetStream()))
        xdoc = XDocument.Load(XmlReader.Create(streamReader));
    part.AddAnnotation(xdoc);
    return xdoc;
}

// Et son utilisation

XDocument styleXDocument = doc.MainDocumentPart.StyleDefinitionsPart.GetXDocument();
return (string)(
                from style in styleXDocument.Root.Elements(w + "style")
                where (string)style.Attribute(w + "type") == "paragraph" &&
                      (string)style.Attribute(w + "default") == "1"
                select style
            ).First().Attribute(w + "styleId");

Promis pour le prochain post, je ferais un peu de code de mon cru, mais n'ayant pas réussi à mettre la main sur le SDK encore, j'ai préférez vous faire profiter de l'information au plus tôt sans attendre ! Prochains posts techniques en perspective ...

The article

Voici un article sur BetaNews introduisant le SDK (ceux qui le liront jusqu'à la fin comprendront pourquoi je fais un post vers celui-ci :p).

Allez sans être chauvin, et au contraire pour montrer que nous savons également innover et prendre des initiatives sur notre continent, voici l'extrait :

As he explained to us, "Any given developer is writing on some platform. So for developers who are writing on the .NET platform, this SDK will now be the highest-level, most productive tool for them to read and write the Open XML formats. There are similar APIs like the Open XML for J project in France, that is a Java API...or the PHP XL API out of Belgium...Depending on what platform you work on, you use the tools available for that platform to create documents that then are interoperable across other platforms as well. Because when the document is created, it doesn't matter where the code ran that originally created it.

"If you look at Open XML for J," Mahugh continued, "Julien Chable has done what our team has done with our SDK: He's looked carefully at the spec and tried to come up with some abstractions that, as an experienced Java developer, he thinks would be useful to Java developers to help them be more productive reading and writing these formats. So everybody's doing the same thing there, in that we're all looking to the standard and saying, 'What kind of tools might a developer want to enable them to work very effectively and efficiently with a standard?"'

Pour le sie officiel du projet OpenXML4J, c'est par là : http://www.openxml4j.org (il reste encore à inclure les signatures numériques, je suis toujours dessus et toujours aussi gourmand en feedbacks !).

Evidemment, vous pouvez espérer un test de cette nouvelle version dans les prochains posts !

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: vendredi 14 mars 2008 09:09 par neodante

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- L’application des MiniDrones Parrot est aussi disponible pour Windows 8.1 par Blog de Jérémy Jeanson le 10-28-2014, 15:01

- L’application des MiniDrones Parrot est enfin disponible pour Windows Phone par Blog de Jérémy Jeanson le 10-27-2014, 09:49

- Mise à jour Samsung 840 EVO sur core server par Blog de Jérémy Jeanson le 10-27-2014, 05:59

- MVP Award 2014 ;) par Blog de Jérémy Jeanson le 10-27-2014, 05:42

- « Naviguer vers le haut » dans une librairie SharePoint par Blog de Jérémy Jeanson le 10-07-2014, 13:21

- PowerShell: Comment mixer NAGIOS et PowerShell pour le monitoring applicatif par Blog Technique de Romelard Fabrice le 10-07-2014, 11:43

- ReBUILD 2014 : les présentations par Le blog de Patrick [MVP Office 365] le 10-06-2014, 09:15

- II6 Management Compatibility présente dans Windows Server Technical Preview avec IIS8 par Blog de Jérémy Jeanson le 10-05-2014, 17:37

- Soft Restart sur Windows Server Technical Preview par Blog de Jérémy Jeanson le 10-03-2014, 19:43

- Non, le certificat public du CA n’est pas un certificat client !!! par Blog de Jérémy Jeanson le 10-03-2014, 00:08