SlideShare a Scribd company logo
1 of 32
Download to read offline
Introducing MicroXML
Uche Ogbuji, XML Prague, 10 February 2013
uche@ogbuji.net
Twitter: @uogbuji
Sunday, February 10, 13
Presenters - Uche
• Pioneer/expert in XML,
RDF/semantic web &
SOA/Web services
• Data architecture best practices
• Prolific writer &
presenter
• Partner at Zepheira
• Leads data architecture practice
• Lead developer of
influential open
specifications & open
source software
• EXSLT
• MicroXML
• 4Suite / Akara (+Amara)
• Python/XML
Sunday, February 10, 13
FantasticVoyage
• Know your history (because those who don’t…)
• A micro tour
• OK now what?
Sunday, February 10, 13
XML: 15Years Old Today!
Sunday, February 10, 13
Didn’t take long before the
assassination attempts
Scene: Ides of March, 1998
<?XML?>
Sunday, February 10, 13
PaulT’s XML Alternatives
http://web.archive.org/web/20040920081125/http://www.pault.com/pault/pxml/xmlalternatives.html
Sunday, February 10, 13
“XML Alternatives”
Just the first section, 2004
• YAML
• OGDL
• SDL
• DL
• Boulder
• ONX
• JSON
• SMEL
• Property Lists
• ATerms
• LMNL
• JITTs
• ConsiceXML
• SML [Common XML]
• TexMecs
• A Specification
Language
• Waterken Doc
• UBF
• Xqueeze
Sunday, February 10, 13
1999 on XML-DEV: Don Park’s tentative definition
of SML, a subset of Canonical XML, but having:
No Attributes
No Processing Instructions
No Document Type Declaration
No non-character entity-references
No CDATA marked sections
Support for only UTF-8 character encoding
No optional features
SML/Common XML
Yay! Mixed content survived!
Sunday, February 10, 13
SINE QUA NON XML?
DTDs?
Syntactic sugar?
Attributes?
Mixed content?
PIs?
Comments?
Unicode++?
Entities?
Colons?
Sunday, February 10, 13
IMNSHO
• Attributes
• Metadata, anchors for processing
• Mixed content
• Computer people like neat,“square” data, but so much real-
world information is in ragged, semi-structured documents
• Unicode
• Because I’ve wrassled e.g.ASCII/EBCDIC (nightmares!) &
prefer to defer to a standardized worse-is-better
SINE QUA NON XML?
Sunday, February 10, 13
But for the longest time
such debate was all…
Sunday, February 10, 13
Then one day in 2010…
Twitter & Foursquare dropped XML
from APIs.Went to JSON only
Sunday, February 10, 13
“JSON vs.
XML? Meh.”
http://norman.walsh.name/2010/11/17/deprecatingXML
Sunday, February 10, 13
http://blog.jclark.com/2010/11/xml-vs-web_24.html
“…there's a gulf between the XML
community and the broader Web developer
community; all the stuff that's been piled on
top of XML, together with the huge advances
in the Web world in HTML5, JSON and
JavaScript, have combined to make XML be
perceived as an overly complex, enterprisey
technology, which doesn't bring any value to
the average Web developer.”
Sunday, February 10, 13
December, 2010
• Much discussion/debate on future of XML,
XML 2.0, etc.
• James Clark came along and crystallized the
matter
MicroXML is born:
http://blog.jclark.com/2010/12/microxml.html
...
http://blog.jclark.com/2010/12/more-on-microxml.html
Sunday, February 10, 13
2011-
• John Cowan drafts a spec on his blog, with his
own variations on James’s proposed grammar
• John Cowan implements his MicroXML flavor
as MicroLark
MicroXML is first implemented:
http://recycledknowledge.blogspot.com/2011/01/microlark-parser.html
Sunday, February 10, 13
2012-
• Media catches up to MicroXML (my articles in
developerWorks lead to SD Times coverage)
MicroXML goes semi-official:
http://www.w3.org/community/microxml/
MicroXML gets noticed:
http://www.ibm.com/developerworks/library/x-microxml1/
http://sdt.bz/36778
• A W3C community group is launched, led by
James Clark, John Cowan & Uche Ogbuji
Sunday, February 10, 13
A look at MicroXML
This won’t take long.
That’s the idea!
Sunday, February 10, 13
Open membership, 36 participants
Draconian error handling not required
No DTD features or XML declaration
No colons in element & attribute names, no “xmlns”
Only hex character entity references
No PIs or CDATA Sections
Only UTF-8 character encoding
Tweaks to character syntax/model
MicroXML, as agreed
#3 means no XML Namespaces.Yay!
Sunday, February 10, 13
So basically it’s
• Elements
• Attributes
• Content
• Structure
• Metadata
• Content
Sunday, February 10, 13
Ill formed? Now what?!
<para>Hello, I claim to be
<strong>MicroXML</para>
?
Sunday, February 10, 13
No namespaces? Now what?!
• First of all, are you sure you need ‘em, or have
you just always been told that?
• No one understands them, or gets them right
• They’re just tripling everyone’s code
• Where do you stand on the Treaty of Wulai?
Sunday, February 10, 13
Can we coax that poisoned
candy from your hands?
• Hey, consider this different perspective on
layering?
• Ever heard the XLink vs HLink story?
• Use out of band annotations (e.g. in schemata)
to interpret vocabulary “islands” in the XML
• OK ever heard of Architectural Forms?
• No? OK just use processing pipelines, XSLT…
Sunday, February 10, 13
OK screw that. Bad cop’s here
• Bottom line: Namespaces can always be
replaced by well-designed transformation
within the processing chain
• That might sound tricky, but it’s much less tricky than
XMLNS
• They’re gone from MicroXML. Consider it an intervention
from your loved ones.You’ll thank us later.
Sunday, February 10, 13
Recent activity
• First CG draft October 2012
• Several implementations since then
• Many follow-up discussions
• Error recovery
• Microschemata
• Microtransforms
• Micro arch forms
Sunday, February 10, 13
MicroLark Parser
• First implementation
• Written in Java, by John Cowan
• Based on Lark, by Tim Bray
• Push, pull and tree APIs
• About a third as much code as Lark
Sunday, February 10, 13
Other implementations
• MicroXML-js, a little MicroXML parser in
JavaScript, by James Clark
• Also seems to be a Java version in incubation
• microxml-parsers, by James Fuller a MicroXML
parser back end in REx
• Generated parsers in a number of languages: microxml.hpp
(C++), microxml.xquery (XQuery), microxml.js (Javascript),
microxml.java (Java)
• Amara 3 (by Uche Ogbuji)
Sunday, February 10, 13
So who is it for?
• People who like JSON?
• Probably not
• People who like XML?
• Maybe
Sunday, February 10, 13
It’s for those who just don’t
give a damn anymore!
Sunday, February 10, 13
You’re there, or almost there.
Admit it!
• Try it!
• Won’t take very long
• Implement it!
• Won’t take very long
Sunday, February 10, 13
Join the rebellion!
You’ll thank us later!
Sunday, February 10, 13
http://zepheira.com
uche@ogbuji.net
@uogbuji
Questions?
Discussion!
http://www.w3.org/community/microxml/
Sunday, February 10, 13

