SlideShare ist ein Scribd-Unternehmen logo
1 von 76
Downloaden Sie, um offline zu lesen
Spezialisierung in DITA
Jang F.M. Graat !
JANG Communication - Amsterdam
Wie machen Sie es, und warum sollen Sie es machen ?
TUT2
Wer Spricht ?
✤ Jang F.M. Graat!
✤ Technische Redaktion!
✤ FM, RH, MadCap!
✤ DITA, XSLT, JS, CSS!
✤ Minimalist!
✤ Psychologe, Philosoph!
✤ Weltbürger in Amsterdam
Tom Aldous
✤ Integrated Technologies!
✤ Adobe (TechCom)!
✤ Acrolinx!
✤ 2-teiliges Webinar 

“DITA Specialization”
Eliot Kimber
✤ IBM!
✤ Innodata Isogen!
✤ RSI Content Solutions!
✤ Contrext Solutions!
✤ DITA Configuration and
Specialization Tutorials!
✤ www.xiruss.org
Spezialisierung -Was ist es ?
Spezialisierung ist Alleinstellungsmerkmal von DITA
DITA, also nicht “ITA”
Spezialisierung ≠ Evolution
Keine völlig neue Elemente oder Strukturen
topic
title
shortdesc
prolog
body
p, note, ...
ol, ul, dl, ...
fig, image, ...
table
section
example
bodydiv
related-links
topic
concept
title
shortdesc
prolog
conbody
table
section
example
conbodydiv
related-links
concept
p, note, ...
ol, ul, dl, ...
fig, image, ...
Strukturbezogen Spezialisierung
Anpassung der internen Struktur (Elemente, Reihenfolge)
Grundtyp “Zimmer”
Erforderlich: Tür, Wände, Boden, Decke. Optional: viele Elemente
Spezialisierung “Schlafzimmer”
Erforderlich: Bett. Nicht erlaubt: Küchenmöbel, Büro, Esstisch, ...
Spezialisierung “Esszimmer”
Erforderlich: Esstisch, Stüle. Nicht erlaubt: Bett, Kleiderschrank, Toilette, ...
EineTerrasse ist kein Zimmer
Erforderlich für Grundtyp “Zimmer”: Tür, Wände, Decke.
prolog
body
p
note
fig
table
section
example
bodydiv
related-links
topic
hazardstatement
messagepanel
hazardsymbol
consequence
howtoavoid
typeofhazard
Domainbezogen Spezialisierung
Alternatives Element hinzufügen
Grundtyp “Stuhl”
Jeder weiß, wofür dieses Element gedacht ist
Spezialisierung “Bürostuhl”
Hat extra Möglichkeiten, bleibt aber wesentlich ein Sitzplatz
Spezialisierung “Designstuhl”
Kosmetische Anpassungen, gleiche Funktionalität
Hart an die Grenze
Würde man normalerweise nicht als Sitzplatz akzeptieren
topic
title
shortdesc
prolog
body
p, note, ...
ol, ul, dl, ...
fig, image, ...
table
section
example
bodydiv
related-links
topic
task
title
shortdesc
prolog
taskbody
prereq
context
steps
example
postreq
related-links
task
concept reference
title
shortdesc
prolog
refbody
refbodydiv
section
example
refsyn
table
properties
refbodydiv
related-links
reference
title
shortdesc
prolog
conbody
p, note, ...
ol, ul, dl, ...
fig, image, ...
table
section
example
conbodydiv
related-links
concept
result
steps-unord.
DITATopic-Typen
Spezialisierungen von (Einschränkungen auf) Grundtyp “topic”
topic
title
shortdesc
prolog
body
p
ol
ul
table
section
example
bodydiv
related-links
topic
task
title
shortdesc
prolog
taskbody
prereq
context
steps
example
postreq
related-links
task
result
steps-unord.
machineryTask
title
shortdesc
prolog
taskbody
prelreqs
context
steps
example
closereqs
related-links
task
result
steps-unord.
Mehrstufige Spezialisierung
Mehr Einschränkungen bei jedem Schritt (nur Strukturbezogen)
Spezialisierung -Warum ?
0"
100"
200"
300"
400"
500"
600"
1.0" 1.1" 1.2"
Base"
Spec"
Anzahl der DITA-Elemente
DITA “out-of-the-box” verwenden ist Schwachsinn
145
158
170
48
140
364
HTML Elemente : Formatierung
Bezug auf der Visualisierung in Ihrem Browser
<h1>Titel</h1>!
<p>Text mit einige <i>Formatierung</i>.</p>!
<h2>Titel auf zweite Ebene</h2>!
<p>Und noch etwas <b>fette</b> Text</p>!
<ul>!
<li>• Erster Punkt</li>!
<li>• Zweiter Punkt</li>!
</ul>
XML Elemente : Semantik
Bezug auf Bedeutung der Elemente in deren Kontext
<topic>!
<title>Performing a task</title>!
<shortdesc>Just one sentence</shortdesc>!
<body>!
<p>First paragraph in this task</p>!
<section>!
<title>Subtask</title>!
<p>Another paragraph</p>!
</section>!
</body>!
</topic>
Welche Elemente brauchen Sie ?
Jede bedeutungsvolle Semantik ist nur lokal gültig
Welche Elemente brauchen Sie ?
Jede bedeutungsvolle Semantik ist nur lokal gültig
“Jeder Nachteil hat seinen Vorteil” (Johan Cruijff)
Benutzungsorientiert
Elemente ausblenden
Elemente minimieren = Eindeutigkeit maximieren
Elemente einblenden
Sicherstellen, daß bestimmte Elemente eingefügt werden
Terminologie erweitern
Elementnamen ermöglichen automatische Datenverarbeitung
Struktur festlegen
Lesbarkeit und Auffindbarkeit der Infos verbessern
Kreativität eingrenzen
Benutzer brauchen Infos, keine Romane
Spezialisierung -Wie ?
Auswahl der Zutaten
Einschränkung durch Konfiguration und “Constraints”
Konfiguration einer DTD-Shell
DITA DTDs - Modulare Aufbau
DTD Topic Type Shell definiert welche Module eingebunden werden
DTDTopicType Shell
Definiert welche DTD Module eingebunden werden
highlightDomain!
utilitiesDomain!
indexingDomain!
hazardstatementDomain
abbreviateDomain!
programmingDomain!
softwareDomain!
uiDomain!
topic.mod
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">

