Decentralized Extensibility & HTML 5 (An introduction to the debate)

Slides:



Advertisements
Similar presentations
XML-XSL Introduction SHIJU RAJAN SHIJU RAJAN Outline Brief Overview Brief Overview What is XML? What is XML? Well Formed XML Well Formed XML Tag Name.
Advertisements

Decentralized Extensibility & HTML 5 (An introduction to the debate) Noah Mendelsohn Distinguished Engineer – IBM Corp. Co-chair: W3C Technical Architecture.
W3C XML Schema: what you might not know (and might or might not like!) Noah Mendelsohn Distinguished Engineer IBM Corp. October 10, 2002.
 Fundamentals of Web Design.  Describe the history and theory of XHTML  Understand the rules for creating valid XHTML documents  Apply a DTD to an.
M. Honkala, A. Vainio XForms & SVG MITA Seminar, HUT SVG Introduction Features Benefits Simple Example Standardization Mobile Environment Current.
Tim Berners-Lee authors HTML in 1991, assisted by his colleagues at CERN,
Basics of HTML What is HTML?  HTML or Hyper Text Markup Language is the standard markup language used to create Web pages.  HTML is.
Project 1 Introduction to HTML.
IS 373—Web Standards Todd Will
XML: Extensible Markup Language BA Presented by: Tara Barnes, Lauren Jones, Ryan Kline.
XML A brief introduction ---by Yongzhu Li. XML --- a brief introduction 2 CSI668 Topics in System Architecture SUNY Albany Computer Science Department.
Tutorial 1 Developing a Basic Web Page
Tutorial 9 Working with XHTML. XP Objectives Describe the history and theory of XHTML Understand the rules for creating valid XHTML documents Apply a.
XML Introduction What is XML –XML is the eXtensible Markup Language –Became a W3C Recommendation in 1998 –Tag-based syntax, like HTML –You get to make.
Introducing XHTML: Module B: HTML to XHTML. Goals Understand how XHTML evolved as a language for Web delivery Understand the importance of DTDs Understand.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
CNIT 133 Interactive Web Pags – JavaScript and AJAX Review HTML5.
ECA 228 Internet/Intranet Design I Intro to XML. ECA 228 Internet/Intranet Design I HTML markup language very loose standards browsers adjust for non-standard.
Chapter 1 Variables in the Web Design Environment.
Chapter 1 Variables in the Web Design Environment
Pemrograman Berbasis WEB XML part 2 -Aurelio Rahmadian- Sumber: w3cschools.com.
Chapter 9 Web Services Architecture and XML. Objectives By study in the chapter, you will be able to: Describe what is the goal of the Web services architecture.
Why XML ? Problems with HTML HTML design - HTML is intended for presentation of information as Web pages. - HTML contains a fixed set of markup tags. This.
CREATED BY ChanoknanChinnanon PanissaraUsanachote
1 Document Object Model (DOM) MV4920 – XML 24 September 2001 Simon R. Goerger MAJ, US Army
Chapter 1 Understanding the Web Design Environment Principles of Web Design, 4 th Edition.
Week 1 Understanding the Web Design Environment. 1-2 HTML: Then and Now HTML is an application of the Standard Generalized Markup Language Intended to.
1 © Netskills Quality Internet Training, University of Newcastle Introducing XML © Netskills, Quality Internet Training University.
HTML and Style. Session overview Leveling-off on the basic concepts of HTML and Styles Discuss Web authoring options.
XHTML1 Building Document Structure Chapter 2. XHTML2 Objectives In this chapter, you will: Learn how to create Extensible Hypertext Markup Language (XHTML)
HTML INTRODUCTION, EDITORS, BASIC, ELEMENTS, ATTRIBUTES.
What is XML?  XML stands for EXtensible Markup Language  XML is a markup language much like HTML  XML was designed to carry data, not to display data.
HTML, XHTML, and CSS Sixth Edition Chapter 1 Introduction to HTML, XHTML, and CSS.
Versioning, Extensibility & Postel’s Law Noah Mendelsohn Tufts University Web:
1 XML An Overview Roger Debreceny University of Hawai`i Skip White University of Delaware XBRL Workshop, August 2006.
RDFa, Microformats, and Atom Semantic Web Presented by: Anuradha Kandula Instructor: Steven Seida.
1 Credits Prepared by: Rajendra P. Srivastava Ernst & Young Professor University of Kansas Sponsored by: Ernst & Young, LLP (August 2005) XBRL Module Part.
XML Basics A brief introduction to XML in general 1XML Basics.
XML Schema (W3C) Thanks to Jussi Pohjolainen TAMK University of Applied Sciences.
Web Technologies Lecture 4 XML and XHTML. XML Extensible Markup Language Set of rules for encoding a document in a format readable – By humans, and –
Chapter 1 Introduction to HTML, XHTML, and CSS HTML5 & CSS 7 th Edition.
XP Review 1 New Perspectives on JavaScript, Comprehensive1 Introducing HTML and XHTML Creating Web Pages with HTML.
Using DSDL plus annotations for Netconf (+) data modeling Rohan Mahy draft-mahy-canmod-dsdl-01.
Tutorial 9 Working with XHTML. New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition 2 Objectives Describe the history and theory of XHTML.
RDFa Primer Bridging the Human and Data webs Presented by: Didit ( )
 XML derives its strength from a variety of supporting technologies.  Structure and data types: When using XML to exchange data among clients, partners,
Tutorial 9 Working with XHTML. XP Objectives Describe the history and theory of XHTML Understand the rules for creating valid XHTML documents Apply a.
XML Namespaces In this first lesson XML Namespaces, you will learn to:
HTML PROJECT #1 Project 1 Introduction to HTML. HTML Project 1: Introduction to HTML 2 Project Objectives 1.Describe the Internet and its associated key.
Decentralized Extensibility & HTML 5 (An introduction to the debate) Noah Mendelsohn Distinguished Engineer – IBM Corp. Co-chair: W3C Technical Architecture.
Extensible Markup Language (XML) Pat Morin COMP 2405.
An Introduction to RDFa QingXia Liu Contents What is RDFa? Why RDFa? Versions of RDFa An Example
XML BASICS and more…. What is XML? In common:  XML is a standard, simple, self-describing way of encoding both text and data so that content can be processed.
DHTML.
Project 1 Introduction to HTML.
Inline Vs. External Policy Attachment SCA Policy Framework
RDFa How and Why Ralph R. Swick World Wide Web Consortium
4.01B Authoring Languages and Web Authoring Software
Web Standards Web Design – Sec 2-3
Versioning, Extensibility & Postel’s Law
XML QUESTIONS AND ANSWERS
Project 1 Introduction to HTML.
Introduction to XHTML.
Web Standards Web Design – Sec 2-3
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
Prepared for Md. Zakir Hossain Lecturer, CSE, DUET Prepared by Miton Chandra Datta
4.01B Authoring Languages and Web Authoring Software
Versioning, Extensibility & Postel’s Law
Why use Web Standards?.
Web Programming : Building Internet Applications Chris Bates CSE :
Presentation transcript:

Decentralized Extensibility & HTML 5 (An introduction to the debate) Noah Mendelsohn Distinguished Engineer – IBM Corp. Co-chair: W3C Technical Architecture Group W3C Technical Plenary 4 November 2009

Disclaimer The opinions expressed in this presentation are not necessarily those of the TAG or of my employer, IBM.

The Basics

What is Decentralized Extensibility?

What sorts of extensions? Elements SVG <svg:circle> MathML, etc. <math:mrow> FBML <fb:if-is-friends-with-viewer uid="12345"> Hey you guys are friends! <fb:else> How come you don’t like me? </fb:else> </fb:if-is-friends-with-viewer> Attributes RDFa <span property="cal:dtstart“ content= "2007-09-16T16:00:00-05:00“ datatype="xsd:dateTime"> Data values Enumerated attribute values <link rel=“…your relation here…”> Includes changes intended for widespread use, as well as local extensions

Why DE is good – architects’ view Modularity is good Separation of concerns is good The Web is too big for any central group to invent or cooordinate all needed extensions to languages like HTML Q.E.D.

Why DE is good – real world view Easier to reuse the pieces SVG can be hosted in many languages, not just HTML Copy/paste works across those different container languages Shared implementation code The same SVG parser/renderer might be usable in lots of containers Modular tooling the same SVG tooling can help you build SVG for many host languages Reduced duplication of: user training, documentation, etc. Testing: separately developed pieces can be tested separately (up to a point) Allow for experimentation and competition: marketplace decides which are the best enhancements

Why not provide decentralized extensibility? Nobody's found a completely painless way to do DE — we'll explore why in a minute Controversy: not everyone believes HTML extensions will be needed very often anyway Many of the mechanisms proposed to avoid name collisions are ugly and/or complicated With DE, it can be hard to move experimental extensions into the core <xxx:table>  <table> Note: as we’ll see, the main controversies involve name collisions

Extensibility in HTML 5

Does HTML 5 provide DE? Yes! http://dev.w3.org/html5/spec/Overview.html#other-applicable-specifications: "When vendor-neutral extensions to this specification are needed, either this specification can be updated accordingly, or an extension specification can be written that overrides the requirements in this specification. When someone applying this specification to their activities decides that they will recognise the requirements of such an extension specification, it becomes an applicable specification for the purposes of conformance requirements in this specification. " What the text/html serialization of HTML 5 does not provide are mechanisms like XML Namespaces that help to avoid naming conflicts or help exploit existing vocabularies.

HTML 5 extension points (partial list) New element/attribute markup @class attribute @rel attribute on <a> and <link> <meta name="" content=""> <script type=""> with a custom type to embed raw data <embed> & <object> @data- attributes (new in HTML5) @itemprop (HTML 5 microdata) And yes, XML Namespaces (but only using the XML serialization -- not in the more commonly deployed text/html)

Coordinating extensions to HTML 5 Assumption is that HTML Working Group will coordinate adoption of major new function HTML Recommendation will be updated New data values, types, etc. IANA registries MIME types Character sets Wikis Name attributes on <meta> (http://wiki.whatwg.org/wiki/MetaExtensions) Pragma extensions (http://wiki.whatwg.org/wiki/PragmaExtensions) <link> rel attributes (http://wiki.whatwg.org/wiki/RelExtensions)

Some issues w/extensibility in HTML 5 XML not fully supported in text/html media type Namespaces not fully supported in text/html media type Therefore: existing XML-based capabilities may not integrate, especially with text/html tag soup (which is the common case!) The specification has been criticized as including too much (see next slide)

HTML builds in what could be extensions Graphics: Canvas SVG (status not settled): current HTML 5 spec discusses only element categorization and encourages XML- compatible export Data Data-* attributes Microdata (itemprop) RDFa mapping (removed from recent drafts?) The status of several of the above features is still being resolved.

Name Collisions, Self-describing Markup & XML Namespaces

Pros and cons of namespaces

Pros and cons of namespaces

Pros and cons of namespaces

Pros and cons of namespaces

Pros and cons of namespaces

Pros and cons of namespaces

Pros and cons of namespaces

Pros and cons of namespaces

Pros and cons of namespaces

Pros and cons of namespaces

Pros and cons of namespaces

Pros and cons of namespaces

Pros and cons of namespaces

Pros and cons of namespaces

Proposals for namespaces in HTML 5 Liam Quin: “Automatic XML Namespaces” (http://www.w3.org/2009/Talks/08-quin-balisage-namespaces/) Namespace definition files provide prefix bindings Default bindings can be associated with dated version of HTML specification Microsoft: “Distributed Extensibility Submission” (http://lists.w3.org/Archives/Public/public-html/2009Sep/att-1216/MicrosoftDistributedExtensibilitySubmission.htm) Mostly supports ordinary xmlns:pref syntax Some special handling for HTML, SVG, MathML namespaces Several proposed options for unbound prefix handling Optional: allow default namespace binding except on root element Optional: magic namespace assigned for unbound prefixes Optional: predefine prefixes such as html:, math:, svg: Removes Internet Explorer restriction that prefixes be bound on root element

Conclusion

Summary: contentious issues There is disagreement as to how often extensions will be needed and whether name collisions would tend to be a problem. There is disagreement as to whether central coordination through the HTML Working Group & Wikis is sufficient There is disagreement about whether it's practical to provide decentralized mechanisms to avoid name collisions Namespaces are ugly, but widely deployed, usable in XHTML Namespaces can complicate progression of a feature from experimental to core Proposals have been made for adapting namespaces to HTML 5 There is disagreement as to how much to compromise to maintain compatibility with XML Making namespaces work for text/html documents Consistent application of prefixes in the DOM, etc. There is disagreement as to which capabilities should be split out from HTML 5 and which existing Recommendations to make usable in HTML 5: Microdata RDFa mappings SVG Canvas Etc. There is disagreement as to whether RDFa in particular is needed

Summary: why it matters Decisions about decentralized extensibility will affect: Whether HTML 5 will adapt well as new capabilities are needed on the Web Who will be able to create and deploy enhancements to HTML Whether HTML 5 will be convenient to use Whether HTML 5 will be compatible with existing Web content Whether HTML 5 will have good synergy with XML tools and languages Whether HTML 5 itself can evolve, in future versions, into an increasingly robust framework for Web documents

Thank you!