Quark, Inc. vient de présenter le langage QXML (QuarkXPress Markup Language), un schéma XML du modèle DOM (Document Object Model) développé par le World Wide Web Consortium (W3C), qui permettra aux développeurs de créer encore plus facilement des modules XTensions personnalisés pour le premier logiciel de mise en page de l'industrie, QuarkXPress.
Le schéma QXML décrit intégralement le format de fichier QuarkXPress dans XML et permet le développement de modules XTensions QuarkXPress 6.5 à l'aide de standards de l'industrie et d'un vaste éventail de plates-formes et de langages de développement tels que Java, .Net et de nombreux langages de script.
Application de standards
« Pendant longtemps, les contenus essentiels se sont limités à des formats de fichier propriétaires, alors que la tendance vers l'édition multicanaux dictait qu'ils ne pouvaient plus simplement être utilisés pour l'impression, » explique Juergen Kurz, Quark's vice president of product development. « En introduisant une méthodologie standardisée pour décrire le format de fichier QuarkXPress, nos clients disposent d'une plus grande marge de sécurité en étant en mesure d'intégrer facilement leurs contenus QuarkXPress dans les environnements complexes d'édition multicanaux qui existent aujourd'hui. »
Simplification de la programmation
L'une des forces de QuarkXPress réside dans sa vaste communauté de développeurs qui créent des centaines de modules XTensions tiers visant à étendre les fonctionnalités de QuarkXPress selon les besoins divers des utilisateurs. Les développeurs de modules XTensions ont toujours utilisé le langage de programmation C ou C++, mais avec QXML, ils peuvent créer des modules XTensions pour plusieurs plates-formes dans C++, Java, tout langage supporté sur la plate-forme .Net (dont C# et VB.Net) et les langages de script (dont AppleScript, Perl, JScript et VBScript).
Pour faciliter davantage le développement de logiciels, QXML présente chaque projet QuarkXPress sous forme d'arborescence XML et toutes modifications apportées aux fichiers XML sont effectuées en temps réel dans le projet.
Le modèle DOM
Le modèle DOM (Document Object Model) est un standard W3C offrant une interface indépendante du langage qui permet aux applications et scripts d'accéder et de mettre à jour dynamiquement le contenu, la structure et le style des documents.
Avec QXML, le nouveau schéma DOM pour QuarkXPress, les développeurs peuvent dynamiquement accéder et mettre à jour le contenu, la structure et le style d'un projet QuarkXPress à l'aide d'une interface DOM. Les modules XTensions deviennent alors plus polyvalents dans la mesure où ils peuvent utiliser le contenu complet d'un projet, y compris tous les attributs de formatage, les feuilles de style et les spécifications de césure et justification. En outre, les développeurs peuvent exécuter de puissantes expressions de requête ne comportant que quelques lignes de code à l'aide de requêtes XPath. Avec le code C/C++, les mêmes requêtes exigeraient des pages entières de code.
« Même si C et C++ sont de puissants langages de développement, les développeurs utilisent maintenant une grande variété de langages. Le portage de logiciels à partir d'autres applications et plates-formes vers et à partir de C et C++ peut être un processus long et coûteux, » explique Tim Banister, QuarkXPress product manager. « La création de QXML transforme radicalement le paysage du développement d'XTensions et permet à de nouveaux développeurs de créer des modules XTensions personnalisés pour QuarkXPress, ce qui se traduit par une offre de solutions encore plus large à nos clients. Quark poursuit son engagement à l'égard des standards ouverts et ceci démontre une nouvelle fois la force de cet engagement. »
Exemple de portage simplifié
Comment QXML simplifie-t-il le développement ? Prenons l'exemple d'un éditeur équipé d'un programme Java qui utilise un protocole de services Web pour extraire des programmes télé et les publier sur un site Web. Il souhaite également introduire ce contenu dans une revue hebdomadaire. Comme l'importation et la stylisation manuelles de ces données dans QuarkXPress prend du temps, une solution automatisée s'impose. Auparavant, les développeurs faisant la transition de Java à C/C++ étaient confrontés à des problèmes relativement complexes et ils devaient essentiellement réécrire le programme. Avec l'interface DOM de QuarkXPress, QXML, la complexité de ces problèmes a été réduite et la tâche est maintenant plus simple et plus facile à gérer.
Futures évolutions
La version initiale de QXML permet aux développeurs de lire les données à partir d'un projet QuarkXPress. Dans la version suivante, ils pourront à la fois lire et écrire à partir de/vers des projets QuarkXPress.