SlideShare a Scribd company logo
1 of 28
Components of WordprocessingML
• Main Document
• Paragraphs & Rich Formatting
– Runs
– Run Content
• Tables
• Custom Markup
• Sections
• Styles
– Paragraph
– Character
– Numbering
– Table
– Document Defaults
• Fonts
• Numbering
• Headers/Footers
• Footnotes/Endnotes
• Glossary Document
• Annotations
– Comments
– Revisions
– Bookmarks
• Mail Merge
• Document Settings
– Web Settings
– Compatibility Settings
• Fields & Hyperlinks
• Odds & Ends (Textboxes, Subdocuments, Extensibility)
Ecma/TC45/2006/036 (Rev.)
WordprocessingML – Custom
Markup
Custom Markup
• WordprocessingML fully defines the set of
presentation information needed to present a
word processing document
• However, there are many scenarios where the
document 'type' dictates that additional
semantics are required
– For example, a customer name within an invoice.
The server shouldn't have to try to use string
matching or regular expressions to find that name
Custom Markup
• To satisfy this need, WordprocessingML
defines three built-in mechanisms for storing
this custom markup:
– Smart tags
– Custom XML markup
– Structured document tags (content controls)
• Each of these mechanisms provides a unique
way of putting semantics to content in
WordprocessingML
Smart Tags
• Smart tags provide a way of adding semantics
to a run (or runs) of text
The purple underline
is application
defined, but the
semantics are
shared
Smart Tags
• Smart tags store two pieces of semantic data:
– A URI (namespace) for the smart tag
– A name for the smart tag
• The first specifies the 'family' to which the
smart tag belongs, the second specifies the
type of this specific smart tag within that
family
Smart Tags
• Optionally, producers can also embed
arbitrary name value pairs onto a smart tag
using the smart tag properties
– This is defined by the smartTagPr element
• Once embedded, consumers can ignore the
semantics without affecting the presentation
of the document, or use the smart tag data to
provide context sensitive functionality
Custom XML
• Custom XML markup provides a facility for
embedding the structure from any XML
schema file into a WordprocessingML
document
• This embedded custom XML can (but is not
strictly required to) follow the structures set
forth in that XML schema file
– We don't want to block load based on invalid
custom XML
Custom XML
• Custom XML can appear in two locations in
WordprocessingML
– Block level (around and/or sibling to paragraphs)
– Inline (around and/or sibling to runs)
Custom XML
Block-level markup
(around paragraphs)
Block-level markup
(around paragraphs)
Custom XML
Custom XML
• Custom XML element require two pieces of
semantic data:
– A namespace
– An element name
• Both are required to define/reference the
XML element within its XML schema
Custom XML
• Depending on the XML schema, the element
can also optionally specify any number of
attributes
• Once embedded, consumers can ignore the
semantics without affecting the presentation
of the document, or use the custom XML
markup to provide context sensitive
functionality
Custom XML
• Note: Why not just embed the custom XML
directly in the WordprocessingML document?
– Why do we use a customXml element in our
namespace to abstract away the real custom XML
element?
Custom XML
• Answer: This allows files with custom XML to
be strictly validated against the schemas we
provide
– If custom markup were in its own namespace, our
schema would need to declare an xsd:any at this
point
– That custom XML schema would then need to be
defined such that it allows WordprocessingML
within it, which is not desirable
Structured Document Tags
• Both methods of custom markup discussed
above add the semantics, but otherwise do
not have any effect on presentation
• This, however, is often not what you want
– e.g. you want user interface or behavior
restrictions as well as semantics
Structured Document Tags
• Defined using the sdt element
• Structured document tags provide customer-
defined semantics, as well as the ability to
define presentation/behavior information
Structured Document Tags
• A structured document tag has two child
elements:
– The structured document tag properties
– The structured document tag content
Structured Document Tags
Properties
Content
Structured Document Tag
Properties
• The XML representation of a structured
document tag is analogous to other
WordprocessingML structures – all properties
are contained in the sdtPr element
• Four types of properties:
– Shared properties
– Locking properties
– SDT 'type'
– Type-specific properties
Structured Document Tag
Properties
• Shared Properties
– Title
– ID
– Placeholder text
• This is reference to a document building block, which
will be discussed in the future
– Showing placeholder text?
• Locking Properties
– Cannot be deleted
– Cannot be edited
Structured Document Tag
Properties
• Locking Properties
– Cannot be deleted
– Cannot be edited
• These are runtime behaviors applied to this
structured document tag
Structured Document Tag
Properties
• Types
– Plain text
– Rich text
– Date picker (plain text)
– Combo box (plain text)
– Drop-down list (plain text)
– Picture
Structured Document Tag
Properties
• Type-specific properties
– Plain text: Allow multiple lines, remove when
edited
– Date picker: Date format, date locale
– Combo box: combo box entries
– Drop-down list: drop-down list entries
• To ensure these are only set when valid, they
are stored under the type's element
Structured Document Tag
Properties Example
Shared properties
Date type + date specific
properties - note that
dateFormat and lid are
under the date element
Structured Document Tag Content
• Stored underneath the sdtContent element
• Specifies the contents of this structured
document tag
– Like custom XML markup, structured document
tags can be either inline or block-level as defined
by the WordprocessingML schemas
XML Mapping
• Technically a property on the structured
document tag, but a special one
– Specifies that that contents are a cache of data
stored in another part (a custom XML data
storage part)
• Specifies the part as well as an XPath
expression used to find the 'real' data
Disclaimer
This presentation is for informational purposes only, and should
not be relied upon as a substitute or replacement for Microsoft
formal file format documentation, which is available at the
following website: https://msdn.microsoft.com/en-
us/library/cc313118(v=office.12).aspx. Any views or opinions
presented in this material are solely those of the author and do
not necessarily represent those of Microsoft. Microsoft
disclaims all liability for mistakes or inaccuracies in this
presentation.