BaseTopicTyp
Nur unspezifische Domäne sind eingebunden
highlightDomain!
utilitiesDomain!
indexingDomain!
hazardstatementDomain
abbreviateDomain!
programmingDomain!
softwareDomain!
uiDomain!
topic.mod
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Base Topic//EN" "basetopic.dtd">

Entfernen einer Domain
Alle Referenzen müssen entfernt werden
!
<!ENTITY % hi-d-dec 

PUBLIC "-//OASIS//ENTITIES DITA 1.2 Highlight Domain//EN" 

"highlightDomain.ent"

>%hi-d-dec;

!
<!ENTITY % ph "ph | 

%hi-d-ph;

">

!
<!ENTITY included-domains 

"&hi-d-att; 

&ut-d-att; 

&hazard-d-att;">

!
<!ENTITY % hi-d-def 

PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Highlight Domain//EN" 

"highlightDomain.mod"

>%hi-d-def;



1
!
!
2
!
!
3
!
!
4
MinimalerTopicTyp
Keine Spezialisierung oder Einschränkung (“.mod” Datei) erforderlich
highlightDomain!
utilitiesDomain!
indexingDomain!
hazardstatementDomain
abbreviateDomain!
programmingDomain!
softwareDomain!
uiDomain!
topic.mod
<!DOCTYPE topic SYSTEM "minitopic.dtd">

Verfügbarkeit “PUBLIC”
Eindeutige PUBLIC ID Schlüssel - muß nicht wirklich existieren
highlightDomain!
utilitiesDomain!
indexingDomain!
hazardstatementDomain
abbreviateDomain!
programmingDomain!
softwareDomain!
uiDomain!
topic.mod
<!DOCTYPE topic PUBLIC "-//IDN ditadocs.com//DTD Mini Topic//EN" "minitopic.dtd">

Wie erzähle ich es meine OT ?
XML Katalog bildet PUBLIC IDs ab auf lokale Dateien
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE topic PUBLIC "-//IDN ditadocs.com//DTD Mini Topic//EN""
"minitopic.dtd">

<topic id="topic_vck_2nc_sn">

<title>Topic title</title>

<body>

<p>Topic paragraph</p>

</body>

</topic>



<!-- Custom DTDs defined by JANG Communication / ditadocs.com -->



<public publicId="-//IDN ditadocs.com//DTD Mini Topic//EN""
uri="minitopic.dtd" "
xml:base="plugins/com.ditadocs.minitopic/dtd/">"
</public>

Einschränkungen (“Constraints”)
Extremes Constraint-Modul
Constraints definieren Inhalts-Entitäten neu
!
<?xml version="1.0" encoding="UTF-8"?>

<!-- ======================================

Constraint Module: Paragraphs with only text.



Copyright (c) 2014 JANG Communication



====================================== -->



<!ENTITY topic-constraints "(topic TextOnlyTopic-c)" >



<!ENTITY % p.content 

" ( #PCDATA )

">"


