The document provides an introduction to XML for non-technical audiences. It defines XML as a markup language that structures and stores information in a human- and machine-readable format. The document explores basic XML code examples and discusses how XML can benefit documentation by enabling structured writing, tool independence, and separation of content and format. It also notes that XML forms the basis of file formats for Microsoft Office applications.
1. Getting to know a bit about XML without
having to dive into all the tech talk
Bernard Aschwanden
www.publishingsmarter.com
for a print version, please email
bernard@publishingsmarter.com
XML for Humans: Non-geek
Discussion of a Geek-chic Topic
17:52
1
@publishsmarter
2. About this session
17:52@publishsmarter
2
Intro to the basics
Define what XML is
How it is used
Why it benefits people who write and edit
Learn how clear and concise content can be created
(and managed) in an XML workflow
Know the difference between an XML editor and an
editor (or writer, or whomever) who knows XML
Speak about XML with confidence
3. Rule 1: Know your audience
17:52@publishsmarter
3
Here because nothing else on the agenda looked
good?
Here because the topic is something you
Have a basic interest in?
Have a lot of interest in?
Love more than almost anything else on earth?
Already generally familiar with this topic?
Comfortable with HTML (even <img scr=“logo.gif” />)
4. Housekeeping and note taking
17:52@publishsmarter
4
Not all slides or topics are
equally weighted
Use some, discard others
Slides speed varies
(reference)
Questions? Ask along the
way!
I’d love to claim errors/typos
is on purpose… they isn’t,
ain’t, and weren’t never;
however, I’ll fix ‘em as I
can…
5. About your speaker
17:52@publishsmarter
5
Publishing Smarter:
President
Content strategist,
publishing technologies
expert, author, and geek-
enough
Certified Technical Trainer
DITA
Content management
Topic-based writing
Society for Technical
Communications
Vice President
STC Associate Fellow
6. Services
17:52@publishsmarter
6
We help clients:
Create great content
Manage content as an asset
Deliver content the right way
Socialize the message
Listen to the consumer
Improve experiences by
helping
Create great content
Manage content as an asset
Deliver content the right way
…
By helping clients:
7. Standard disclaimer
17:52@publishsmarter
7
In the interest of brevity I
will make some blanket
statements to keep it
simple
It’s not all 100% “the
truth”, but I’ll stay close
Purists may complain
And they are wrong!
(except when they are
right)
8. I will attempt this in under 150 slides
@publishsmarter 17:52
8
Problems with content creators
9. Slide 1/149... They like to create content
17:52@publishsmarter
9
They create a lot, often without following style guides
They like to create as they see fit
They create in any order
They create based on all that they know
They may truly believe that template styles are for
show
They format on the fly
They don’t use the right formats
They DO manually apply formats and ignore styles
10. Documentation issues (where XML may help)
17:52@publishsmarter
10
Documentation costs money
Researching and reviewing content
Software tools and training
Development of multiple outputs
Customizing materials for clients/partners
Translation of content
XML can save money AND generate revenue
There is upfront time/effort/cost/etc.
ROI has been proven
Let’s go explore XML
12. Defining XML
17:52@publishsmarter
12
Wikipedia: Extensible Markup Language (XML) is a
markup language that defines a set of rules for
encoding documents in a format that is both human-
readable and machine-readable
Oracle: XML is a text-based markup language that is
fast becoming the standard for data interchange on
the web
w3schools: XML does not do anything; it was
created to structure, store, and transport information
13. The purpose of XML for documentation
17:52@publishsmarter
13
Allows for structured writing
Provides software tool independence
Separates format and content
With a standard like DITA, it goes even further
(another full presentation, but I will touch on this...)
14. XML supports structured writing
17:52@publishsmarter
14
Structure implies a set
of defined rules (law,
math, engineering,
grammar)
Writing implies the
creation of content
Structured content
consistently follows the
rules
A good foundation
results in a happy home
15. Improve quality, reduce costs, increase profit
17:52@publishsmarter
15
Long term benefits offset short term costs
Docs can be created, modified, versioned, stored,
published, translated, customized, distributed, etc.
easily
Content can be programmatically modified or
assembled
Some tasks can be automated
Heck, you may already by ‘structured’ but not in XML
Or you may be using XML, and not even know it yet
17. What does it look like?
17:52@publishsmarter
17
Looks a lot like HTML (or it can)
<p>This sample <i>ain’t</i> perfect; just basic ideas.</p>
It’s a <p>aragraph, and has some <i>talic content in it.
The </i>talic content ends, then the </p>aragraph ends.
<img src=“logo.gif” height=“100” width=“50” />
Let’s dissect an element
Part Function
img Name of the element
src Name of an attribute
logo.gif Value of the attribute
18. What does it look like?
17:52@publishsmarter
18
Looks a lot like HTML (or it can)
<p>This sample <i>ain’t</i> perfect; just basic ideas.</p>
It’s a <p>aragraph, and has some <i>talic content in it.
The </i>talic content ends, then the </p>aragraph ends.
<img src=“logo.gif” height=“100” width=“50” />
Let’s dissect an element
Part Function
img Name of the element
src Name of an attribute
logo.gif Value of the attribute
19. What does it look like?
17:52@publishsmarter
19
Looks a lot like HTML (or it can)
<p>This sample <i>ain’t</i> perfect; just basic ideas.</p>
It’s a <p>aragraph, and has some <i>talic content in it.
The </i>talic content ends, then the </p>aragraph ends.
<img src=“logo.gif” height=“100” width=“50” />
Let’s dissect an element
Part Function
img Name of the element
src Name of an attribute
logo.gif Value of the attribute
20. What does it look like?
17:52@publishsmarter
20
Looks a lot like HTML (or it can)
<p>This sample <i>ain’t</i> perfect; just basic ideas.</p>
It’s a <p>aragraph, and has some <i>talic content in it.
The </i>talic content ends, then the </p>aragraph ends.
<img src=“logo.gif” height=“100” width=“50” />
Let’s dissect an element
Part Function
img Name of the element
src Name of an attribute
logo.gif Value of the attribute
21. What does it look like?
17:52@publishsmarter
21
Looks a lot like HTML (or it can)
<p>This sample <i>ain’t</i> perfect; just basic ideas.</p>
It’s a <p>aragraph, and has some <i>talic content in it.
The </i>talic content ends, then the </p>aragraph ends.
<img src=“logo.gif” height=“100” width=“50” />
Let’s dissect an element
Part Function
img Name of the element
src Name of an attribute
logo.gif Value of the attribute
23. It can look a lot more complex though
17:52@publishsmarter
23
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<p:sld xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"><p:c
Sld>
<p:spTree>
<p:nvGrpSpPr>
<p:cNvPr id="1" name=""/>
<p:cNvGrpSpPr/>
<p:nvPr/>
</p:nvGrpSpPr>
<p:sp>
<p:nvSpPr>
<p:cNvPr id="2" name="Title 1"/>
<p:cNvSpPr>
<a:spLocks noGrp="1"/>
</p:cNvSpPr>
<p:nvPr>
<p:ph type="title"/>
</p:nvPr>
</p:nvSpPr>
<p:spPr/>
<p:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:r>
<a:rPr lang="en-CA" smtClean="0"/>
<a:t>It can look a LOT more complex though</a:t>
</a:r>
<a:endParaRPr lang="en-CA“ />
</a:p>
</p:txBody>
This is actually part of
the XML for the current
slide with JUST the title
in it
This is from the XML file
that is behind the scenes
in PowerPoint (and most
MS Office products)
Technically, if you use
Word, Excel, or
PowerPoint, you use
XML. Technically.
24. Looking at XML versions of MS Office
17:52@publishsmarter
24
1. Take any *.docx, *.pptx, or *.xlsx and make a copy
25. Looking at XML versions of MS Office
17:52@publishsmarter
25
1. Take any *.docx, *.pptx, or *.xlsx and make a copy
2. Rename it *.zip
26. Looking at XML versions of MS Office
17:52@publishsmarter
26
1. Take any *.docx, *.pptx, or *.xlsx and make a copy
2. Rename it *.zip
3. Open it up and explore
(in PowerPoint, start @ ppt)
28. XML View: The title of slide 1
17:52@publishsmarter
28
<p:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:r>
<a:rPr lang="en-CA" />
<a:t>XML for
Humans: Non-geek
Discussion of a
Geek-chic
Topic</a:t>
</a:r>
<a:endParaRPr lang="en-
CA"/>
</a:p>
</p:txBody>
30. Human usable XML might look moe like this
17:52@publishsmarter
30
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN" "technicalContent/dtd/task.dtd" []>
<task id="id_t_lighting_lvl">
<title>Adjust lighting levels</title>
<shortdesc>Room or seat brightness can be individually configured.</shortdesc>
<taskbody>
<context><indexterm audience="EndUser">lighting</indexterm><p audience="EndUser“>
For safety, admins can override preferences.</p><p audience="Administrator">You
can
override any personal preferences.</p></context>
<steps>
<step><cmd>Select <uicontrol>Lighting Configuration</uicontrol>.</cmd></step>
<step><cmd>Tap <uicontrol>Layout</uicontrol>.</cmd>
<info audience="Administrator">
<p>To set global levels, tap <uicontrol>Override all Layouts</uicontrol>.</p>
</info>
</step>
<step>
<cmd>Tap the appropriate light level or configuration.</cmd>
</step>
</steps>
</taskbody>
</task>
31. Reading it can be pretty simple (ignore code)
17:52@publishsmarter
31
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN" "technicalContent/dtd/task.dtd" []>
<task id="id_t_lighting_lvl">
<title>Adjust lighting levels</title>
<shortdesc>Room or seat brightness can be individually configured.</shortdesc>
<taskbody>
<context><indexterm audience="EndUser">lighting</indexterm><p audience="EndUser">
For safety, admins can override preferences.</p><p audience="Administrator">You can
override any personal preferences.</p></context>
<steps>
<step><cmd>Select <uicontrol>Lighting Configuration</uicontrol>.</cmd></step>
<step><cmd>Tap <uicontrol>Layout</uicontrol>.</cmd>
<info audience="Administrator">
<p>To set global levels, tap <uicontrol>Override all Layouts</uicontrol>.</p>
</info>
</step>
<step>
<cmd>Tap the appropriate light level or configuration.</cmd>
</step>
</steps>
</taskbody>
</task>
32. Structure has some human-friendly feel to it
17:52@publishsmarter
32
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN" "technicalContent/dtd/task.dtd" []>
<task id="id_t_lighting_lvl">
<title>Adjust lighting levels</title>
<shortdesc>Room or seat brightness can be individually configured.</shortdesc>
<taskbody>
<context><indexterm audience="EndUser">lighting</indexterm><p audience="EndUser">
For safety, admins can override preferences.</p><p audience="Administrator">You
can
override any personal preferences.</p></context>
<steps>
<step><cmd>Select <uicontrol>Lighting Configuration</uicontrol>.</cmd></step>
<step><cmd>Tap <uicontrol>Layout</uicontrol>.</cmd>
<info audience="Administrator">
<p>To set global levels, tap <uicontrol>Override all Layouts</uicontrol>.</p>
</info>
</step>
<step>
<cmd>Tap the appropriate light level or configuration.</cmd>
</step>
</steps>
</taskbody>
</task>
33. You can even understand the attributes
17:52@publishsmarter
33
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN" "technicalContent/dtd/task.dtd" []>
<task id="id_t_lighting_lvl">
<title>Adjust lighting levels</title>
<shortdesc>Room or seat brightness can be individually configured.</shortdesc>
<taskbody>
<context><indexterm audience="EndUser">lighting</indexterm><p audience="EndUser">
For safety, admins can override preferences.</p><p audience="Administrator">You
can
override any personal preferences.</p></context>
<steps>
<step><cmd>Select <uicontrol>Lighting Configuration</uicontrol>.</cmd></step>
<step><cmd>Tap <uicontrol>Layout</uicontrol>.</cmd>
<info audience="Administrator">
<p>To set global levels, tap <uicontrol>Override all Layouts</uicontrol>.</p>
</info>
</step>
<step>
<cmd>Tap the appropriate light level or configuration.</cmd>
</step>
</steps>
</taskbody>
</task>
34. Remember that XML provides a division
17:52@publishsmarter
34
Format
Content
35. With XML you spend your time wisely
17:52@publishsmarter
35
36. Content is manageable (size)
17:52@publishsmarter
36
Format Function
*.fm FrameMaker
*.txt Plain text
*.docx Word
*.xml Structure, store, transport
50. Net benefit of two topics, one source
17:52@publishsmarter
50
Less editing
Fewer edits
Less review time
Quicker approvals
Fewer overall words to manage
51. Pull together what you need
@publishsmarter 17:52
51
Quick and easy to assemble
53. This means that you can...
17:52@publishsmarter
53
Open a single instance of a topic
Edit only what is relevant, and based on specific
context
In DITA, for example:Attribute General purpose
audience Supports conditional processing for filtering or flagging.
For example, EndUser or Administrator
importance obsolete | deprecated | optional | default | low | normal | high |
recommended | required | urgent
status new | changed | deleted | unchanged
translate yes | no
57. Summing up the discussion,
and options to continue it.
@publishsmarter 17:52
57
Conclusion and contact
58. About this session
17:52@publishsmarter
58
Intro to the basics
Define what XML is
How it is used
Why it benefits people who write and edit
Learn how clear and concise content can be created
(and managed) in an XML workflow
Know the difference between an XML editor and an
editor who knows XML
Speak about XML with confidence
59. Final request
17:52@publishsmarter
59
Please suggest these slides to others
If there are any problems with them, please let me
know
Remember my disclaimer at the beginning
Not all slides are equal: Use some, discard others
In the interest of brevity I make some blanket statements
It’s not all 100% “the truth”, but I’ll stay close
Purists may complain
And they are wrong!
(except when they are right)
60. Follow up contact information
17:52@publishsmarter
60
905 833 8448 (Eastern Time)
bernard@publishingsmarter.com
www.linkedin.com/in/bernardaschwanden
@publishsmarter
www.publishingsmarter.com