More Related Content

What's hot (20)

XML - Data Modeling
XML - Data ModelingXML - Data Modeling
XML - Data Modeling
 
Xml and xml processor
Xml and xml processorXml and xml processor
Xml and xml processor
 
Publishing xml
Publishing xmlPublishing xml
Publishing xml
 
XML and Databases
XML and DatabasesXML and Databases
XML and Databases
 
Xml dom
Xml domXml dom
Xml dom
 
XMl
XMlXMl
XMl
 
01 xml document structure
01 xml document structure01 xml document structure
01 xml document structure
 
HTML and XML Difference FAQs
HTML and XML Difference FAQsHTML and XML Difference FAQs
HTML and XML Difference FAQs
 
Xml
XmlXml
Xml
 
Markup For Dummies (Russ Ward)
Markup For Dummies (Russ Ward)Markup For Dummies (Russ Ward)
Markup For Dummies (Russ Ward)
 
0 wordprocessing ml overview
0   wordprocessing ml overview0   wordprocessing ml overview
0 wordprocessing ml overview
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
 
Xml presentation
Xml presentationXml presentation
Xml presentation
 
Introduction to CSS
Introduction to CSSIntroduction to CSS
Introduction to CSS
 
Xmll
XmllXmll
Xmll
 
DOM-XML
DOM-XMLDOM-XML
DOM-XML
 
Xml
XmlXml
Xml
 
03 x files
03 x files03 x files
03 x files
 
Basics and different xml files used in android
Basics and different xml files used in androidBasics and different xml files used in android
Basics and different xml files used in android
 
Xml
XmlXml
Xml
 

Viewers also liked

SAP Business One Documents Numbering
SAP Business One Documents NumberingSAP Business One Documents Numbering
SAP Business One Documents NumberingSkybuffer AS
 
La factura electrónica que viene con SAP Business One
La factura electrónica que viene con SAP Business OneLa factura electrónica que viene con SAP Business One
La factura electrónica que viene con SAP Business OneECINSA
 
Spreadsheet ml subject sheet
Spreadsheet ml subject   sheetSpreadsheet ml subject   sheet
Spreadsheet ml subject sheetShawn Villaron
 
