Specialization in DITA. Erik Hennum, Michael Priestley, Dave A. Schell IBM

Similar documents
Developing XML-based User Assistance at IBM and Lotus

DTD: Coding requirements for constraint modules... 3

User modeling in an information architecture with DITA

DITA Specification draft

DocBook vs DITA. Radu

DITA Release 1.1 Architectural Specification

DTP Help-Helper for Dynamic Context-Sensitive Help

DITA Release 1.1 Architectural Specification

Teiid Designer User Guide 7.5.0

SEMANTIC WEB DATA MANAGEMENT. from Web 1.0 to Web 3.0

Achitectural specification: Base

The XML Metalanguage

XML: Extensible Markup Language

Using OASIS DITA learning maps to model learning pathways through US K-12 education standards

XML APIs Testing Using Advance Data Driven Techniques (ADDT) Shakil Ahmad August 15, 2003

CSI 3140 WWW Structures, Techniques and Standards. Representing Web Data: XML

Automated Classification. Lars Marius Garshol Topic Maps

The Xlint Project * 1 Motivation. 2 XML Parsing Techniques

2009 Martin v. Löwis. Data-centric XML. XML Syntax

Chapter 7: XML Namespaces

2 workshops in 1 DITA + Adobe FrameMaker Customising DITA

Teiid Designer User Guide 7.7.0

BNF4OOo. An Application Using Writer as a GUI for Creating and Maintaining [e]bnfs. Rony G. Flatscher, WU Wien

Data Presentation and Markup Languages

M359 Block5 - Lecture12 Eng/ Waleed Omar

Adobe. Using DITA XML for Instructional Documentation. Andrew Thomas 08/10/ Adobe Systems Incorporated. All Rights Reserved.

DITA Training Handbook

Implementing a common information architecture using DITA

XML. Objectives. Duration. Audience. Pre-Requisites

A Guide to CMS Functions

> Semantic Web Use Cases and Case Studies

Xml Schema Attribute Definition Language (xsd) 1.1 Part 1

Extending Blaise Capabilities in Complex Data Collections

SDPL : XML Basics 2. SDPL : XML Basics 1. SDPL : XML Basics 4. SDPL : XML Basics 3. SDPL : XML Basics 5

XML for Java Developers G Session 2 - Sub-Topic 1 Beginning XML. Dr. Jean-Claude Franchitti

Semantic Analysis. Outline. The role of semantic analysis in a compiler. Scope. Types. Where we are. The Compiler so far

Paragraph-level comments

Expressing Internationalization and Localization information in XML

mapping IFC versions R.W. Amor & C.W. Ge Department of Computer Science, University of Auckland, Auckland, New Zealand

Quark XML Author June 2017 Update for Platform with DITA

Structured documents

XML: Introduction. !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... Directive... 9:11

DITA 1.3 Feature Article Documenting Troubleshooting Information. An OASIS DITA Adoption Technical Committee Publication

Raising the Level of Development: Models, Architectures, Programs

Tutorial 2: Validating Documents with DTDs

Creating Interactive Procedures and Training Courses

XML Metadata Standards and Topic Maps

Introduction to XML. XML: basic elements

DITA for Enterprise Business Documents Sub-committee Proposal Background Why an Enterprise Business Documents Sub committee

Information Technology Document Schema Definition Languages (DSDL) Part 1: Overview

Adding formal semantics to the Web

SATURN Update. DAML PI Meeting Dr. A. Joseph Rockmore 25 May 2004

A Web Service-Based System for Sharing Distributed XML Data Using Customizable Schema

Drools Tools Reference Guide. Version: CR1

Some more XML applications and XML-related standards (XLink, XPointer, XForms)

Chapter 13 XML: Extensible Markup Language

Altova XMLSpy 2007 Tutorial

Comparison of XML schema for narrative documents

XML 2 APPLICATION. Chapter SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC.

TMForum Frameworx 14.5 Support In IBM System Architect

25Live Custom Report Integration

Chapter 3. Architecture and Design

DITA for managers. what is the hype really about? Jang F.M. Graat. JANG Communication Amsterdam - Netherlands

Quark XML Author for FileNet 2.5 with BusDocs Guide

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

How HP is implementing an Omnichannel support experience

The role of semantic analysis in a compiler

DITAworks Guide for Authors

OASIS DITA Language Specification Committee Draft 01

XMLInput Application Guide

Interactive XML Visualization - using XSLT 2.0 on the Browser. Phil Fearon - Saxonica

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG

WA1278 Introduction to Java Using Eclipse

Introduction Syntax and Usage XML Databases Java Tutorial XML. November 5, 2008 XML

Chapter 2. Architecture of a Search Engine

Chapter 1: Getting Started. You will learn:

XML. XML Syntax. An example of XML:

Dockit Migrator. Release Notes

DITA 1.3 Feature Article: Using DITA 1.3 Troubleshooting

EMC Documentum Composer

PRISMTECH. RESTful DDS. Expanding the reach of the information backbone. Powering Netcentricity

W3C XML XML Overview

ApacheCon NA How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum

Generating SVG syntax diagrams with plugins for all output formats

Semantic Analysis. Outline. The role of semantic analysis in a compiler. Scope. Types. Where we are. The Compiler Front-End

