S1000D / DITA bridge – Public demo – 15/06/2015

29
XSLT S1000D / DITA bridge – Public demo – 15/06/2015 S1000D-DITA bridge over troubled water

Transcript of S1000D / DITA bridge – Public demo – 15/06/2015

XSLT

S1000D / DITA bridge – Public demo – 15/06/2015

S1000D-DITA bridge over troubled water

2 / 2 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Introduction

► Started in 2011, with the goal of making S1000D and DITA

interoperable

► Monthly remote meetings

Reports available on the GIFAS Website

► Technical studies and proof-of-concepts

25 proof-of-concepts available already

POC #6 shows valid S1000D publication and DITA maps mixing topics and DMs

POC #19 shows restrictions on a <p> element

POC #20 shows incorporation of new vocabularies with namespaces

Available on the GIFAS website

Proposed models are public domain, NO Intellectual Property

► Style sheets (XSLT) working group

► Join us on Linkedin!

3 / 3 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Introduction

Eric Pageron (Thales) head of XSLT sub working group

Nathalie Szmulewicz (Thales)

Hervé Chapotin (Thales)

David Blandineau (Alstom Transport)

S S

S

S

The group was initially a task team of S1000D+ France.

Jean-Jacques Thomasson (Euriware)

Michel Doméon (Dassault-Aviation)

Philippe Zingoni (Antéa)

S N

N

Jean-Luc Borie (Componize)

Mohamed Zergaoui (W3C, XML Prague)

Alberto Franzetti (Antea)

S N D

4 / 4 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Introduction

Canada

Nicolas Dupuy (PTC)

Normand Montour (CGI)

The Netherlands

David A. Reid (Thales NL)

S S D

S D

5 / 5 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Agenda

Presentation of the transformation of a S1000D/DITA mixed document with

XSLT

1. Brief reminder of the capabilities of the bridge

2. Objectives of the first POC of the XSLT working group for the bridge

3. Presentation of the « small » bridge between S1000D and DITA for this

demo

4. Organization of the files

5. Presentation of the XSLT files

6. Presentation of the XML documents

7. Presentation of the HTML output

6 / 6 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Modules in topics

Modules embedded in topics

p. 6

7 / 7 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Topics with S1000D headers

S1000D header on top of topics

in order to manage topics in a

CSDB

p. 7

8 / 8 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Ability to simply include/remove particular blocs of elements or attributes

Hotspot arising errors

because the corresponding

domain is not activated

9 / 9 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Ability to simply include/remove particular blocs of elements or attributes

<hotspot> domain is not

“activated”

10 / 10 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Ability to simply include/remove particular blocs of elements or attributes

When hospot domain is

activated…

11 / 11 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Ability to simply include/remove particular blocs of elements or attributes

<Hotspot> elements arise no

more error

12 / 12 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Ability to use business specific vocabularies

xTEDS XML Electronic Transducer Data Sheet

A bloc of data conforming to xETDS

std : Electronic Transducers Data

Sheet

13 / 13 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

xTEDS XML Electronic Transducer Data Sheet

Or could also be a <KML> vocabulary

for positioning some info on a map

(GIS)

Ability to use business specific vocabularies

14 / 14 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Objectives

Using the schemas organization made for POC#25,

develop one set of XSLT stylesheets to transform one

DITA task, one S1000D descript module and one

S1000D/DITA document into HTML

15 / 15 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Bridge between schemas

ComplexTypes

(CT) ComplexElements(

CE)

Other block

Bridge made between the descript and the task :

For the demo, we introduce

the <taskbody> of DITA into

the <levelledPara> of the

S1000D descript data module

The rule :

CT includes CE

16 / 16 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Organization of the XSLT files (1/2)

Physical organization of the stylesheets (sample)

ONE XSLT for DITA task

ONE XSLT for descript

S1000D data module

17 / 17 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Organization of the XSLT files (2/2)

In addition to these 2 main files, we have :

• One common.xsl file used to gathered common

transformations among document types (not used for

this POC but may be use for additionnal

transformations)

• One default.css file used to control the look’n’feel of the

HTML output of the transformation. Not used for other

types of transformation (XSL-FO for example)

Both files are placed in the folder « others » of the

schemas directories.

18 / 18 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Presentation of the XSLT files (1/2)

Rule #2 : « Selects » used inside templates for testing of peeking

values inside the documents shall never use absolute Xpath

expressions.

XSLT for DITA TASK

19 / 19 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Presentation of the XSLT files (2/3)

XSLT for S1000D DESCRIPT DATA MODULE

Rule #1 : When stylesheets are to be used on connected schemas,

bridges’ points inside schemas must follow the logic of the structure

of the stylesheet output.

As the descript schema

integrates the DITA

<taskbody> into the S1000D

<levelledPara>, the

stylesheet for descript shall do the same

20 / 20 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Presentation of the XSLT files (3/3)

XSLT for S1000D DESCRIPT DATA MODULE

Rule #3 : Always use xsl:import to connect stylesheets. Invoke the

command <xsl:apply-imports/> to invoke imported templates.

21 / 21 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Organization of the document files

For this demo, 3 XML documents are prepared :

One DITA document named

demo.dita

One S1000D descript data module named

DMC-DEMODITA-A-00-00-00-01001-028A-C

One S1000D/DITA mixed data module named

DMC-DEMODITA-A-00-00-00-01001-028B-C

22 / 22 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

The DITA document

We write a task according to our modified schema

The task refers to the XSLT file for testing purpose with IE

(Internet Explorer can transform automatically XML

documents into HTML using XSLT)

23 / 23 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

The S1000D document

We write a description according to our modified schema

The DM refers to the XSLT file for testing purpose with IE

(Internet Explorer can transform automatically XML

documents into HTML using XSLT)

24 / 24 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

The S1000D/DITA document

We write a description with a taskbody inside a levelledPara

25 / 25 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

HTML Output for DITA task

26 / 26 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

HTML Output for S1000D data module

27 / 27 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

HTML Output for S1000D/DITA data module

The DITA part appears in the S1000D document. The

transformation is performed by the same stylesheet for DITA task without any modification. Same HTML output.

28 / 28 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Next steps

Use the S1000D Bike example from version 4.0.1 of the

specification

Use « real » DITA files with correct names

Avoid mixing S1000D and DITA sub-elements like para and

topics but develop real business cases

Implement a naming convention for DITA and S1000D

XSLT files

29 / 29 /

Public Presentation – June, 15th 2015 S1000D-DITA bridge over troubled water

Q&A

Thank you

Any questions ?