Spreadsheet ml subject calc chain
Spreadsheet ml subject   calc chainSpreadsheet ml subject   calc chain
Spreadsheet ml subject calc chainShawn Villaron
 
Spreadsheet ml subject strings
Spreadsheet ml subject   stringsSpreadsheet ml subject   strings
Spreadsheet ml subject stringsShawn Villaron
 
Spreadsheet ml subject xml-mapping
Spreadsheet ml subject   xml-mappingSpreadsheet ml subject   xml-mapping
Spreadsheet ml subject xml-mappingShawn Villaron
 
PresentationML Subject: Comments
PresentationML Subject: CommentsPresentationML Subject: Comments
PresentationML Subject: CommentsShawn Villaron
 
Spreadsheet ml overview
Spreadsheet ml overviewSpreadsheet ml overview
Spreadsheet ml overviewShawn Villaron
 
1 wordprocessing ml subject - main document
1   wordprocessing ml subject - main document1   wordprocessing ml subject - main document
1 wordprocessing ml subject - main documentShawn Villaron
 
DrawingML Subject: Shape Properties & Effects
DrawingML Subject: Shape Properties & EffectsDrawingML Subject: Shape Properties & Effects
DrawingML Subject: Shape Properties & EffectsShawn Villaron
 
3 wordprocessing ml subject - tables
3   wordprocessing ml subject - tables3   wordprocessing ml subject - tables
3 wordprocessing ml subject - tablesShawn Villaron
 
DrawingML Subject: Text
DrawingML Subject: TextDrawingML Subject: Text
DrawingML Subject: TextShawn Villaron
 
アメリカ出張記
アメリカ出張記アメリカ出張記
アメリカ出張記Riku Souda
 
DrawingML Subject: Tables
DrawingML Subject: TablesDrawingML Subject: Tables
DrawingML Subject: TablesShawn Villaron
 
Spreadsheet ml subject pivottable
Spreadsheet ml subject   pivottableSpreadsheet ml subject   pivottable
Spreadsheet ml subject pivottableShawn Villaron
 
Spreadsheet ml subject comments
Spreadsheet ml subject   commentsSpreadsheet ml subject   comments
Spreadsheet ml subject commentsShawn Villaron
 
PresentationML Subject: Presentation
PresentationML Subject: PresentationPresentationML Subject: Presentation
PresentationML Subject: PresentationShawn Villaron
 
Spreadsheet ml subject metadata
Spreadsheet ml subject   metadataSpreadsheet ml subject   metadata
Spreadsheet ml subject metadataShawn Villaron
 
DrawingML Introduction
DrawingML IntroductionDrawingML Introduction
DrawingML IntroductionShawn Villaron
 
PresentationML Overview
PresentationML OverviewPresentationML Overview
PresentationML OverviewShawn Villaron
 

Viewers also liked (20)

SAP Business One Documents Numbering
SAP Business One Documents NumberingSAP Business One Documents Numbering
SAP Business One Documents Numbering
 
La factura electrónica que viene con SAP Business One
La factura electrónica que viene con SAP Business OneLa factura electrónica que viene con SAP Business One
La factura electrónica que viene con SAP Business One
 
Spreadsheet ml subject sheet
Spreadsheet ml subject   sheetSpreadsheet ml subject   sheet
Spreadsheet ml subject sheet
 
Spreadsheet ml subject calc chain
Spreadsheet ml subject   calc chainSpreadsheet ml subject   calc chain
Spreadsheet ml subject calc chain
 
Spreadsheet ml subject strings
Spreadsheet ml subject   stringsSpreadsheet ml subject   strings
Spreadsheet ml subject strings
 
Spreadsheet ml subject xml-mapping
Spreadsheet ml subject   xml-mappingSpreadsheet ml subject   xml-mapping
Spreadsheet ml subject xml-mapping
 
PresentationML Subject: Comments
PresentationML Subject: CommentsPresentationML Subject: Comments
PresentationML Subject: Comments
 
Spreadsheet ml overview
Spreadsheet ml overviewSpreadsheet ml overview
Spreadsheet ml overview
 
