The OpenJade Project. XMLDev 99 conference Didier PH Martin Talva Corporation. OpenJade founder,...

25
The OpenJade The OpenJade Project. Project. XMLDev 99 conference XMLDev 99 conference Didier PH Martin Didier PH Martin Talva Corporation. OpenJade founder, lead. Talva Corporation. OpenJade founder, lead.

Transcript of The OpenJade Project. XMLDev 99 conference Didier PH Martin Talva Corporation. OpenJade founder,...

The OpenJade Project.The OpenJade Project.

XMLDev 99 conferenceXMLDev 99 conference

Didier PH MartinDidier PH MartinTalva Corporation. OpenJade founder, lead. Talva Corporation. OpenJade founder, lead.

AgendaAgenda

OriginsOrigins OpenJade todayOpenJade today GoalsGoals OpenJade ArchitectureOpenJade Architecture OpenJade conceptsOpenJade concepts RelationshipsRelationships DSSSL Next generationDSSSL Next generation

OriginsOrigins

Based on Jade created by James Based on Jade created by James ClarkClark

Given to the DSSSL user group by Given to the DSSSL user group by JamesJames

A development team formed from A development team formed from the DSSSL user communitythe DSSSL user community

OpenJade todayOpenJade today A growing development teamA growing development team Is a DSSSL engine, but we have no Is a DSSSL engine, but we have no

problems to use the code base for problems to use the code base for mixed DSSSL/XSL implementations. mixed DSSSL/XSL implementations. Interested?Interested?

Is C++ based.Is C++ based. We are documenting the internalsWe are documenting the internals We are implementing the missing We are implementing the missing

parts we think are importantparts we think are important

If very fast…and is improvingIf very fast…and is improving

OpenJade todayOpenJade today

An international design and An international design and development teamdevelopment team SwedenSweden GermanyGermany IsraelIsrael USAUSA CanadaCanada

We need more help. Interested?

OpenJade wants you

OPenJade TodayOPenJade Today

Special projectsSpecial projects BraiFo (a Braille Formatter)BraiFo (a Braille Formatter) Template experimentTemplate experiment

Several Web Site using OpenJade Several Web Site using OpenJade to generate HTML pages from XMLto generate HTML pages from XML

Publishers using OpenJade to Publishers using OpenJade to format SGML/XML documents into format SGML/XML documents into printed formats.printed formats.

OpenJade TodayOpenJade Today

What we learnedWhat we learned We should not try to create constructs We should not try to create constructs

better expressed by procedural better expressed by procedural language (resist to the temptation of language (resist to the temptation of putting everything in tags simply putting everything in tags simply because we have an XML/SGML because we have an XML/SGML parser)parser)

Our home pageOur home page

http://www.netfolder.com/DSSSLhttp://www.netfolder.com/DSSSL

We will move toWe will move to

http://www.openjade.orghttp://www.openjade.org

GoalsGoals

Improve OpenJade XML supportImprove OpenJade XML support Document, document, documentDocument, document, document Cooperate with different Cooperate with different

platforms/toolkitsplatforms/toolkits Offer APIsOffer APIs Make it more accessibleMake it more accessible

OpenJade architectureOpenJade architecture

SGML/XML parser

Grove engine

Scheme engineScript languages JavaScript, PerlScript, PythonScript, VBScript

XSL engine?

API

API

MIF RTF HTML Tex PDF SGML XML

API

OpenJade architectureOpenJade architecture

SGML/XML parser

Grove engine

Scheme engineScript languages JavaScript, PerlScript, PythonScript, VBScript

XSL engine?

API

API

MIF RTF HTML Tex PDF SGML XML

API

OpenJade ArhitectureOpenJade Arhitecture

C++ basedC++ basedExpat (the fatest)Expat (the fatest)MicrosoftMicrosoft

Java basedJava based IBMIBMDataChannelDataChannelOthers…Others…

SGML /XML Parser interface

DOM based parsers are, in some ways, simplified GROVE

engines.

Goal? interface with DOM based parsers

OpenJade ArchitectureOpenJade Architecture

Goal:Goal: Link for more sophisticated Grove EnginesLink for more sophisticated Grove Engines

Goal: publish an API for Grove/DOM interfacing

CORBA IDL, DCOM IDL.

OpenJade architectureOpenJade architecture

SGML/XML parser

Grove engine

Scheme engineScript languages JavaScript, PerlScript, PythonScript, VBScript

XSL engine?

API

API

MIF RTF HTML Tex PDF SGML XML

API

OpenJade ArchitectureOpenJade Architecture

Goal:Goal: Add new SGML/XML processing Add new SGML/XML processing

languageslanguages Add incoming and outgoing Add incoming and outgoing

SGML/XML processingSGML/XML processing CandidatesCandidates

Xscripts (rule based language using Xscripts (rule based language using VBScript, JavaScript, PerlScrip, Python VBScript, JavaScript, PerlScrip, Python Script languagesScript languages

XSL (MITRE C++ engine?)XSL (MITRE C++ engine?) Next generation DSSSLNext generation DSSSL

OpenJade architectureOpenJade architecture

SGML/XML parser

Grove engine

Scheme engineScript languages JavaScript, PerlScript, PythonScript, VBScript

XSL engine?

API

API

MIF RTF HTML Tex PDF SGML XML

API

OpenJade ArchitectureOpenJade Architecture

FormattersFormatters A rich collection of FormattersA rich collection of Formatters

MIFMIF RTFRTF SGMLSGML XMLXML HTML+CSSHTML+CSS PDFPDF FOTFOT

Add new onesAdd new ones

OpenJade ConceptsOpenJade Concepts

Collection of ObjectsCollection of Objects Visual ObjectsVisual Objects

A visual layout model with Flow A visual layout model with Flow based layout (absolute positioning based layout (absolute positioning is the next step).is the next step).

Aural ObjectsAural Objects Tactile ObjectsTactile Objects

Objects accessible from different Objects accessible from different expression languagesexpression languages

Rule based processingRule based processing

RelationshipsRelationships

Linux Communities and ISVsLinux Communities and ISVs Debian LinuxDebian Linux SUSE Linux SUSE Linux Red Hat?Red Hat? NetFolder (The SGL/XML Kit)NetFolder (The SGL/XML Kit)

DemoDemo

DSSSL Next generationDSSSL Next generation

First StepFirst Step Assemble the knowledge gained in the Assemble the knowledge gained in the

last five 5 yearslast five 5 years Integrate new powerful concept such Integrate new powerful concept such

as:as: Template based rulesTemplate based rules New addressing and queries New addressing and queries

models and languages models and languages

Base our design on a model not on Base our design on a model not on a particular language.a particular language.

DSSSL The Next generationDSSSL The Next generation

Keep The actual featuresKeep The actual features Backward compatibilityBackward compatibility

Start the process from the actual Start the process from the actual OpenJade Community.OpenJade Community.

Make a DSSSL 2 proposal to the Make a DSSSL 2 proposal to the ISO community.ISO community.

OpenJade Next generationOpenJade Next generation

What we learnedWhat we learned We are moving from Object oriented We are moving from Object oriented

processing to data flow processingprocessing to data flow processing We transform data into different kind We transform data into different kind

of objects/different models.of objects/different models. We have to make explicit the model We have to make explicit the model

supported by a transform enginesupported by a transform engine The model should be independent of a The model should be independent of a

particular languageparticular language

What’s nextWhat’s next

Read the OpenJade News to know moreRead the OpenJade News to know more

Questions?Questions?