TextOnlyTopicConstraints.mod
Nicht alles ausschließen ?
Definition der schon bekannten Entitäten wegen Verarbeitungsreihenfolge
!
<?xml version=”1.0” encoding=”UTF-8”?>"
<!-- Constraint module: highlights-only paragraphs "
Copyright (c) 2010 Eliot Kimber -->"
!
<!ENTITY topic-constraints “(topic HighlightsOnlyTopic-c)” >"
!
<!ENTITY % b "b" >

<!ENTITY % i "i" >

<!ENTITY % u "u" > 

!
<!ENTITY % p.content "(#PCDATA | 

%b; | 

%i; |

%u;)*"

>"


HighlightsOnlyTopicConstraints.mod
Constraints aktivieren
Reihenfolge der Definitionen in der DTD ist wichtig
!
<!-- DOMAINS ATTRIBUTE OVERRIDE -->"
!
<!ENTITY included-domains "&topic-constraints;" >

!
<!-- CONTENT CONSTRAINT INTEGRATION -->"
!
<!ENTITY % TextOnlyTopic-c-def 

SYSTEM "TextOnlyTopicConstraint.mod">

%TextOnlyTopic-c-def;

!
<!-- TOPIC ELEMENT INTEGRATION -->"
!
..."


TextOnlyTopic.dtd
1
!
!
2
Einschränkung der Gültigkeit
Nur an Stellen, die im Constraint-Modul neu definiert wurden
!
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE topic PUBLIC "-//IDN ditadocs.com//DTD TextOnlyTopic//EN" "
"TextOnlyTopic.dtd">

!
<topic id="topic_vck_2nc_sn">

<title>Topic title</title>

<body>

<p>Topic paragraph with <term>Invalid</term> content.</p>"
<note>The <term>Term</term> element is still valid here.</note>

</body>

</topic>



MyTestDoc.dita
DITA-taugliche Software
Automatische Erkennung der Einschränkungen und Spezialisierungen
Erlaubte Einschränkungen
Eingeschränktes Modell muß gegen allgemeines Modell validieren
!
!
!
!
x
x
x
x
x
x
x
x11
Eigenbau Elemente
Wenn die 534 Standard DITA Elemente nicht ausreichen
Spezialisierung
hazardstatement
messagepanel
hazardsymbol
consequence
howtoavoid
typeofhazard
note
ul
image
li
p, ol, dl, sl, ...
fig, table, ...
apinamekeyword
Grundprinzip
Spezialisierung geht immer von ein existierendes Element aus
Vererbung über “class”Attribut
Zeigt komplette Abstammung des Elements
@class = “- topic/body task/taskbody mytask/mytaskbody “
Elemente
DTD Module
Struktur
@class = “+ topic/p mydomain-d/mypara “
Elemente
DTD Module
Domain
Semantische Erweiterung
Ermöglicht einfache und bequeme Bereicherung der Inhalte
The basic principle in phenomenology is the episteme,
or "putting the world within brackets". Whatever we
may see in the outside world, we try to disregard. Not
by closing our eyes, but by looking at the way we look
at the world. The foreground (the world) becomes the
background and the act of looking becomes the focus of
our attention. Of course, this reflection (in an almost
literal sense) can be repeated endlessly.
philosophy-termterm
Elementdefinition
Mehrere Elemente können in einem Modul kombiniert werden
!
<!-- ELEMENT NAME ENTITIES -->



<!ENTITY % philo-term "philo-term" >



<!-- ELEMENT DECLARATIONS -->



<!ENTITY % philo-term.content " (#PCDATA)* " >

<!ENTITY % philo-term.attributes ' %univ-atts; ' >"


<!ELEMENT philo-term %philo-term.content; >

<!ATTLIST philo-term %philo-term.attributes; >



<!-- SPECIALIZATION ATTRIBUTE DECLARATIONS -->



<!ATTLIST philo-term %global-atts; "
class CDATA "+ topic/term jang-d/philo-term " >

!
JangDomain.mod
Definition der Entitäten
Werden in der spezialisierten DTD eingebunden
!
<!ENTITY % jang-d-term "philo-term" >



<!ENTITY jang-d-att "(topic jang-d)" >"


JangDomain.ent
!
<!ENTITY % jang-d-term "
"philo-concept |"
philosopher |"
school |"
dogma"
" >



<!ENTITY jang-d-att "(topic jang-d)" >"


Elementdefinition
Mehrere Elemente können in einem Modul kombiniert werden
!
<!-- DOMAIN ENTITY DECLARATIONS -->



<!ENTITY % jang-d-dec SYSTEM "jangDomain.ent" >%jang-d-dec;

!
<!-- DOMAIN EXTENSIONS -->"
!
<!ENTITY % term "term | %jang-d-term; " >"
!
<!-- DOMAINS ATTRIBUTE OVERRIDE -->