1 wordprocessing ml subject - main document
1   wordprocessing ml subject - main document1   wordprocessing ml subject - main document
1 wordprocessing ml subject - main document
 
DrawingML Subject: Shape Properties & Effects
DrawingML Subject: Shape Properties & EffectsDrawingML Subject: Shape Properties & Effects
DrawingML Subject: Shape Properties & Effects
 
3 wordprocessing ml subject - tables
3   wordprocessing ml subject - tables3   wordprocessing ml subject - tables
3 wordprocessing ml subject - tables
 
DrawingML Subject: Text
DrawingML Subject: TextDrawingML Subject: Text
DrawingML Subject: Text
 
アメリカ出張記
アメリカ出張記アメリカ出張記
アメリカ出張記
 
DrawingML Subject: Tables
DrawingML Subject: TablesDrawingML Subject: Tables
DrawingML Subject: Tables
 
Spreadsheet ml subject pivottable
Spreadsheet ml subject   pivottableSpreadsheet ml subject   pivottable
Spreadsheet ml subject pivottable
 
Spreadsheet ml subject comments
Spreadsheet ml subject   commentsSpreadsheet ml subject   comments
Spreadsheet ml subject comments
 
PresentationML Subject: Presentation
PresentationML Subject: PresentationPresentationML Subject: Presentation
PresentationML Subject: Presentation
 
Spreadsheet ml subject metadata
Spreadsheet ml subject   metadataSpreadsheet ml subject   metadata
Spreadsheet ml subject metadata
 
DrawingML Introduction
DrawingML IntroductionDrawingML Introduction
DrawingML Introduction
 
PresentationML Overview
PresentationML OverviewPresentationML Overview
PresentationML Overview
 

Similar to WordprocessingML Custom Markup Mechanisms (20)

Xml
XmlXml
Xml
 
XML Schema
XML SchemaXML Schema
XML Schema
 
Ch2 neworder
Ch2 neworderCh2 neworder
Ch2 neworder
 
1 xml fundamentals
1 xml fundamentals1 xml fundamentals
1 xml fundamentals
 
XML-Extensible Markup Language
XML-Extensible Markup Language XML-Extensible Markup Language
XML-Extensible Markup Language
 
11 wordprocessing ml subject - glossary document
11   wordprocessing ml subject - glossary document11   wordprocessing ml subject - glossary document
11 wordprocessing ml subject - glossary document
 
XML, DTD & XSD Overview
XML, DTD & XSD OverviewXML, DTD & XSD Overview
XML, DTD & XSD Overview
 
Xml and webdata
Xml and webdataXml and webdata
Xml and webdata
 
Xml and webdata
Xml and webdataXml and webdata
Xml and webdata
 
Xml and webdata
Xml and webdataXml and webdata
Xml and webdata
 
Xml and webdata
Xml and webdataXml and webdata
Xml and webdata
 
Xml and webdata
Xml and webdataXml and webdata
Xml and webdata
 
Xml and webdata
Xml and webdataXml and webdata
Xml and webdata
 
Xml and webdata
Xml and webdataXml and webdata
Xml and webdata
 
XML
XMLXML
XML
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
 
Introduction to XML.ppt
Introduction to XML.pptIntroduction to XML.ppt
Introduction to XML.ppt
 
Introduction to XML.ppt
Introduction to XML.pptIntroduction to XML.ppt
Introduction to XML.ppt
 
WT UNIT-2 XML.pdf
WT UNIT-2 XML.pdfWT UNIT-2 XML.pdf
WT UNIT-2 XML.pdf
 
02 xml schema
02 xml schema02 xml schema
02 xml schema
 

More from Shawn Villaron

Spreadsheet ml subject shared workbooks
Spreadsheet ml subject   shared workbooksSpreadsheet ml subject   shared workbooks
Spreadsheet ml subject shared workbooksShawn Villaron
 
Spreadsheet ml subject query table
Spreadsheet ml subject   query tableSpreadsheet ml subject   query table
Spreadsheet ml subject query tableShawn Villaron
 
Spreadsheet ml subject external links
Spreadsheet ml subject   external linksSpreadsheet ml subject   external links
Spreadsheet ml subject external linksShawn Villaron
 
