SlideShare a Scribd company logo
AD212 Introduction to DXL Dick Annicchiarico Software Engineer IBM Lotus Domino
Agenda ,[object Object],[object Object],[object Object],Agenda slide
What is DXL?
DXL is XML ,[object Object],[object Object],[object Object]
What is XML?
XML: eXtensible Markup Language ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Key XML Concepts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Markup Example (HTML) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Some HTML markup specifies presentation details.  Here, <i> specifies italic text. ,[object Object],[object Object],[object Object]
Markup Example (XML) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XML Basic Constructs ,[object Object],[object Object],[object Object],[object Object]
XML Declaration ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Elements ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Root Element ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Attributes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Text Content ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A Quick Note on White Space ,[object Object],[object Object],[object Object],[object Object],Is this white space significant? It is convenient to indent your XML to reflect the structure, but don’t do it within elements that allow mixed content or text content only (like <bullet>)
Tree Structure of XML <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <presentation> <slide title=&quot;Markup Example”> <bullet>Captivating point 1.</bullet> <bullet>Captivating point 2.</bullet> </slide> </presentation> If <slide> does not allow mixed content If <slide> allows mixed content (text and elements) presentation slide bullet bullet text text presentation slide text bullet text text bullet text text
A Quick Note on DTDs and Schemas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Pseudo-code for a DTD/schema for the above XML ,[object Object],[object Object]
Well-formed vs. Valid XML <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <presentation> <slide title=&quot;Markup Example”> <bullet>Captivating point 1.</bullet> </slide> </mess> <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <presentation> <slide title=&quot;Markup Example”> <callout>Look here!</callout> </slide> </presentation> <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <presentation> <slide title=&quot;Markup Example”> <bullet>Captivating point 1.</bullet> </slide> </presentation> This XML is  not well-formed .  The <presentation> start tag does not have a matching end tag. This XML is  well-formed  but not valid .  Our hypothetical schema does not allow a <slide> to contain a <callout>. This XML is both  well-formed and  valid
[object Object],[object Object],What is DXL?
You Already Know A Lot About DXL Earlier, we learned that: ,[object Object],[object Object],Now that you understand the fundamentals of XML: ,[object Object],[object Object],[object Object],[object Object],[object Object]
What Data Can DXL Represent? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
About the Examples ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A First DXL Example ,[object Object],[object Object],[object Object],[object Object]
How do I use DXL?
Tools for Processing XML and DXL XML DXL Application-specific (e.g.  DXL Importer ) Import some data from XML format XSLT Transform it DOM SAX Parse and process it Network protocols Send it Files and Databases Store it Application-specific (e.g.  DXL Exporter ) Export some data to XML format Tools Use
How do I use XML? First of all:
DOM: Document Object Model <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <presentation> <slide title=&quot;Markup Example”> <bullet>Captivating point 1.</bullet> <bullet>Captivating point 2.</bullet> </slide> </presentation> DOM Parser Application- Specific results presentation (DOM Element) slide (DOM Element) bullet (DOM Element) bullet (DOM Element) Captivating point 1. (DOM Text) Captivating point 2. (DOM Text) Markup Example (DOM Attribute)
SAX: Simple API for XML <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <presentation> <slide title=&quot;Markup Example”> <bullet>Captivating point 1.</bullet> </slide> </presentation> SAX Parser Start Element: presentation Application- Specific results Start Element: slide (with attribute list) End Element: slide Text: Captivating point 1. End Element: bullet Start Element: bullet End Element: presentation Application- Specific Event Processing Code
XSLT: Extensible Stylesheet Language:   Transformations <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <presentation> <slide title=&quot;Markup Example”> <bullet>Captivating point 1.</bullet> <bullet>Captivating point 2.</bullet> </slide> </presentation> XSLT  Processor Application- Specific results ,[object Object],[object Object],[object Object],XML document XSLT style sheet Often another XML file, but can be HTML or any text
How do I use DXL? Now back to:
Tools for Processing DXL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Designer Tools – DXL Utilities menu ,[object Object],[object Object],[object Object]
Example:  Tools – DXL Utilities – Exporter ,[object Object],[object Object]
Tips on Using DXL and Other XML Files ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Example:  Tools – DXL Utilities – Transformer ,[object Object],[object Object],[object Object],[object Object],Select one or more forms Select style sheet FormFieldSummary.xslt
Domino Web Server Command:  ReadViewEntries ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Try these examples now in a browser: http ://server/ Baseball2004.nsf/basicStats?ReadViewEntries http ://server/ Baseball2004.nsf/basicStats?ReadViewEntries&ResortDescending=3
LotusScript APIs ,[object Object]
Java APIs - Domino ,[object Object],DxlExporter DxlImporter Document generateXML Session Item parseXML transformXML EmbeddedObject parseXML transformXML MIMEEntity parseXML transformXML RichTextItem parseXML transformXML ,[object Object],[object Object],[object Object],Any industry standard XML Java APIs can be used also!
C APIs ,[object Object],XSLTAddParameter XSLTCreateTransform XSLTGetTransformProperty XSLTSetTransformProperty XSLTTransform XSLTTransformDeleteTransform DXLCreateImporter DXLDeleteImporter DXLGetImporterProperty DXLImport DXLSetImporterProperty DXLCreateExporter DXLDeleteExporter DXLExportACL DXLExportDatabase DXLExportIDTable DXLExportNote DXLGetExporterProperty DXLSetExporterProperty XSLT Import Export
Conceptual View of DXL Exporter Exporter Input Object Output Object (contains DXL) ,[object Object],[object Object],[object Object],[object Object],Options ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Log
Conceptual View of DXL Importer Importer Input Object (Contains DXL) ,[object Object],Options ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Log List of note IDs Output Object
Tips on API Language Trade-offs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Generally, use the language that you are most accustomed  to. If you are “language-agnostic”, here are some considerations.
What Can DXL Do For Me?
Some Uses For DXL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DXL is an Alternative to Other Mechanisms ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Let’s Look at Some API Examples ,[object Object],[object Object],[object Object]
Example: Archival and Restoring ,[object Object],[object Object],[object Object],[object Object],[object Object]
The Java DXL Exporter Code from Action 1 ,[object Object],public class JavaAgent extends AgentBase { public void NotesMain() { Session session = getSession(); AgentContext agentContext = session.getAgentContext(); Database db = agentContext.getCurrentDatabase(); String filename = &quot;C:ls06DXLCopy.xml&quot;; Stream stream = session.createStream(); if (stream.open(filename)) { stream.truncate(); // Any existing file is erased DxlExporter exporter = session.createDxlExporter(); System.out.println(&quot;Exported &quot; + stream.writeText( exporter.exportDxl(db) ) +  &quot; bytes to &quot; + filename); } } }
Tips on Archival and Restoring With DXL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Replacing Notes With DXL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Probably for the DXL power user only
Figuring Out How to Specify Changes in DXL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Import Example: Replace Form ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Import Example: Create View ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tips For Importing Design Notes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
LotusScript Code for Import/Replace demo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Programmatic Examples of Modifying the DXL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Updating Notes With DXL ,[object Object],[object Object],<document> <noteinfo unid=' 2FA75A266F437F58852570D7000BA960 '/> <item name=&quot;Homeruns&quot;><number>50</number></item> </document> ,[object Object],[object Object],DocUpdate.xml
Update/Replace Document Demo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tips For Importing Documents ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Transforming DXL to Other XMLs ,[object Object],[object Object],[object Object],[object Object],XSLT  Processor XML format readable by Excel DXL containing multiple documents Custom written XSLT style sheet ,[object Object],[object Object]
How To Transform DXL to Excel XML Format ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DXL to Excel XML Mapping Armed with this data, I created an XSLT style sheet to convert a set of DXL documents to an Excel XML spreadsheet. See PlayersDxlToExcel.xslt Copy boilerplate content (from OnePlayerExcel.xml) that precedes and follows the actual workbook data <Workbook> <database> For each <document>, generate a <Row> <Row> <document> For <item>s of interest, generate a <Cell> Generated any computed <Cell>s <Cell> <item> XSLT Style Sheet pseudo-code Excel XML DXL
Transforming DXL to Excel Demo ,[object Object],[object Object],[object Object],[object Object]
Tips On Transforming Between XMLs  ,[object Object],[object Object],[object Object],[object Object],[object Object]
Want More? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Thank You For Attending! Please complete the evaluation form.

More Related Content

What's hot

Xml
XmlXml
Basic XML
Basic XMLBasic XML
Basic XML
Hoang Nguyen
 
4 xml namespaces and xml schema
4   xml namespaces and xml schema4   xml namespaces and xml schema
4 xml namespaces and xml schema
gauravashq
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
Jussi Pohjolainen
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
Bình Trọng Án
 
XML | Computer Science
XML | Computer ScienceXML | Computer Science
XML | Computer Science
Transweb Global Inc
 
XML Introduction
XML IntroductionXML Introduction
XML Introduction
Marco Bresciani
 
XML Introduction
XML IntroductionXML Introduction
XML Introduction
Bikash chhetri
 
XML
XMLXML
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
yht4ever
 
Xml For Dummies Chapter 8 Understanding And Using Dt Ds it-slideshares.blog...
Xml For Dummies   Chapter 8 Understanding And Using Dt Ds it-slideshares.blog...Xml For Dummies   Chapter 8 Understanding And Using Dt Ds it-slideshares.blog...
Xml For Dummies Chapter 8 Understanding And Using Dt Ds it-slideshares.blog...
phanleson
 
O9xml
O9xmlO9xml
O9xml
Ergoclicks
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
BG Java EE Course
 
Pmm05 16
Pmm05 16Pmm05 16
Pmm05 16
Rohit Luthra
 
Sgml
SgmlSgml
CIS-189 Final Review
CIS-189 Final ReviewCIS-189 Final Review
Xml ppt
Xml pptXml ppt
Xml ppt
seemadav1
 
XML
XMLXML
Document Type Definitions
Document Type DefinitionsDocument Type Definitions
Fergus Fahey - DRI/ARA(I) Training: Introduction to EAD - Introduction to XML
Fergus Fahey - DRI/ARA(I) Training: Introduction to EAD - Introduction to XMLFergus Fahey - DRI/ARA(I) Training: Introduction to EAD - Introduction to XML
Fergus Fahey - DRI/ARA(I) Training: Introduction to EAD - Introduction to XML
dri_ireland
 

What's hot (20)

Xml
XmlXml
Xml
 
Basic XML
Basic XMLBasic XML
Basic XML
 
4 xml namespaces and xml schema
4   xml namespaces and xml schema4   xml namespaces and xml schema
4 xml namespaces and xml schema
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
 
XML | Computer Science
XML | Computer ScienceXML | Computer Science
XML | Computer Science
 
XML Introduction
XML IntroductionXML Introduction
XML Introduction
 
XML Introduction
XML IntroductionXML Introduction
XML Introduction
 
XML
XMLXML
XML
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
 
Xml For Dummies Chapter 8 Understanding And Using Dt Ds it-slideshares.blog...
Xml For Dummies   Chapter 8 Understanding And Using Dt Ds it-slideshares.blog...Xml For Dummies   Chapter 8 Understanding And Using Dt Ds it-slideshares.blog...
Xml For Dummies Chapter 8 Understanding And Using Dt Ds it-slideshares.blog...
 
O9xml
O9xmlO9xml
O9xml
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
 
Pmm05 16
Pmm05 16Pmm05 16
Pmm05 16
 
Sgml
SgmlSgml
Sgml
 
CIS-189 Final Review
CIS-189 Final ReviewCIS-189 Final Review
CIS-189 Final Review
 
Xml ppt
Xml pptXml ppt
Xml ppt
 
XML
XMLXML
XML
 
Document Type Definitions
Document Type DefinitionsDocument Type Definitions
Document Type Definitions
 
Fergus Fahey - DRI/ARA(I) Training: Introduction to EAD - Introduction to XML
Fergus Fahey - DRI/ARA(I) Training: Introduction to EAD - Introduction to XMLFergus Fahey - DRI/ARA(I) Training: Introduction to EAD - Introduction to XML
Fergus Fahey - DRI/ARA(I) Training: Introduction to EAD - Introduction to XML
 

Similar to Lotusphere 2006 AD212 Introduction to DXL

About XML
About XMLAbout XML
Week1 xml
Week1 xmlWeek1 xml
Week1 xml
hapy
 
Web Services Part 1
Web Services Part 1Web Services Part 1
Web Services Part 1
patinijava
 
Intro XML for archivists (2011)
Intro XML for archivists (2011)Intro XML for archivists (2011)
Intro XML for archivists (2011)
Jane Stevenson
 
What is xml
What is xmlWhat is xml
What is xml
Sachit Singh
 
XML
XMLXML
Xml
XmlXml
Mdst 3559-02-01-html
Mdst 3559-02-01-htmlMdst 3559-02-01-html
Mdst 3559-02-01-html
Rafael Alvarado
 
Lecture 5 XML
Lecture 5  XMLLecture 5  XML
Xml
XmlXml
Processing XML with Java
Processing XML with JavaProcessing XML with Java
Processing XML with Java
BG Java EE Course
 
Xml description
Xml descriptionXml description
Xml description
sonam gupta
 
XML Presentation-2
XML Presentation-2XML Presentation-2
XML Presentation-2
Sudharsan S
 
Xml
XmlXml
Xml
XmlXml
Relax NG, a Schema Language for XML
Relax NG, a Schema Language for XMLRelax NG, a Schema Language for XML
Relax NG, a Schema Language for XML
Overdue Books LLC
 
Unit 5 xml (1)
Unit 5   xml (1)Unit 5   xml (1)
Unit 5 xml (1)
manochitra10
 
XML/XSLT
XML/XSLTXML/XSLT
XML/XSLT
thinkahead.net
 
xml introduction in web technologies subject
xml introduction in web technologies subjectxml introduction in web technologies subject
xml introduction in web technologies subject
UdayKumar693239
 
6 311 W
6 311 W6 311 W
6 311 W
guest471367
 

Similar to Lotusphere 2006 AD212 Introduction to DXL (20)

About XML
About XMLAbout XML
About XML
 
Week1 xml
Week1 xmlWeek1 xml
Week1 xml
 
Web Services Part 1
Web Services Part 1Web Services Part 1
Web Services Part 1
 
Intro XML for archivists (2011)
Intro XML for archivists (2011)Intro XML for archivists (2011)
Intro XML for archivists (2011)
 
What is xml
What is xmlWhat is xml
What is xml
 
XML
XMLXML
XML
 
Xml
XmlXml
Xml
 
Mdst 3559-02-01-html
Mdst 3559-02-01-htmlMdst 3559-02-01-html
Mdst 3559-02-01-html
 
Lecture 5 XML
Lecture 5  XMLLecture 5  XML
Lecture 5 XML
 
Xml
XmlXml
Xml
 
Processing XML with Java
Processing XML with JavaProcessing XML with Java
Processing XML with Java
 
Xml description
Xml descriptionXml description
Xml description
 
XML Presentation-2
XML Presentation-2XML Presentation-2
XML Presentation-2
 
Xml
XmlXml
Xml
 
Xml
XmlXml
Xml
 
Relax NG, a Schema Language for XML
Relax NG, a Schema Language for XMLRelax NG, a Schema Language for XML
Relax NG, a Schema Language for XML
 
Unit 5 xml (1)
Unit 5   xml (1)Unit 5   xml (1)
Unit 5 xml (1)
 
XML/XSLT
XML/XSLTXML/XSLT
XML/XSLT
 
xml introduction in web technologies subject
xml introduction in web technologies subjectxml introduction in web technologies subject
xml introduction in web technologies subject
 
6 311 W
6 311 W6 311 W
6 311 W
 

More from dominion

What is a itil and how does it relate to your collaborative environment uklug
What is a itil and how does it relate to your collaborative environment   uklugWhat is a itil and how does it relate to your collaborative environment   uklug
What is a itil and how does it relate to your collaborative environment uklug
dominion
 
iOS enterprise
iOS enterpriseiOS enterprise
iOS enterprise
dominion
 
cloud session uklug
cloud session uklugcloud session uklug
cloud session uklug
dominion
 
Uklug 2011 administrator development synergy
Uklug 2011 administrator development synergyUklug 2011 administrator development synergy
Uklug 2011 administrator development synergy
dominion
 
Uklug 2011 client management
Uklug 2011 client managementUklug 2011 client management
Uklug 2011 client management
dominion
 
JavaScript blast
JavaScript blastJavaScript blast
JavaScript blast
dominion
 
Populating your domino directory or any domino database with tivoli directory...
Populating your domino directory or any domino database with tivoli directory...Populating your domino directory or any domino database with tivoli directory...
Populating your domino directory or any domino database with tivoli directory...
dominion
 
Uklug2011 Know your Notes
Uklug2011 Know your NotesUklug2011 Know your Notes
Uklug2011 Know your Notes
dominion
 
Quickr
QuickrQuickr
Quickr
dominion
 
Taking themes to the next level
Taking themes to the next levelTaking themes to the next level
Taking themes to the next level
dominion
 
Supersize me
Supersize meSupersize me
Supersize me
dominion
 
Aussie outback
Aussie outbackAussie outback
Aussie outback
dominion
 
Learning to run
Learning to runLearning to run
Learning to run
dominion
 
Implementing xpages extension library
Implementing xpages extension libraryImplementing xpages extension library
Implementing xpages extension library
dominion
 
Abb presentation uklug
Abb presentation uklugAbb presentation uklug
Abb presentation uklug
dominion
 
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
dominion
 
Domino testing presentation
Domino testing presentationDomino testing presentation
Domino testing presentation
dominion
 
Composite applications tutorial
Composite applications tutorialComposite applications tutorial
Composite applications tutorial
dominion
 
Maximizing application performance
Maximizing application performanceMaximizing application performance
Maximizing application performance
dominion
 
Error handling in XPages
Error handling in XPagesError handling in XPages
Error handling in XPages
dominion
 

More from dominion (20)

What is a itil and how does it relate to your collaborative environment uklug
What is a itil and how does it relate to your collaborative environment   uklugWhat is a itil and how does it relate to your collaborative environment   uklug
What is a itil and how does it relate to your collaborative environment uklug
 
iOS enterprise
iOS enterpriseiOS enterprise
iOS enterprise
 
cloud session uklug
cloud session uklugcloud session uklug
cloud session uklug
 
Uklug 2011 administrator development synergy
Uklug 2011 administrator development synergyUklug 2011 administrator development synergy
Uklug 2011 administrator development synergy
 
Uklug 2011 client management
Uklug 2011 client managementUklug 2011 client management
Uklug 2011 client management
 
JavaScript blast
JavaScript blastJavaScript blast
JavaScript blast
 
Populating your domino directory or any domino database with tivoli directory...
Populating your domino directory or any domino database with tivoli directory...Populating your domino directory or any domino database with tivoli directory...
Populating your domino directory or any domino database with tivoli directory...
 
Uklug2011 Know your Notes
Uklug2011 Know your NotesUklug2011 Know your Notes
Uklug2011 Know your Notes
 
Quickr
QuickrQuickr
Quickr
 
Taking themes to the next level
Taking themes to the next levelTaking themes to the next level
Taking themes to the next level
 
Supersize me
Supersize meSupersize me
Supersize me
 
Aussie outback
Aussie outbackAussie outback
Aussie outback
 
Learning to run
Learning to runLearning to run
Learning to run
 
Implementing xpages extension library
Implementing xpages extension libraryImplementing xpages extension library
Implementing xpages extension library
 
Abb presentation uklug
Abb presentation uklugAbb presentation uklug
Abb presentation uklug
 
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
 
Domino testing presentation
Domino testing presentationDomino testing presentation
Domino testing presentation
 
Composite applications tutorial
Composite applications tutorialComposite applications tutorial
Composite applications tutorial
 
Maximizing application performance
Maximizing application performanceMaximizing application performance
Maximizing application performance
 
Error handling in XPages
Error handling in XPagesError handling in XPages
Error handling in XPages
 

Recently uploaded

AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
GDSC PJATK
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 

Recently uploaded (20)

AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 

Lotusphere 2006 AD212 Introduction to DXL

  • 1. AD212 Introduction to DXL Dick Annicchiarico Software Engineer IBM Lotus Domino
  • 2.
  • 4.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Tree Structure of XML <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <presentation> <slide title=&quot;Markup Example”> <bullet>Captivating point 1.</bullet> <bullet>Captivating point 2.</bullet> </slide> </presentation> If <slide> does not allow mixed content If <slide> allows mixed content (text and elements) presentation slide bullet bullet text text presentation slide text bullet text text bullet text text
  • 18.
  • 19. Well-formed vs. Valid XML <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <presentation> <slide title=&quot;Markup Example”> <bullet>Captivating point 1.</bullet> </slide> </mess> <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <presentation> <slide title=&quot;Markup Example”> <callout>Look here!</callout> </slide> </presentation> <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <presentation> <slide title=&quot;Markup Example”> <bullet>Captivating point 1.</bullet> </slide> </presentation> This XML is not well-formed . The <presentation> start tag does not have a matching end tag. This XML is well-formed but not valid . Our hypothetical schema does not allow a <slide> to contain a <callout>. This XML is both well-formed and valid
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25. How do I use DXL?
  • 26. Tools for Processing XML and DXL XML DXL Application-specific (e.g. DXL Importer ) Import some data from XML format XSLT Transform it DOM SAX Parse and process it Network protocols Send it Files and Databases Store it Application-specific (e.g. DXL Exporter ) Export some data to XML format Tools Use
  • 27. How do I use XML? First of all:
  • 28. DOM: Document Object Model <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <presentation> <slide title=&quot;Markup Example”> <bullet>Captivating point 1.</bullet> <bullet>Captivating point 2.</bullet> </slide> </presentation> DOM Parser Application- Specific results presentation (DOM Element) slide (DOM Element) bullet (DOM Element) bullet (DOM Element) Captivating point 1. (DOM Text) Captivating point 2. (DOM Text) Markup Example (DOM Attribute)
  • 29. SAX: Simple API for XML <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <presentation> <slide title=&quot;Markup Example”> <bullet>Captivating point 1.</bullet> </slide> </presentation> SAX Parser Start Element: presentation Application- Specific results Start Element: slide (with attribute list) End Element: slide Text: Captivating point 1. End Element: bullet Start Element: bullet End Element: presentation Application- Specific Event Processing Code
  • 30.
  • 31. How do I use DXL? Now back to:
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44. What Can DXL Do For Me?
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63. DXL to Excel XML Mapping Armed with this data, I created an XSLT style sheet to convert a set of DXL documents to an Excel XML spreadsheet. See PlayersDxlToExcel.xslt Copy boilerplate content (from OnePlayerExcel.xml) that precedes and follows the actual workbook data <Workbook> <database> For each <document>, generate a <Row> <Row> <document> For <item>s of interest, generate a <Cell> Generated any computed <Cell>s <Cell> <item> XSLT Style Sheet pseudo-code Excel XML DXL
  • 64.
  • 65.
  • 66.