250 likes | 314 Views
Learn about OpenJade, a powerful XML engine and its journey to enhance XML support, architecture, and concepts. Join the international team working on future DSSSL advancements.
E N D
The OpenJade Project.XMLDev 99 conferenceDidier PH MartinTalva Corporation. OpenJade founder, lead.
Origins OpenJade today Goals OpenJade Architecture OpenJade concepts Relationships DSSSL Next generation Agenda
Origins • Based on Jade created by James Clark • Given to the DSSSL user group by James • A development team formed from the DSSSL user community
OpenJade today • A growing development team • Is a DSSSL engine, but we have no problems to use the code base for mixed DSSSL/XSL implementations. Interested? • Is C++ based. • We are documenting the internals • We are implementing the missing parts we think are important • If very fast…and is improving
OpenJade today • An international design and development team • Sweden • Germany • Israel • USA • Canada We need more help. Interested? OpenJade wants you
OPenJade Today • Special projects • BraiFo (a Braille Formatter) • Template experiment • Several Web Site using OpenJade to generate HTML pages from XML • Publishers using OpenJade to format SGML/XML documents into printed formats.
OpenJade Today • What we learned • We should not try to create constructs better expressed by procedural language (resist to the temptation of putting everything in tags simply because we have an XML/SGML parser)
http://www.netfolder.com/DSSSL We will move to http://www.openjade.org Our home page
Goals • Improve OpenJade XML support • Document, document, document • Cooperate with different platforms/toolkits • Offer APIs • Make it more accessible
OpenJade architecture MIF RTF HTML Tex PDF SGML XML API Script languagesJavaScript, PerlScript, PythonScript, VBScript XSL engine? Scheme engine API Grove engine API SGML/XML parser
OpenJade architecture MIF RTF HTML Tex PDF SGML XML API Script languagesJavaScript, PerlScript, PythonScript, VBScript XSL engine? Scheme engine API Grove engine API SGML/XML parser
OpenJade Arhitecture SGML /XML Parser interface • C++ based • Expat (the fatest) • Microsoft • Java based • IBM • DataChannel • Others… DOM based parsers are, in some ways, simplified GROVE engines. Goal? interface with DOM based parsers
OpenJade Architecture • Goal: • Link for more sophisticated Grove Engines Goal: publish an API for Grove/DOM interfacing CORBA IDL, DCOM IDL.
OpenJade architecture MIF RTF HTML Tex PDF SGML XML API Script languagesJavaScript, PerlScript, PythonScript, VBScript XSL engine? Scheme engine API Grove engine API SGML/XML parser
OpenJade Architecture • Goal: • Add new SGML/XML processing languages • Add incoming and outgoing SGML/XML processing • Candidates • Xscripts (rule based language using VBScript, JavaScript, PerlScrip, Python Script languages • XSL (MITRE C++ engine?) • Next generation DSSSL
OpenJade architecture MIF RTF HTML Tex PDF SGML XML API Script languagesJavaScript, PerlScript, PythonScript, VBScript XSL engine? Scheme engine API Grove engine API SGML/XML parser
OpenJade Architecture • Formatters • A rich collection of Formatters • MIF • RTF • SGML • XML • HTML+CSS • PDF • FOT • Add new ones
OpenJade Concepts • Collection of Objects • Visual Objects • A visual layout model with Flow based layout (absolute positioning is the next step). • Aural Objects • Tactile Objects • Objects accessible from different expression languages • Rule based processing
Relationships • Linux Communities and ISVs • Debian Linux • SUSE Linux • Red Hat? • NetFolder (The SGL/XML Kit)
DSSSL Next generation • First Step • Assemble the knowledge gained in the last five 5 years • Integrate new powerful concept such as: • Template based rules • New addressing and queries models and languages • Base our design on a model not on a particular language.
DSSSL The Next generation • Keep The actual features • Backward compatibility • Start the process from the actual OpenJade Community. • Make a DSSSL 2 proposal to the ISO community.
OpenJade Next generation • What we learned • We are moving from Object oriented processing to data flow processing • We transform data into different kind of objects/different models. • We have to make explicit the model supported by a transform engine • The model should be independent of a particular language
What’s next Read the OpenJade News to know more