Method and Apparatus for Model Driven, Standards-Based, Reference Implementation Development Mechanism
Original Publication Date: 2005-Oct-25
Included in the Prior Art Database: 2005-Oct-25
Building tooling for the creation of mixed namespace documents can be daunting, and the result is often inflexible with respect to keeping up with changes in schemas and changes in supporting browser and renderer user agents. One solution is an open standards-based approach leveraging the Eclipse Modeling Framework (EMF) and underlying ECore models for representing functional schemas (such as XHTML, XForms, VoiceXML, MathML, SVG, SMIL, etc.) and the connections between these functional schemas. These models can be leveraged to provide a dynamic environment for automated serialization of instance documents that adhere to the combined functional schema definitions while providing a directed editing experience.
Method and Apparatus for Model Driven, Standards -Based, Reference Implementation Development Mechanism
A program is disclosed that is a standards-based, model-driven, compound document development framework that supports dynamic compound document creation and serialization. The program, a Compound XML Document Editor, utilizes Model Driven Development concepts with Eclipse Eclipse Modeling Framework (EMF) to help develop flexible compound documents and the profiles that define them.
A namespace uniquely identifies a set of names so that there is no ambiguity when objects having different origins but the same names are mixed together. An XML namespace is a collection of element type and attribute names. These element types and attribute names are uniquely identified by the name of the unique XML namespace of which they are a part. In an XML document, any element type or attribute name can thus have a two-part name consisting of the namespace name and the element or attribute name.
Compound documents may be composed of a single document that contains multiple namespaces. This is a Compound Document "by Inclusion" (CDI). However, a compound document may also be composed over several documents in which one document of a particular namespace references another separate document of a different namespace.
A compound document by inclusion combines XML markup from several namespaces into a single physical document. A number of standards exist, and continue to be developed, that are descriptions of XML markup within a single namespace. XHTML, XForms, VoiceXML, and MathML are some of the prominent examples of such standards, each having its own namespace. Each of these specifications focuses on one aspect of rich-content development.
To authors of content, each of these many standards is useful and important. However, it is the combination of elements of any number of these standards that lends true flexibility and power to rich document creation. A document may exist to be displayed within a web browser, to display an input form, with a scalable graphic and a bit of mathematical notation, all on the same page. XHTML, XForms, SVG, and MathML, respectively, serve these needs, and could therefore be combined into a single multi-namespace document.
For example, a root or top-most document might contain XHTML content for defining and formatting a page. This parent XHTML document can reference another document, , of another namespace, through the use of the XHTML <object> tag. This can be repeated for as many documents as needed. The root document plus this collection of separate, referenced documents is considered a Compound Document "by Reference" (CDR).
And of course, a compound document may be a hybrid of both compound document by inclusion and compound document by reference.
A Model driven apporach can be applied to compound document development. The process begins by defining business logic early in the requirements phases of software deve...