<!ENTITY included-domains 

"&hi-d-att; 

&jang-d-att;" >"
!
<!-- DOMAIN ELEMENT INTEGRATION -->



<!ENTITY % jang-d-def SYSTEM "jangDomain.mod" >%jang-d-def;



philotopic.dtd
Neues Element verfügbar
Blendet keine existierende Elemente aus
Festlegen einer Struktur
Keine Formatierungsänderungen erforderlich
recipebody
recipe concept
title
shortdesc
conbody
section
image
p
p
ul
li
ol
li
title
shortdesc
ingredient
recipeinfo
image
source
cuisine
ingredients
instructions
recipestep
Grundtypen auswählen
Ist das Mapping erlaubt ?
recipebody
recipe topic
title
shortdesc
body
section
image
p
p
ul
li
ol
li
title
shortdesc
ingredient
recipeinfo
image
source
cuisine
ingredients
instructions
recipestep
Grundtypen auswählen
Ist das Mapping erlaubt ?
recipebody
recipe task
title
shortdesc
taskbody
context
image
p
p
prereq
p
steps
step
title
shortdesc
ingredient
recipeinfo
image
source
cuisine
ingredients
instructions
recipestep
Grundtypen auswählen
Welches Mapping ist optimal für Ihre Anwendung ?
recipebody
recipe task
title
shortdesc
taskbody
context
image
p
p
prereq
ul
li
steps
step
cmd
title
shortdesc
ingredient
recipeinfo
image
source
cuisine
ingredients
recipesteps
recipestep
cmd
recipereqs
Struktur / Mapping optimieren
Ein iterativer Prozeß führt zu ein optimales Ergebnis
Testdokument erstellen
So lange es ungültig ist, ist Ihre DTD noch nicht richtig definiert
!
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE recipe SYSTEM "recipe.dtd" >



<recipe id="risotto-mushrooms">

<title>Risotto with mushrooms</title>

<shortdesc>A simple and fast Italian dish with a modern British twist."
</shortdesc>

<recipebody>

<recipeinfo>

<image></image>

<recipesrc>Jamie Oliver</recipesrc>

<recipestyle>Modern Italian</recipestyle>

</recipeinfo>

<recipereqs>

<ingredients>

<ingredient>500g risotto rice</ingredient>

<ingredient>250g cellery</ingredient>

<ingredient>3 cloves of garlic</ingredient>

risotto-mushrooms.xml
Shell DTD erstellen
Kopieren und anpassen ist eine effiziente und sichere Methode
!
<?xml version="1.0" encoding="UTF-8"?>

<!-- ============================================================= -->

<!-- HEADER -->

<!-- ============================================================= -->

<!-- MODULE: DITA Recipe DTD -->

<!-- VERSION: 1.0 -->

<!-- -->

<!-- SYSTEM: Darwin Information Typing Architecture (DITA) -->

<!-- -->

<!-- PURPOSE: DTD to describe DITA Recipes -->

<!-- -->

<!-- ORIGINAL CREATION DATE: -->

<!-- April 2014 -->

<!-- (C) Copyright JANG Communication 2014 -->

<!-- -->

<!-- ============================================================= -->"


recipe.dtd
Unbenötigte Domäne entfernen
Alle Referenzen müssen entfernt werden
!
<!ENTITY % hi-d-dec 

PUBLIC "-//OASIS//ENTITIES DITA 1.2 Highlight Domain//EN" 

"highlightDomain.ent"

>%hi-d-dec;

!
<!ENTITY % ph "ph | 

%hi-d-ph;

">

!
<!ENTITY included-domains 

"&hi-d-att; 

&ut-d-att; 

&hazard-d-att;">

!
<!ENTITY % hi-d-def 

PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Highlight Domain//EN" 

"highlightDomain.mod"

>%hi-d-def;



1
!
2
!
3
!
!
4
recipe.dtd
Einbetten vonTopics untersagen
Generell sind Tasks innerhalb einer Task erlaubt
!
<!-- ============================================================= -->

<!-- TOPIC NESTING OVERRIDE -->

<!-- ============================================================= -->



<!-- Redefine the infotype entity to exclude 

other topic types and disallow nesting -->

<!ENTITY % recipe-info-types 

"no-topic-nesting" >

!


recipe.dtd
Modul-Datei erstellen
Kopieren der "task.mod" und referenzieren in der neuen DTD
!
<!-- ============================================================= -->

<!-- TOPIC ELEMENT INTEGRATION -->

<!-- ============================================================= -->



<!-- Embed topic to get generic elements -->

<!ENTITY % topic-type PUBLIC 

"-//OASIS//ELEMENTS DITA 1.2 Topic//EN" 

