View
122
Download
3
Category
Tags:
Preview:
Citation preview
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 ?
Recommended