More Related Content

Recently uploaded

Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsappssapnasaifi408
 
Call Girls In Noida City Center Metro 24/7✡️9711147426✡️ Escorts Service
Call Girls In Noida City Center Metro 24/7✡️9711147426✡️ Escorts ServiceCall Girls In Noida City Center Metro 24/7✡️9711147426✡️ Escorts Service
Call Girls In Noida City Center Metro 24/7✡️9711147426✡️ Escorts Servicejennyeacort
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxStephen266013
 
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubaihf8803863
 
Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystSamantha Rae Coolbeth
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxEmmanuel Dauda
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptSonatrach
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Jack DiGiovanna
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改atducpo
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Data Warehouse , Data Cube Computation
Data Warehouse   , Data Cube ComputationData Warehouse   , Data Cube Computation
Data Warehouse , Data Cube Computationsit20ad004
 
Spark3's new memory model/management
Spark3's new memory model/managementSpark3's new memory model/management
Spark3's new memory model/managementakshesh doshi
 
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...Suhani Kapoor
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 

Recently uploaded (20)

Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
 
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
 
Call Girls In Noida City Center Metro 24/7✡️9711147426✡️ Escorts Service
Call Girls In Noida City Center Metro 24/7✡️9711147426✡️ Escorts ServiceCall Girls In Noida City Center Metro 24/7✡️9711147426✡️ Escorts Service
Call Girls In Noida City Center Metro 24/7✡️9711147426✡️ Escorts Service
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docx
 
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
 
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
 
Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data Analyst
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptx
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
 
