© Disruptive Innovations 2006 Etna a wysiwyg XML RELAXNG- and Gecko-based editor.

Slides:



Advertisements
Similar presentations
XML Schema Heewon Lee. Contents 1. Introduction 2. Concepts 3. Example 4. Conclusion.
Advertisements

Open Office.Org What is the Open Office.org Source Project? Open source project through which Sun Microsystems is releasing the technology for the popular.
The eXtensible Markup Language (XML) An Applied Tutorial Kevin Thomas.
What is XML? a meta language that allows you to create and format your own document markups a method for putting structured data into a text file; these.
XML: Extensible Markup Language
Cascading Style Sheets
Can schemas help SVG interwork with other markup vocabularies? MURATA Makoto (FAMILY Given) International University of Japan XHTML XForms SVG XML Events.
ISO DSDL ISO – Document Schema Definition Languages (DSDL) Martin Bryan Convenor, JTC1/SC18 WG1.
 Fundamentals of Web Design.  Describe the history and theory of XHTML  Understand the rules for creating valid XHTML documents  Apply a DTD to an.
XML Unit 6 October 31. XML, review XML is used to markup data Used to describe information Uses tags like HTML –But all tags are user-defined –Must be.
SDPL 2003Notes 2: Document Instances and Grammars1 2.5 XML Schemas n A quick introduction to XML Schema –W3C Recommendation, May 2, 2001: »XML Schema Part.
Tutorial 9 Working with XHTML
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 13-1 COS 346 Day 25.
XML Schemas Microsoft XML Schemas W3C XML Schemas.
XSL Unit 6 November 2. XSL –eXtensible Stylesheet Language –Basically a stylesheet for XML documents XSL has three parts: –XSLT –XPath –XSL-FO.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic XML.
Tutorial 9 Working with XHTML. XP Objectives Describe the history and theory of XHTML Understand the rules for creating valid XHTML documents Apply a.
Introduction to XML This material is based heavily on the tutorial by the same name at
CPSC 203 Introduction to Computers Lab 39, 40 By Jie (Jeff) Gao.
Chapter 1 Variables in the Web Design Environment.
Chapter 1 Variables in the Web Design Environment
Working with Namespaces Combining XML Vocabularies in a Compound Document.
WORKING WITH NAMESPACES
15 November 2005Linking Outside the Box1 Cross referencing between XML documents Bob Stayton Sagehill Enterprises
EAD: A Technical Introduction Julie Hardesty, Metadata Analyst June 3, 2014.
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.
XML – Extensible Markup Language XML eXtensible – add to language. Markup – delimit info using tags. Language – a way to express info.
Scientific Markup Languages Birds of a Feather A 10-Minute Introduction to XML Timothy W. Cole Mathematics Librarian & Professor of.
CREATED BY ChanoknanChinnanon PanissaraUsanachote
XSLT for Data Manipulation By: April Fleming. What We Will Cover The What, Why, When, and How of XSLT What tools you will need to get started A sample.
An Introduction to XML Presented by Scott Nemec at the UniForum Chicago meeting on 7/25/2006.
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 CIS336 Website design, implementation and management (also Semester 2 of CIS219, CIS221 and IT226) Lecture 6 XSLT (Based on Møller and Schwartzbach,
Implementing Forms and Form Renderers in the Open Source Portfolio David McPherson, Chris Maurer Will Trillich, Janice Smith Materials by Sean Keesler.
 XML is designed to describe data and to focus on what data is. HTML is designed to display data and to focus on how data looks.  XML is created to structure,
Session IV Chapter 9 – XML Schemas
Working with the XML Document Object Model ©NIITeXtensible Markup Language/Lesson 7/Slide 1 of 44 Objectives In this lesson, you will learn to: *Identify.
SDPL 2005Notes 2.5: XML Schemas1 2.5 XML Schemas n Short introduction to XML Schema –W3C Recommendation, 1 st Ed. May, 2001; 2 nd Ed. Oct, 2004: »XML Schema.
An OO schema language for XML SOX W3C Note 30 July 1999.
XP New Perspectives on XML, 2nd Edition Tutorial 2 1 TUTORIAL 2 WORKING WITH NAMESPACES.
XML – Part III. The Element … This type of element either has the element content or the mixed content (child element and data) The attributes of the.
1 Tutorial 14 Validating Documents with Schemas Exploring the XML Schema Vocabulary.
Tutorial 13 Validating Documents with Schemas
1 Tutorial 12 Working with Namespaces Combining XML Vocabularies in a Compound Document.
HTML part 2. HTML File Formats HTML 3.2 HTML 5.0 HTML Transitional HTML Frameset HTML Strict XHTML 1.0 Transitional XHTML 1.0 Frameset.
Internet & World Wide Web How to Program, 5/e. © by Pearson Education, Inc. All Rights Reserved.2.
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 –
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
When we create.rtf document apart from saving the actual info the tool saves additional info like start of a paragraph, bold, size of the font.. Etc. This.
NETWORK VISUALIZATION ABHISHEK KUMAR (2011CS50272)
Accessing XML Documents Using DOM ©NIITeXtensible Markup Language/Lesson 8/Slide 1 of 23 Objectives In this lesson, you will learn to: * Use XML DOM objects.
HTML A brief introduction HTML1. HTML, what is? HTML is a markup language for describing web documents (web pages). HTML stands for Hyper Text Markup.
XP Tutorial 9New Perspectives on HTML and XHTML, Comprehensive 1 Working with XHTML Creating a Well-Formed Valid Document Tutorial 9.
XML Validation II Advanced DTDs + Schemas Robin Burke ECT 360.
Tutorial 9 Working with XHTML. New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition 2 Objectives Describe the history and theory of XHTML.
GJXDM Tool Overview Schema Subset Generation Tool Demo.
Tutorial 9 Working with XHTML. XP Objectives Describe the history and theory of XHTML Understand the rules for creating valid XHTML documents Apply a.
Connecting to External Data. Financial data can be obtained from a number of different data sources.
XML Notes taken from w3schools. What is XML? XML stands for EXtensible Markup Language. XML was designed to store and transport data. XML was designed.
*DT Project Model Leo Treggiari Intel Corp. Dec, 2005.
JavaScript, Sixth Edition
ODF API - ODFDOM Svante Schubert Software Engineer
Tutorial 9 Working with XHTML
Tutorial 9 Working with XHTML
XML in Web Technologies
Database Processing with XML
Tutorial 9 Working with XHTML
XML Data Introduction, Well-formed XML.
CSE591: Data Mining by H. Liu
Presentation transcript:

© Disruptive Innovations Etna a wysiwyg XML RELAXNG- and Gecko-based editor

© Disruptive Innovations What is Etna? Editing Tool for Networked Authors an XML editor sponsored by the Connexions Project Open-Source MPL/GPL/LGPL cross-platform based on Gecko

© Disruptive Innovations Genesis Connexions needed a standalone editor –simple to use for people w/o xml knowledge –for the academic world –localizable, internationalizable –power without complexity –markup quality –independent

© Disruptive Innovations Requirements Wysiwyg Open-source, MPL-style preferred RELAX NG validating editor independence

© Disruptive Innovations Choices Gecko –cross-platform –MPL/GPL/LGPL –great I18n/l10n –great extensibility our own RELAX NG implementation

© Disruptive Innovations Constraints 1: simplicity –don’t show the markup! –don’t require XML knowledge at all –don’t show technical details but human friendly texts –the schema’s author should be able to specify default behaviours instead of forcing the user to make choices –the rendering in the editor should be the one a modern browser like Firefox will show/print

© Disruptive Innovations Constraints 2 : clean –Impossible to create or save invalid markup –RELAX NG validator queried by the UI layer –Impossible to load invalid markup

© Disruptive Innovations First (bad) idea –Reuse Nvu, and do some magic to show and manipulate HTML while we internally edit XML Was probably our stupidest idea ever So we decided to implement a new XML editor in Gecko

© Disruptive Innovations libeditor/xml –XML editor –RELAX NG parser Generates a graph from a domdocument holding a relax ng schema –RELAX NG validator Validates a domdocument against a relax ng graph –RELAX NG queries and actions API Allows to query the graph of a relax ng schema

© Disruptive Innovations parser: our extensions 1 –our own namespace extensions/1.0 – defines a « blank » instance for a given rng pattern; multiple blanks are allowed – default value for attribute patterns

© Disruptive Innovations parser: our extensions 2 – doctype to be added to document instances based on the schema – creates a PI in the pattern –, human-readable info for a pattern (Cf. Grif 1989 !!!) – more specifically to extend Etna

© Disruptive Innovations parser: our extensions 3 – to specify stylesheets only using when editing a document based on the current schema –,, to specify what should be the selection or the caret’s position inside a new « blank » pattern

© Disruptive Innovations parser: our extensions 4 – work in progress… we need a way to specify an element « is » a list item, a table cell, … we’re not sure yet it should be in the schema but we don’t want yet another parser, selectors mechanism and path

© Disruptive Innovations parser: our extensions 5 – listen before screaming :-) we claim it should be the RNG author’s responsability to specify two CRs at the end of a list item end the list and create a paragraph so we need a solution describing behaviours and attaching them to pattens