Soar IDE. Keith Knudsen, Mike Quist, Dave Ray & Bob Wray May 24, 2007

The RASTA Framework. Joel Becker October 3, 2001

Eloqua Insight Intro Analyzer User Guide

Getting Started with Xilinx WebPack 13.1

Altova XMLSpy 2013 Tutorial

XML, Metadata and More!

Chapter 6 Introduction to Defining Classes

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

Quark XML Author September 2016 Update for Platform with Business Documents

Inheritance and Polymorphism

Web Standards Mastering HTML5, CSS3, and XML

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Quark XML Author 2015 October Update with Business Documents

JENA: A Java API for Ontology Management

(Geo)DCAT-AP Status, Usage, Implementation Guidelines, Extensions

Transcription:

Specialization in DITA Erik Hennum, Michael Priestley, Dave A. Schell IBM

Introduction to DITA IBM's XML architecture for topic - oriented information Mostly Business as Usual - some important exceptions Features specialization From a base "topic" we provide "task, reference, and concept" We also allow others to create specializations Features vocabulary domains From a generic topic we provide "highlighting, software, programming, and GUI" vocabularies that are common Various reuse mechanisms: content, design, code Base modules, DTDs, transforms available at developerworks

Extensibility Specialization Information types Domains Code Customization of code Integration of design

Specialization Making semantic distinctions Adding to a hierarchy of distinctions Mapping new, more specific elements to existing, more abstract elements Reusing existing elements whenever possible Markup separated into modules based on information types and domains

As part of a hierarchy Base topic: Core types: Next gen: Next gen:

Specializing information types Define kinds of topics (concept, task, reference, etc.) Start from the top (the container for the whole topic) and work down Have to specialize containers to allow in new markup Can work all the way down to individual keywords or phrases

Specializing task from topic topic title prolog metadata relgroup body task title prolog metadata relgroup taskbody prereq context steps result xmp postreq step cmd, (info substeps tutorialinfo taskxmp choices)*, stepresult?

As part of a hierarchy topic concept task reference wiztask

Using information types Create a shell DTD Embed the modules for each information type, and its ancestors, starting at the top of the hierarchy Redefine entities to determine which information type can nest with which Allow one topic per file for simplest reuse EG: for wiztasks, would embed topic.mod, task.mod, wiztask.mod

Specializing domains Define a category of related elements Part of a domain (common subject area) Found across information types For example, programming domain (APIs, syntax diagrams); UI domain (wintitle, uicontrol) Can still define complex structures (like syntaxdiagram) But can start from any level in a topic

As part of a hierarchy Wizard wiztitle Programming apiname GUI wintitle Topic keyword

Using domains with information types Create a shell DTD Include declarations for domain entities Override definitions for content models Override definitions for domains attributes Include modules for information types Include modules for domains

Specializing code Only necessary when existing general rules insufficient For example, task steps get formatted as an ordered list with no step-specific code But, for example, might want to add "fastpath" icon when outputting wiztitles, vs. wintitles Create as modules, parallel to information types and domains Pull together with a shell transform that imports modules, starting with general and proceeding to specific

When code meets content Code and design are separate but parallel hierarchies If your processes encounter unknown information types or domains, they get processed as instances of the closest known ancestor type If your processes are specialized for your content but another group sends you more general content, it gets processed according to the general rules Sum: when the two hierarchies interact, they find their lowest common denominator

Specialization hierarchies: principled reuse domains software programming UI software UI topic task: skeleton DTD task: skeleton XSLT topic concept task reference task reference info types

Specialization hierarchies: extensible reuse wizards software programming UI software UI topic wiztask: skeleton DTD wiztask: skeleton XSLT topic concept task reference task reference wiztask wiztask

Customization Adding new output rules without accompanying design distinctions (not parallel to a design hierarchy) Lets different groups get customized output from common content Insulates content from locally-driven design initiatives Incorporate customization modules using a shell transform that imports it after specialization code modules

Integration Select subset of available designs From full spectrum of types and domains, select the information types and domains you need For example, exclude highlighting if other domains are sufficient When others add to the hierarchies, you only get the additions you choose to integrate Again, using a shell DTD

Summary: Specialization Artifacts Specialized DTD module Shell DTD (Specialized XSLT module) (Shell XSLT) Costs/Benefits Small cost New design elements (New code) Migration/interchange supported by architecture (generalization transform) Reuse of most existing design and all or most code

Summary: Customization Artifacts Customized XSLT module Shell XSLT Costs/Benefits Less cost No new design elements Some new code No migration/interchange issues Reuse of all existing design and most code

Summary: Integration Artifacts Shell DTD Costs/Benefits Close-to-zero cost No new design elements No new code No migration/interchange issues Reuse of all existing design and code

Compare: New design from scratch Artifacts Complete DTD Complete XSLT Any migration/interchange transforms when required Costs/Benefits High cost New design elements New code Migration/interchange supported by single-purpose transforms; no built-in mappings (transform may be complex, may require cleanup before and after) No reuse of design or code

Next Get the DTDs and transforms: www.ibm.com/developerworks/xml/library/x-dita1/xdita10.zip Discuss them, ask questions, make suggestions: news.software.ibm.com/ibm.software.developerworks.xml.dita