Russian Call Girls Dwarka Sector 15 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...
Russian Call Girls Dwarka Sector 15 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...Russian Call Girls Dwarka Sector 15 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...
Russian Call Girls Dwarka Sector 15 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
Data Warehouse , Data Cube Computation
Data Warehouse   , Data Cube ComputationData Warehouse   , Data Cube Computation
Data Warehouse , Data Cube Computation
 
Spark3's new memory model/management
Spark3's new memory model/managementSpark3's new memory model/management
Spark3's new memory model/management
 
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
 

Featured

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Featured (20)

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 

Microxml (XML Prague 2013 Plenary Session)

  • 1. Introducing MicroXML Uche Ogbuji, XML Prague, 10 February 2013 uche@ogbuji.net Twitter: @uogbuji Sunday, February 10, 13
  • 2. Presenters - Uche • Pioneer/expert in XML, RDF/semantic web & SOA/Web services • Data architecture best practices • Prolific writer & presenter • Partner at Zepheira • Leads data architecture practice • Lead developer of influential open specifications & open source software • EXSLT • MicroXML • 4Suite / Akara (+Amara) • Python/XML Sunday, February 10, 13
  • 3. FantasticVoyage • Know your history (because those who don’t…) • A micro tour • OK now what? Sunday, February 10, 13
  • 4. XML: 15Years Old Today! Sunday, February 10, 13
  • 5. Didn’t take long before the assassination attempts Scene: Ides of March, 1998 <?XML?> Sunday, February 10, 13
  • 7. “XML Alternatives” Just the first section, 2004 • YAML • OGDL • SDL • DL • Boulder • ONX • JSON • SMEL • Property Lists • ATerms • LMNL • JITTs • ConsiceXML • SML [Common XML] • TexMecs • A Specification Language • Waterken Doc • UBF • Xqueeze Sunday, February 10, 13
  • 8. 1999 on XML-DEV: Don Park’s tentative definition of SML, a subset of Canonical XML, but having: No Attributes No Processing Instructions No Document Type Declaration No non-character entity-references No CDATA marked sections Support for only UTF-8 character encoding No optional features SML/Common XML Yay! Mixed content survived! Sunday, February 10, 13
  • 9. SINE QUA NON XML? DTDs? Syntactic sugar? Attributes? Mixed content? PIs? Comments? Unicode++? Entities? Colons? Sunday, February 10, 13
  • 10. IMNSHO • Attributes • Metadata, anchors for processing • Mixed content • Computer people like neat,“square” data, but so much real- world information is in ragged, semi-structured documents • Unicode • Because I’ve wrassled e.g.ASCII/EBCDIC (nightmares!) & prefer to defer to a standardized worse-is-better SINE QUA NON XML? Sunday, February 10, 13
  • 11. But for the longest time such debate was all… Sunday, February 10, 13
  • 12. Then one day in 2010… Twitter & Foursquare dropped XML from APIs.Went to JSON only Sunday, February 10, 13
  • 14. http://blog.jclark.com/2010/11/xml-vs-web_24.html “…there's a gulf between the XML community and the broader Web developer community; all the stuff that's been piled on top of XML, together with the huge advances in the Web world in HTML5, JSON and JavaScript, have combined to make XML be perceived as an overly complex, enterprisey technology, which doesn't bring any value to the average Web developer.” Sunday, February 10, 13
  • 15. December, 2010 • Much discussion/debate on future of XML, XML 2.0, etc. • James Clark came along and crystallized the matter MicroXML is born: http://blog.jclark.com/2010/12/microxml.html ... http://blog.jclark.com/2010/12/more-on-microxml.html Sunday, February 10, 13
  • 16. 2011- • John Cowan drafts a spec on his blog, with his own variations on James’s proposed grammar • John Cowan implements his MicroXML flavor as MicroLark MicroXML is first implemented: http://recycledknowledge.blogspot.com/2011/01/microlark-parser.html Sunday, February 10, 13
  • 17. 2012- • Media catches up to MicroXML (my articles in developerWorks lead to SD Times coverage) MicroXML goes semi-official: http://www.w3.org/community/microxml/ MicroXML gets noticed: http://www.ibm.com/developerworks/library/x-microxml1/ http://sdt.bz/36778 • A W3C community group is launched, led by James Clark, John Cowan & Uche Ogbuji Sunday, February 10, 13
  • 18. A look at MicroXML This won’t take long. That’s the idea! Sunday, February 10, 13
  • 19. Open membership, 36 participants Draconian error handling not required No DTD features or XML declaration No colons in element & attribute names, no “xmlns” Only hex character entity references No PIs or CDATA Sections Only UTF-8 character encoding Tweaks to character syntax/model MicroXML, as agreed #3 means no XML Namespaces.Yay! Sunday, February 10, 13
  • 20. So basically it’s • Elements • Attributes • Content • Structure • Metadata • Content Sunday, February 10, 13
  • 21. Ill formed? Now what?! <para>Hello, I claim to be <strong>MicroXML</para> ? Sunday, February 10, 13
  • 22. No namespaces? Now what?! • First of all, are you sure you need ‘em, or have you just always been told that? • No one understands them, or gets them right • They’re just tripling everyone’s code • Where do you stand on the Treaty of Wulai? Sunday, February 10, 13
  • 23. Can we coax that poisoned candy from your hands? • Hey, consider this different perspective on layering? • Ever heard the XLink vs HLink story? • Use out of band annotations (e.g. in schemata) to interpret vocabulary “islands” in the XML • OK ever heard of Architectural Forms? • No? OK just use processing pipelines, XSLT… Sunday, February 10, 13
  • 24. OK screw that. Bad cop’s here • Bottom line: Namespaces can always be replaced by well-designed transformation within the processing chain • That might sound tricky, but it’s much less tricky than XMLNS • They’re gone from MicroXML. Consider it an intervention from your loved ones.You’ll thank us later. Sunday, February 10, 13
  • 25. Recent activity • First CG draft October 2012 • Several implementations since then • Many follow-up discussions • Error recovery • Microschemata • Microtransforms • Micro arch forms Sunday, February 10, 13
  • 26. MicroLark Parser • First implementation • Written in Java, by John Cowan • Based on Lark, by Tim Bray • Push, pull and tree APIs • About a third as much code as Lark Sunday, February 10, 13
  • 27. Other implementations • MicroXML-js, a little MicroXML parser in JavaScript, by James Clark • Also seems to be a Java version in incubation • microxml-parsers, by James Fuller a MicroXML parser back end in REx • Generated parsers in a number of languages: microxml.hpp (C++), microxml.xquery (XQuery), microxml.js (Javascript), microxml.java (Java) • Amara 3 (by Uche Ogbuji) Sunday, February 10, 13
  • 28. So who is it for? • People who like JSON? • Probably not • People who like XML? • Maybe Sunday, February 10, 13
  • 29. It’s for those who just don’t give a damn anymore! Sunday, February 10, 13
  • 30. You’re there, or almost there. Admit it! • Try it! • Won’t take very long • Implement it! • Won’t take very long Sunday, February 10, 13
  • 31. Join the rebellion! You’ll thank us later! Sunday, February 10, 13