SlideShare ist ein Scribd-Unternehmen logo
1 von 66
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.

Weitere ähnliche Inhalte

Was ist angesagt? (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
 

Ähnlich wie 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
 
6 311 W
6 311 W6 311 W
6 311 W
 
6 311 W
6 311 W6 311 W
6 311 W
 

Mehr von 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 uklugdominion
 
iOS enterprise
iOS enterpriseiOS enterprise
iOS enterprisedominion
 
cloud session uklug
cloud session uklugcloud session uklug
cloud session uklugdominion
 
Uklug 2011 administrator development synergy
Uklug 2011 administrator development synergyUklug 2011 administrator development synergy
Uklug 2011 administrator development synergydominion
 
Uklug 2011 client management
Uklug 2011 client managementUklug 2011 client management
Uklug 2011 client managementdominion
 
JavaScript blast
JavaScript blastJavaScript blast
JavaScript blastdominion
 
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 Notesdominion
 
Taking themes to the next level
Taking themes to the next levelTaking themes to the next level
Taking themes to the next leveldominion
 
Supersize me
Supersize meSupersize me
Supersize medominion
 
Aussie outback
Aussie outbackAussie outback
Aussie outbackdominion
 
Learning to run
Learning to runLearning to run
Learning to rundominion
 
Implementing xpages extension library
Implementing xpages extension libraryImplementing xpages extension library
Implementing xpages extension librarydominion
 
Abb presentation uklug
Abb presentation uklugAbb presentation uklug
Abb presentation uklugdominion
 
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.0dominion
 
Domino testing presentation
Domino testing presentationDomino testing presentation
Domino testing presentationdominion
 
Composite applications tutorial
Composite applications tutorialComposite applications tutorial
Composite applications tutorialdominion
 
Maximizing application performance
Maximizing application performanceMaximizing application performance
Maximizing application performancedominion
 
Error handling in XPages
Error handling in XPagesError handling in XPages
Error handling in XPagesdominion
 

Mehr von 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
 

Kürzlich hochgeladen

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 

Kürzlich hochgeladen (20)

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 

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.