Spreadsheet ml subject workbook
Spreadsheet ml subject   workbookSpreadsheet ml subject   workbook
Spreadsheet ml subject workbookShawn Villaron
 
Spreadsheet ml subject workbook connections
Spreadsheet ml subject   workbook connectionsSpreadsheet ml subject   workbook connections
Spreadsheet ml subject workbook connectionsShawn Villaron
 
Spreadsheet ml subject volatile dependencies
Spreadsheet ml subject   volatile dependenciesSpreadsheet ml subject   volatile dependencies
Spreadsheet ml subject volatile dependenciesShawn Villaron
 
Spreadsheet ml subject tables
Spreadsheet ml subject   tablesSpreadsheet ml subject   tables
Spreadsheet ml subject tablesShawn Villaron
 
Spreadsheet ml subject styles
Spreadsheet ml subject   stylesSpreadsheet ml subject   styles
Spreadsheet ml subject stylesShawn Villaron
 
2 wordprocessing ml subject - paragraphs and rich formatting
2   wordprocessing ml subject - paragraphs and rich formatting2   wordprocessing ml subject - paragraphs and rich formatting
2 wordprocessing ml subject - paragraphs and rich formattingShawn Villaron
 
16 wordprocessing ml subject - odds and ends
16   wordprocessing ml subject - odds and ends16   wordprocessing ml subject - odds and ends
16 wordprocessing ml subject - odds and endsShawn Villaron
 
15 wordprocessing ml subject - fields and hyperlinks
15   wordprocessing ml subject - fields and hyperlinks15   wordprocessing ml subject - fields and hyperlinks
15 wordprocessing ml subject - fields and hyperlinksShawn Villaron
 
14 wordprocessing ml subject - settings
14   wordprocessing ml subject - settings14   wordprocessing ml subject - settings
14 wordprocessing ml subject - settingsShawn Villaron
 
13 wordprocessing ml subject - mail merge
13   wordprocessing ml subject - mail merge13   wordprocessing ml subject - mail merge
13 wordprocessing ml subject - mail mergeShawn Villaron
 
12 wordprocessing ml subject - annotations
12   wordprocessing ml subject - annotations12   wordprocessing ml subject - annotations
12 wordprocessing ml subject - annotationsShawn Villaron
 
10 wordprocessing ml subject - footnotes and endnotes
10   wordprocessing ml subject - footnotes and endnotes10   wordprocessing ml subject - footnotes and endnotes
10 wordprocessing ml subject - footnotes and endnotesShawn Villaron
 
9 wordprocessing ml subject - headers and footers
9   wordprocessing ml subject - headers and footers9   wordprocessing ml subject - headers and footers
9 wordprocessing ml subject - headers and footersShawn Villaron
 
8 wordprocessing ml subject - numbering
8   wordprocessing ml subject - numbering8   wordprocessing ml subject - numbering
8 wordprocessing ml subject - numberingShawn Villaron
 
5 wordprocessing ml subject - sections
5   wordprocessing ml subject - sections5   wordprocessing ml subject - sections
5 wordprocessing ml subject - sectionsShawn Villaron
 

More from Shawn Villaron (18)

Spreadsheet ml subject shared workbooks
Spreadsheet ml subject   shared workbooksSpreadsheet ml subject   shared workbooks
Spreadsheet ml subject shared workbooks
 
Spreadsheet ml subject query table
Spreadsheet ml subject   query tableSpreadsheet ml subject   query table
Spreadsheet ml subject query table
 
Spreadsheet ml subject external links
Spreadsheet ml subject   external linksSpreadsheet ml subject   external links
Spreadsheet ml subject external links
 
Spreadsheet ml subject workbook
Spreadsheet ml subject   workbookSpreadsheet ml subject   workbook
Spreadsheet ml subject workbook
 
Spreadsheet ml subject workbook connections
Spreadsheet ml subject   workbook connectionsSpreadsheet ml subject   workbook connections
Spreadsheet ml subject workbook connections
 