"../../base/dtd/topic.mod"
>

%topic-type;



<!-- Embed recipe to get specific elements -->

<!ENTITY % recipe-typemod SYSTEM "recipe.mod"
>

%recipe-typemod;



technicalContent/dtd/task.mod recipe.mod
Entitäten definieren
Alle spezialisierten Elemente werden in der "mod" Datei definiert
!
<!-- ============================================================= -->

<!-- ELEMENT NAME ENTITIES -->

<!-- ============================================================= -->



<!ENTITY % recipe "recipe" >

<!ENTITY % recipebody "recipebody" >

<!ENTITY % recipesteps "recipesteps" >

<!ENTITY % recipestep "recipestep" >

<!ENTITY % recipereqs "recipereqs" >

<!ENTITY % recipeinfo "recipeinfo" >

<!ENTITY % recipesrc "recipesrc" >

<!ENTITY % recipestyle "recipestyle" >

<!ENTITY % ingredients "ingredients" >

<!ENTITY % ingredient "ingredient" >



recipe.mod
Elemente definieren
Inhalte und Attribute aller spezialisierten Elemente
!
<!-- ============================================================= -->

<!-- ELEMENT DECLARATIONS -->

<!-- ============================================================= -->



<!ENTITY % recipebody.content

"((%recipeinfo;), 

(%recipereqs;),

(%recipesteps;) )"

>



<!ENTITY % recipebody.attributes

"%univ-atts;"

>

<!ELEMENT recipebody %recipebody.content;>

<!ATTLIST recipebody %recipebody.attributes;>



recipe.mod
Abstammung definieren
Attribut "class" muß zeigen, welche Vorfahren jedes Element hat
<!-- ============================================================= -->

<!-- SPECIALIZATION ATTRIBUTE DECLARATIONS -->

<!-- ============================================================= -->





<!ATTLIST recipe %global-atts; class CDATA "- topic/topic task/task recipe/recipe " >

<!ATTLIST recipebody %global-atts; class CDATA "- topic/body task/taskbody recipe/recipebody " >

<!ATTLIST recipesteps %global-atts; class CDATA "- topic/ol task/steps recipe/recipesteps " >

<!ATTLIST recipestep %global-atts; class CDATA "- topic/li task/step recipe/recipestep " >

<!ATTLIST recipereqs %global-atts; class CDATA "- topic/section task/prereq recipe/recipereqs " >

<!ATTLIST recipeinfo %global-atts; class CDATA "- topic/section task/context recipe/recipeinfo " >

<!ATTLIST recipesrc %global-atts; class CDATA "- topic/p recipe/recipesrc " >

<!ATTLIST recipestyle %global-atts; class CDATA "- topic/p recipe/recipestyle " >

<!ATTLIST ingredients %global-atts; class CDATA "- topic/ul recipe/ingredients " >

<!ATTLIST ingredient %global-atts; class CDATA "- topic/li recipe/ingredient " >

recipe.mod
@class = “- module/element module/element “
Ursprung Spezialisierung
Leerzeichen am EndeStrukturell
Entitäten-Datei definieren
Entität muß die Abstammung enthalten
<?xml version="1.0" encoding="UTF-8"?>

<!-- ============================================================= -->

<!-- HEADER -->

<!-- ============================================================= -->

<!-- MODULE: DITA Recipe Entity -->

<!-- VERSION: 1.2 -->

<!-- DATE: April 2014 vvv -->

<!-- -->

<!-- ============================================================= -->



<!-- ============================================================= -->

<!-- RECIPE ENTITIES -->

<!-- ============================================================= -->



<!ENTITY recipe-att 

"(topic task recipe)"

>



<!-- ================== End Task Entities ======================== -->
recipe.ent
Entitäten-Datei referenzieren
Über SYSTEM oder per PUBLIC ID via "catalog-dita.xml"
!
<!-- TOPIC ENTITY DECLARATIONS -->



<!ENTITY % recipe-dec 

PUBLIC "-//IDN ditadocs.com//DITA Recipe//EN" 

"recipe.ent"

>%recipe-dec;"
!
<!-- DOMAINS ATTRIBUTE OVERRIDE -->



<!ENTITY included-domains 

"&task-att;"
&recipe-att;

&taskbody-constraints; 

"

>



recipe.dtd
Rezepte editieren in XML
Sicherstellen, daß alle Autoren den gleichen Struktur folgen
XSLT und XPath
Semantik ermöglicht einfaches Auffinden aller Inhalte
XSLT und XSL-FO
Semantik ermöglicht automagische Umwandlung der Inhalte
Fragen ?
www.jang.nl!
jang@jang.nl!
4everJang!
blogs.jang.nl

Weitere ähnliche Inhalte

