230 likes | 325 Views
www.oasis-open.org. A Document Standards Interoperability Framework for DocBook, DITA, ODF and More!. Scott Hudson. Fraternal Twins?. Optimized for book-oriented deliverables Widely supported Well-documented Large user community Designed for multiple outputs.
E N D
www.oasis-open.org A Document Standards Interoperability Framework for DocBook, DITA, ODF and More! Scott Hudson
Fraternal Twins? • Optimized for book-oriented deliverables • Widely supported • Well-documented • Large user community • Designed for multiple outputs • Designed for topic-based authoring and re-use • Designed for interoperability • Highly flexible specialization • Designed for multiple outputs Both designed for technical documentation!
In Search of the Holy Grail • Content Sharing, Reuse and Re-Purposing has always been the “Holy Grail” of Publishing
Interoperability is Needed! • Sharing information between trading partners or OEMs who use different standards • Sharing information between areas in the same organization that have implemented different standards • Sharing content between “non-XML” users and XML Content developers (Knowledge Transfer) • Transitional strategy as an organization moves between content standards, but has existing applications that share data • Compatibility with tools that are optimized for a different standard • Syndication! • Leverage, Repurpose content from many sources
Today’s Reality • Old and New Forms of Collaboration • OEMs and Partners • Intra-Organizational • Mergers/Acquisitions • Syndication • Multiple XML Document Standards • DocBook • DITA • TEI • ODF • Microsoft Office Open XML • How do I reconcile/leverage/reuse content from disparate standards?
Interoperability: Current State • Because DocBook, DITA and other standards will co-exist, these standards need to be interoperable, but they’re not… Yet. • A common set of element definitions and models as a base for each standard will require much more collaboration between standards. • Both standards contain methods to extend their respective standard: • Specializations in DITA • Customization layers in DocBook
Strategies for Interoperability • Content Interoperability • “Shoehorning” • Processing Interoperability • “Uni-directional” • Roundtrip Interoperability • “Bi-Directional”
Version Chaos DITA DocBook 5.0 1.1 4.5 4.4 4.3 4.2 1.0 S1.1 S1.0
“What a Tangled Web we Weave” DITA ODF DocBook 1.0 5.0 1.1 4.5 4.4 4.3 4.2 1.0 S1.1 More? S1.0
Version Control DITA ODF DocBook 1.0 5.0 1.1 4.5 4.4 InteropFramework 4.3 4.2 1.0 S1.1 More? S1.0
Why Include ODF? • People already use it • Proof point for providing interoperability to other standards • Microsoft OpenXML • LegalXML • TEI • ? • Potential use of ODF as a surrogate authoring application that doesn’t know about DocBook or DITA!
Choosing an Interoperability Framework Standard • Not another new grammar! Please?!? • Hard to keep up with existing standards • Re-Use/Re-purpose an existing standard • Leverage existing tools, technology • Shorter learning curve, faster adoption rate • What DITA, DocBook, ODF (and others) have in common? • Designed for producing Content! • Common Structural Components • Headings (Sections) • Paragraphs • Lists • Tables • Images • etc.
What’s Behind the Interoperability Framework? • XHTML Microformats • http://microformats.org/about/ • “Semantic HTML” • Humans first, machines second • Provides basic structural abstractions common to “content-based” XML standards (DocBook, DITA, ODF, etc.) • All of these standards have HTML renditions anyway • Transitional XHTML 1.0 • Well-formed XML with a DTD using HTML markup
Implementing Microformats • Use XHTML elements for “common” structures • table, p, ul, ol, img, code, pre, abbr, acronym • Use “generic” structural elements as abstraction layer • div, span • Use “title” attribute to store original element name • Use “class” attribute to specify “semantic category” • Preserve additional semantic data • Use <object> tag • Valid virtually anywhere • Attributes as <param> elements • Enable introspection <div title=“note” class=“admonitionblock”> <object class=“element-definition”> <param name=“type” value=“important”/> <param name=“audience” value=“dev advanced”/> </object> ... </div> • Use namespaced attribute/value pairs <div title=“note” class=“admonitionblock” dtattr:type=“important” dtattr:audience=“dev advanced”>
Preserving Source Mappings • The Goal: Preserve Source Semantics In the Interchange • DITA - outputclass is the appropriate mapping extension to preserve semantics • DocBook - remap attribute designed for preserving source transforms • DocStandards Interoperability Framework – utilizes a combination of title attribute and an object child or namespaced attributes to store source metadata • <head> element contains metadata (origin format, Interop declarations) • <body> element contains content payload
DITA Element title steps step substeps p ul ol note type=“note” note type=“caution” note type=“warning” b u i DocBook Element title procedure step substeps para itemizedlist orderedlist note caution warning emphasis role=“bold” emphasis role=“underline” emphasis role=“italic” Mapping the Standards • To develop the interoperability framework, a mapping of content elements between the standards will be needed: DocStandards Interoperability Framework Elements Other Doc Standards (ODF, etc.)
Mapping Rules • Not all elements have a 1:1 mapping • Some markup will be implied to andfrom framework: Interoperability Framework (XHTML) <img src=“foo.png”/> DocBook <mediaobject> <imageobject> <imagedata href=“foo.png”/> </imageobject></mediaobject> DITA <image href=“foo.png”/>
DITA Roundtrip Example <concept> Interoperability Framework <div title=“concept” class=“topicblock”> <object class=“element-definition”/> DocBook <section remap=“concept”> Interoperability Framework <div title=“section” class=“topicblock”> <object class=“element-definition”> <param name=“remap” value=“concept”> </object> </div> DITA <topic outputclass=“section”> OR <concept outputclass=“section”>
What Can You Do With the Framework? • Enable interoperability between two or more standards • Enable interoperability between different versions of each applied standard • “Unlock” content in proprietary formats for initial migration to XML Document Standards • Apply the 80/20 rule to semantic accuracy
Proposed OASIS TC • Flatirons has proposed an OASIS Technical Committee to continue evolving the Interoperability Framework • docstandards-interop-discuss@lists.oasis-open.org • Standards members include: • Michael Priestley (DITA) • Scott Hudson (DocBook, DITA) • Don Harbison (ODF) • Jim Earley (DocBook, DITA)
Proposed OASIS TC charter • The Doc Standards Interoperability TC is intended to address: • the development and documentation of scenarios for cross-standard content sharing; • a specification for an interoperability framework, including mappings from participating standard formats to the framework; • and requirements on participating standards to improve interoperability.
A Call to Arms • We need your: • Awareness • Support • Participation! • For more information: • Email thoughtleader@flatironssolutions.com to subscribe to our whitepaper mailing list • Download our whitepaper at flatironssolutions.com • docstandards-interop-discuss@lists.oasis-open.org