Spreadsheet ml subject volatile dependencies
Spreadsheet ml subject   volatile dependenciesSpreadsheet ml subject   volatile dependencies
Spreadsheet ml subject volatile dependencies
 
Spreadsheet ml subject tables
Spreadsheet ml subject   tablesSpreadsheet ml subject   tables
Spreadsheet ml subject tables
 
Spreadsheet ml subject styles
Spreadsheet ml subject   stylesSpreadsheet ml subject   styles
Spreadsheet ml subject styles
 
2 wordprocessing ml subject - paragraphs and rich formatting
2   wordprocessing ml subject - paragraphs and rich formatting2   wordprocessing ml subject - paragraphs and rich formatting
2 wordprocessing ml subject - paragraphs and rich formatting
 
16 wordprocessing ml subject - odds and ends
16   wordprocessing ml subject - odds and ends16   wordprocessing ml subject - odds and ends
16 wordprocessing ml subject - odds and ends
 
15 wordprocessing ml subject - fields and hyperlinks
15   wordprocessing ml subject - fields and hyperlinks15   wordprocessing ml subject - fields and hyperlinks
15 wordprocessing ml subject - fields and hyperlinks
 
14 wordprocessing ml subject - settings
14   wordprocessing ml subject - settings14   wordprocessing ml subject - settings
14 wordprocessing ml subject - settings
 
13 wordprocessing ml subject - mail merge
13   wordprocessing ml subject - mail merge13   wordprocessing ml subject - mail merge
13 wordprocessing ml subject - mail merge
 
12 wordprocessing ml subject - annotations
12   wordprocessing ml subject - annotations12   wordprocessing ml subject - annotations
12 wordprocessing ml subject - annotations
 
10 wordprocessing ml subject - footnotes and endnotes
10   wordprocessing ml subject - footnotes and endnotes10   wordprocessing ml subject - footnotes and endnotes
10 wordprocessing ml subject - footnotes and endnotes
 
9 wordprocessing ml subject - headers and footers
9   wordprocessing ml subject - headers and footers9   wordprocessing ml subject - headers and footers
9 wordprocessing ml subject - headers and footers
 
8 wordprocessing ml subject - numbering
8   wordprocessing ml subject - numbering8   wordprocessing ml subject - numbering
8 wordprocessing ml subject - numbering
 
5 wordprocessing ml subject - sections
5   wordprocessing ml subject - sections5   wordprocessing ml subject - sections
5 wordprocessing ml subject - sections
 

Recently uploaded

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 

Recently uploaded (20)

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 