© Disruptive Innovations parser: our extensions 6 –we are open to dicussion –we are open to (deep) changes –we are open to standardization –we just want a viable, reliable, simple solution for problems all SGML/XML folks have been fighting with for TWENTY YEARS.

© Disruptive Innovations validator –validates a domdocument against a RNG schema loaded by our schema manager –hidden by the XML editor and the nsEditingSession –from an implementor’s perspective, just like nsPlaintextEditor or nsHTMLEditor…

© Disruptive Innovations queries: examples –query the rng schema to know if the result of a given action is valid –canDeleteNode(in DOMNode node) –canSetAttribute(in DOMElement elt, in string name, in URI namespaceUri, in string value) –canDeleteSelection() –have access to label, description, … for a given node –get the list of possible « blanks »

© Disruptive Innovations actions: examples –allow to perform actions on the document, in full conformance with the schema create « blanks », triggering UI prompts when needed –doDeleteNode(in DOMNode node) –doSetAttribute(in DOMElement elt, in string name, in URI namespaceUri, in string value) –doDeleteSelection()

© Disruptive Innovations Etna: what else ? –extensible set of datatypes: RNG datatypes and a lot of XML Schema datatypes by default –in theory, the validator is not RNG-specific and can be adapted to other schema languages

© Disruptive Innovations The future of Etna –help schema authors build UI extensions specific to their schemas –MathML –tabeditor… –xulrunner –world domination

© Disruptive Innovations Conclusion –Etna is not only an XML editor it’s also the proof a major project like a wysiwyg XML editor based on Gecko is possible, feasible ; that’s a superb indicator of maturity for Mozilla it’s also the live proof that it’s possible to solve VERY OLD issues with markup-based authoring in the long run, we hope to provide schema authors and the masses with a tool completely hiding the complexity of markup languages

© Disruptive Innovations Links