Ähnlich wie Dita Spezialisierung - Wie machen Sie es, und warum Sie es machen sollen.

Qooxdoo 0.8 - Das Neue Gui Toolkit
Qooxdoo 0.8 - Das Neue Gui ToolkitQooxdoo 0.8 - Das Neue Gui Toolkit
Qooxdoo 0.8 - Das Neue Gui ToolkitFabian Jakobs
 
"Best Practices" in Contao
"Best Practices" in Contao"Best Practices" in Contao
"Best Practices" in ContaoPeter Müller
 
XML-basierte Dokumenterstellung in Adobe FrameMaker
XML-basierte Dokumenterstellung in Adobe FrameMakerXML-basierte Dokumenterstellung in Adobe FrameMaker
XML-basierte Dokumenterstellung in Adobe FrameMakerDigicomp Academy AG
 
Nutze die Macht @ IKT-Forum 09 Linz
Nutze die Macht @ IKT-Forum 09 LinzNutze die Macht @ IKT-Forum 09 Linz
Nutze die Macht @ IKT-Forum 09 LinzEric Eggert
 
CSS Basics and Box Model // MM 08-11
CSS Basics and Box Model // MM 08-11CSS Basics and Box Model // MM 08-11
CSS Basics and Box Model // MM 08-11Noël Bossart
 
mm_forum 2.0
mm_forum 2.0mm_forum 2.0
mm_forum 2.0mhelmich
 
TYPO3 CMS 7.5 - Die Neuerungen - pluswerk
TYPO3 CMS 7.5 - Die Neuerungen - pluswerkTYPO3 CMS 7.5 - Die Neuerungen - pluswerk
TYPO3 CMS 7.5 - Die Neuerungen - pluswerkdie.agilen GmbH
 
Digitalisierung als Dienstleistung
Digitalisierung als DienstleistungDigitalisierung als Dienstleistung
Digitalisierung als DienstleistungStefan Krause
 
I thought you were my friend!
I thought you were my friend!I thought you were my friend!
I thought you were my friend!Mario Heiderich
 
Backendlayout mit FLUID-Templates
Backendlayout mit FLUID-TemplatesBackendlayout mit FLUID-Templates
Backendlayout mit FLUID-TemplatesMarcus Schwemer
 
Lightweight AOP with CDI and JPA
Lightweight AOP with CDI and JPALightweight AOP with CDI and JPA
Lightweight AOP with CDI and JPAmh0708
 
Developing UXD - weitere Tipps, Tricks und Argumente
Developing UXD - weitere Tipps, Tricks und ArgumenteDeveloping UXD - weitere Tipps, Tricks und Argumente
Developing UXD - weitere Tipps, Tricks und ArgumenteDeveloping UXD
 
Einführung XHTML CSS JS // MM 08-11
Einführung XHTML CSS JS // MM 08-11Einführung XHTML CSS JS // MM 08-11
Einführung XHTML CSS JS // MM 08-11Noël Bossart
 
Dojo Und Notes
Dojo Und NotesDojo Und Notes
Dojo Und Notesdominion
 
Einführung XHTML CSS JS // IT 07-10
Einführung XHTML CSS JS // IT 07-10Einführung XHTML CSS JS // IT 07-10
Einführung XHTML CSS JS // IT 07-10Noël Bossart
 
Abläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisierenAbläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisierenChristian Münch
 

Ähnlich wie Dita Spezialisierung - Wie machen Sie es, und warum Sie es machen sollen. (20)

Qooxdoo 0.8 - Das Neue Gui Toolkit
Qooxdoo 0.8 - Das Neue Gui ToolkitQooxdoo 0.8 - Das Neue Gui Toolkit
Qooxdoo 0.8 - Das Neue Gui Toolkit
 
"Best Practices" in Contao
"Best Practices" in Contao"Best Practices" in Contao
"Best Practices" in Contao
 
XHTML
XHTMLXHTML
XHTML
 
XML-basierte Dokumenterstellung in Adobe FrameMaker
XML-basierte Dokumenterstellung in Adobe FrameMakerXML-basierte Dokumenterstellung in Adobe FrameMaker
XML-basierte Dokumenterstellung in Adobe FrameMaker
 
Nutze die Macht @ IKT-Forum 09 Linz
Nutze die Macht @ IKT-Forum 09 LinzNutze die Macht @ IKT-Forum 09 Linz
Nutze die Macht @ IKT-Forum 09 Linz
 
CSS Basics and Box Model // MM 08-11
CSS Basics and Box Model // MM 08-11CSS Basics and Box Model // MM 08-11
CSS Basics and Box Model // MM 08-11
 
mm_forum 2.0
mm_forum 2.0mm_forum 2.0
mm_forum 2.0
 