WordprocessingML Custom Markup Mechanisms

  • 1. Components of WordprocessingML • Main Document • Paragraphs & Rich Formatting – Runs – Run Content • Tables • Custom Markup • Sections • Styles – Paragraph – Character – Numbering – Table – Document Defaults • Fonts • Numbering • Headers/Footers • Footnotes/Endnotes • Glossary Document • Annotations – Comments – Revisions – Bookmarks • Mail Merge • Document Settings – Web Settings – Compatibility Settings • Fields & Hyperlinks • Odds & Ends (Textboxes, Subdocuments, Extensibility) Ecma/TC45/2006/036 (Rev.)
  • 3. Custom Markup • WordprocessingML fully defines the set of presentation information needed to present a word processing document • However, there are many scenarios where the document 'type' dictates that additional semantics are required – For example, a customer name within an invoice. The server shouldn't have to try to use string matching or regular expressions to find that name
  • 4. Custom Markup • To satisfy this need, WordprocessingML defines three built-in mechanisms for storing this custom markup: – Smart tags – Custom XML markup – Structured document tags (content controls) • Each of these mechanisms provides a unique way of putting semantics to content in WordprocessingML
  • 5. Smart Tags • Smart tags provide a way of adding semantics to a run (or runs) of text The purple underline is application defined, but the semantics are shared
  • 6. Smart Tags • Smart tags store two pieces of semantic data: – A URI (namespace) for the smart tag – A name for the smart tag • The first specifies the 'family' to which the smart tag belongs, the second specifies the type of this specific smart tag within that family
  • 7. Smart Tags • Optionally, producers can also embed arbitrary name value pairs onto a smart tag using the smart tag properties – This is defined by the smartTagPr element • Once embedded, consumers can ignore the semantics without affecting the presentation of the document, or use the smart tag data to provide context sensitive functionality
  • 8. Custom XML • Custom XML markup provides a facility for embedding the structure from any XML schema file into a WordprocessingML document • This embedded custom XML can (but is not strictly required to) follow the structures set forth in that XML schema file – We don't want to block load based on invalid custom XML
  • 9. Custom XML • Custom XML can appear in two locations in WordprocessingML – Block level (around and/or sibling to paragraphs) – Inline (around and/or sibling to runs)
  • 10. Custom XML Block-level markup (around paragraphs) Block-level markup (around paragraphs)
  • 12. Custom XML • Custom XML element require two pieces of semantic data: – A namespace – An element name • Both are required to define/reference the XML element within its XML schema
  • 13. Custom XML • Depending on the XML schema, the element can also optionally specify any number of attributes • Once embedded, consumers can ignore the semantics without affecting the presentation of the document, or use the custom XML markup to provide context sensitive functionality
  • 14. Custom XML • Note: Why not just embed the custom XML directly in the WordprocessingML document? – Why do we use a customXml element in our namespace to abstract away the real custom XML element?
  • 15. Custom XML • Answer: This allows files with custom XML to be strictly validated against the schemas we provide – If custom markup were in its own namespace, our schema would need to declare an xsd:any at this point – That custom XML schema would then need to be defined such that it allows WordprocessingML within it, which is not desirable
  • 16. Structured Document Tags • Both methods of custom markup discussed above add the semantics, but otherwise do not have any effect on presentation • This, however, is often not what you want – e.g. you want user interface or behavior restrictions as well as semantics
  • 17. Structured Document Tags • Defined using the sdt element • Structured document tags provide customer- defined semantics, as well as the ability to define presentation/behavior information
  • 18. Structured Document Tags • A structured document tag has two child elements: – The structured document tag properties – The structured document tag content
  • 20. Structured Document Tag Properties • The XML representation of a structured document tag is analogous to other WordprocessingML structures – all properties are contained in the sdtPr element • Four types of properties: – Shared properties – Locking properties – SDT 'type' – Type-specific properties
  • 21. Structured Document Tag Properties • Shared Properties – Title – ID – Placeholder text • This is reference to a document building block, which will be discussed in the future – Showing placeholder text? • Locking Properties – Cannot be deleted – Cannot be edited
  • 22. Structured Document Tag Properties • Locking Properties – Cannot be deleted – Cannot be edited • These are runtime behaviors applied to this structured document tag
  • 23. Structured Document Tag Properties • Types – Plain text – Rich text – Date picker (plain text) – Combo box (plain text) – Drop-down list (plain text) – Picture
  • 24. Structured Document Tag Properties • Type-specific properties – Plain text: Allow multiple lines, remove when edited – Date picker: Date format, date locale – Combo box: combo box entries – Drop-down list: drop-down list entries • To ensure these are only set when valid, they are stored under the type's element
  • 25. Structured Document Tag Properties Example Shared properties Date type + date specific properties - note that dateFormat and lid are under the date element
  • 26. Structured Document Tag Content • Stored underneath the sdtContent element • Specifies the contents of this structured document tag – Like custom XML markup, structured document tags can be either inline or block-level as defined by the WordprocessingML schemas
  • 27. XML Mapping • Technically a property on the structured document tag, but a special one – Specifies that that contents are a cache of data stored in another part (a custom XML data storage part) • Specifies the part as well as an XPath expression used to find the 'real' data
  • 28. Disclaimer This presentation is for informational purposes only, and should not be relied upon as a substitute or replacement for Microsoft formal file format documentation, which is available at the following website: https://msdn.microsoft.com/en- us/library/cc313118(v=office.12).aspx. Any views or opinions presented in this material are solely those of the author and do not necessarily represent those of Microsoft. Microsoft disclaims all liability for mistakes or inaccuracies in this presentation.