TYPO3 CMS 7.5 - Die Neuerungen - pluswerk
TYPO3 CMS 7.5 - Die Neuerungen - pluswerkTYPO3 CMS 7.5 - Die Neuerungen - pluswerk
TYPO3 CMS 7.5 - Die Neuerungen - pluswerk
 
Digitalisierung als Dienstleistung
Digitalisierung als DienstleistungDigitalisierung als Dienstleistung
Digitalisierung als Dienstleistung
 
I thought you were my friend!
I thought you were my friend!I thought you were my friend!
I thought you were my friend!
 
Backendlayout mit FLUID-Templates
Backendlayout mit FLUID-TemplatesBackendlayout mit FLUID-Templates
Backendlayout mit FLUID-Templates
 
Lightweight AOP with CDI and JPA
Lightweight AOP with CDI and JPALightweight AOP with CDI and JPA
Lightweight AOP with CDI and JPA
 
Developing UXD - weitere Tipps, Tricks und Argumente
Developing UXD - weitere Tipps, Tricks und ArgumenteDeveloping UXD - weitere Tipps, Tricks und Argumente
Developing UXD - weitere Tipps, Tricks und Argumente
 
Einführung XHTML CSS JS // MM 08-11
Einführung XHTML CSS JS // MM 08-11Einführung XHTML CSS JS // MM 08-11
Einführung XHTML CSS JS // MM 08-11
 
Dojo Und Notes
Dojo Und NotesDojo Und Notes
Dojo Und Notes
 
JSF vs. GWT? JSF und GWT!
JSF vs. GWT? JSF und GWT!JSF vs. GWT? JSF und GWT!
JSF vs. GWT? JSF und GWT!
 
Einführung XHTML CSS JS // IT 07-10
Einführung XHTML CSS JS // IT 07-10Einführung XHTML CSS JS // IT 07-10
Einführung XHTML CSS JS // IT 07-10
 
Abläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisierenAbläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisieren
 
CodeFluent Entities and AppSofa
CodeFluent Entities and AppSofaCodeFluent Entities and AppSofa
CodeFluent Entities and AppSofa
 
Blank Template für Joomla!
Blank Template für Joomla!Blank Template für Joomla!
Blank Template für Joomla!
 

Mehr von Jang F.M. Graat

Faster than Agile - Proposal for Lavacon 2015
Faster than Agile - Proposal for Lavacon 2015Faster than Agile - Proposal for Lavacon 2015
Faster than Agile - Proposal for Lavacon 2015Jang F.M. Graat
 
From user assistance to user guidance: Information apps
From user assistance to user guidance: Information appsFrom user assistance to user guidance: Information apps
From user assistance to user guidance: Information appsJang F.M. Graat
 
Dynamic links using (meta)data
Dynamic links using (meta)dataDynamic links using (meta)data
Dynamic links using (meta)dataJang F.M. Graat
 
Maximising the effect of progressive disclosure
Maximising the effect of progressive disclosureMaximising the effect of progressive disclosure
Maximising the effect of progressive disclosureJang F.M. Graat
 
Progressive Disclosure - Putting the User in Control
Progressive Disclosure - Putting the User in ControlProgressive Disclosure - Putting the User in Control
Progressive Disclosure - Putting the User in ControlJang F.M. Graat
 
XPath-based transformations in structured FrameMaker
XPath-based transformations in structured FrameMakerXPath-based transformations in structured FrameMaker
XPath-based transformations in structured FrameMakerJang F.M. Graat
 
Driving DITA off the Map
Driving DITA off the MapDriving DITA off the Map
Driving DITA off the MapJang F.M. Graat
 
Rethinking Version Control for Agile Content
Rethinking Version Control for Agile ContentRethinking Version Control for Agile Content
Rethinking Version Control for Agile ContentJang F.M. Graat
 
Advanced techniques for conversion to structured FrameMaker
Advanced techniques for conversion to structured FrameMakerAdvanced techniques for conversion to structured FrameMaker
Advanced techniques for conversion to structured FrameMakerJang F.M. Graat
 
Create your own $35 CMS in Structured FrameMaker
Create your own $35 CMS in Structured FrameMakerCreate your own $35 CMS in Structured FrameMaker
Create your own $35 CMS in Structured FrameMakerJang F.M. Graat
 
Nur der Nutzer weiss, was der Nutzer noch nicht weiss - Progressive Disclosure
Nur der Nutzer weiss, was der Nutzer noch nicht weiss - Progressive DisclosureNur der Nutzer weiss, was der Nutzer noch nicht weiss - Progressive Disclosure
Nur der Nutzer weiss, was der Nutzer noch nicht weiss - Progressive DisclosureJang F.M. Graat
 
Changing the engine without stopping the rickshaw
Changing the engine without stopping the rickshawChanging the engine without stopping the rickshaw
Changing the engine without stopping the rickshawJang F.M. Graat
 
How I killed the webmaster - and got away with it
How I killed the webmaster - and got away with itHow I killed the webmaster - and got away with it
How I killed the webmaster - and got away with itJang F.M. Graat
 
How to become a trainer - and make lots of $$$
How to become a trainer - and make lots of $$$How to become a trainer - and make lots of $$$
How to become a trainer - and make lots of $$$Jang F.M. Graat
 
Getting your hands dirty - How tech authors may be able to survive in the mac...
Getting your hands dirty - How tech authors may be able to survive in the mac...Getting your hands dirty - How tech authors may be able to survive in the mac...
Getting your hands dirty - How tech authors may be able to survive in the mac...Jang F.M. Graat
 
CADD: What can DITA learn from CAD?
CADD: What can DITA learn from CAD?CADD: What can DITA learn from CAD?
CADD: What can DITA learn from CAD?Jang F.M. Graat
 

Mehr von Jang F.M. Graat (20)

XSLT for Authors
XSLT for AuthorsXSLT for Authors
XSLT for Authors
 
Faster than Agile - Proposal for Lavacon 2015
Faster than Agile - Proposal for Lavacon 2015Faster than Agile - Proposal for Lavacon 2015
Faster than Agile - Proposal for Lavacon 2015
 
Out of-control
Out of-controlOut of-control
Out of-control
 
Flowcharting DITA
Flowcharting DITAFlowcharting DITA
Flowcharting DITA
 
From user assistance to user guidance: Information apps
From user assistance to user guidance: Information appsFrom user assistance to user guidance: Information apps
From user assistance to user guidance: Information apps
 
Minimalism to the MAX
Minimalism to the MAXMinimalism to the MAX
Minimalism to the MAX
 
Dynamic links using (meta)data
Dynamic links using (meta)dataDynamic links using (meta)data
Dynamic links using (meta)data
 
Maximising the effect of progressive disclosure
Maximising the effect of progressive disclosureMaximising the effect of progressive disclosure
Maximising the effect of progressive disclosure
 
Progressive Disclosure - Putting the User in Control
Progressive Disclosure - Putting the User in ControlProgressive Disclosure - Putting the User in Control
Progressive Disclosure - Putting the User in Control
 
XPath-based transformations in structured FrameMaker
XPath-based transformations in structured FrameMakerXPath-based transformations in structured FrameMaker
XPath-based transformations in structured FrameMaker
 
Driving DITA off the Map
Driving DITA off the MapDriving DITA off the Map
Driving DITA off the Map
 
Rethinking Version Control for Agile Content
Rethinking Version Control for Agile ContentRethinking Version Control for Agile Content
Rethinking Version Control for Agile Content
 
Advanced techniques for conversion to structured FrameMaker
Advanced techniques for conversion to structured FrameMakerAdvanced techniques for conversion to structured FrameMaker
Advanced techniques for conversion to structured FrameMaker
 
Create your own $35 CMS in Structured FrameMaker
Create your own $35 CMS in Structured FrameMakerCreate your own $35 CMS in Structured FrameMaker
Create your own $35 CMS in Structured FrameMaker
 
Nur der Nutzer weiss, was der Nutzer noch nicht weiss - Progressive Disclosure
Nur der Nutzer weiss, was der Nutzer noch nicht weiss - Progressive DisclosureNur der Nutzer weiss, was der Nutzer noch nicht weiss - Progressive Disclosure
Nur der Nutzer weiss, was der Nutzer noch nicht weiss - Progressive Disclosure
 
Changing the engine without stopping the rickshaw
Changing the engine without stopping the rickshawChanging the engine without stopping the rickshaw
Changing the engine without stopping the rickshaw
 
How I killed the webmaster - and got away with it
How I killed the webmaster - and got away with itHow I killed the webmaster - and got away with it
How I killed the webmaster - and got away with it
 
How to become a trainer - and make lots of $$$
How to become a trainer - and make lots of $$$How to become a trainer - and make lots of $$$
How to become a trainer - and make lots of $$$
 
Getting your hands dirty - How tech authors may be able to survive in the mac...
Getting your hands dirty - How tech authors may be able to survive in the mac...Getting your hands dirty - How tech authors may be able to survive in the mac...
Getting your hands dirty - How tech authors may be able to survive in the mac...
 
CADD: What can DITA learn from CAD?
CADD: What can DITA learn from CAD?CADD: What can DITA learn from CAD?
CADD: What can DITA learn from CAD?
 

Dita Spezialisierung - Wie machen Sie es, und warum Sie es machen sollen.