GB2407423A - Schema driven authoring tool - Google Patents

Schema driven authoring tool Download PDF

Info

Publication number
GB2407423A
GB2407423A GB0324697A GB0324697A GB2407423A GB 2407423 A GB2407423 A GB 2407423A GB 0324697 A GB0324697 A GB 0324697A GB 0324697 A GB0324697 A GB 0324697A GB 2407423 A GB2407423 A GB 2407423A
Authority
GB
United Kingdom
Prior art keywords
schema
authoring tool
output
authoring
valid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB0324697A
Other versions
GB0324697D0 (en
Inventor
Andrew Swan
Victoria Davies
Peter Aitken
Fraser Stewart
Chris Grieve
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to GB0324697A priority Critical patent/GB2407423A/en
Publication of GB0324697D0 publication Critical patent/GB0324697D0/en
Publication of GB2407423A publication Critical patent/GB2407423A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Abstract

An authoring tool that is configured to prevent the creation of authored output that is structurally invalid, the structural validity being defined by a schema. The authoring tool is such that each time it is used to create an output, it analyses the associated schema, and based on the analysis of the schema, prevents the entry of invalid output and/or produces valid default values, preferably including those generated by static or dynamic rules within the schema. For example, in the event that the schema defines context sensitive elements, the authoring tool is operable to allow the insertion of such elements only in the correct context. By dynamically analysing the schema whilst output is being authored and ensuring that only valid output is created, the need for a post-authoring validation process can be avoided. The tool is suited for production of XML documents.

Description

1 2407423 Schema Driven Authoring
Introduction
The present invention relates to an authoring tool for the preparation of multimedia content for a variety of applications, where the content preparation and published output are dictated by a set of rules described in a schema file. In particular, the present invention relates to an authoring tool that uses XML as its internal format and a schema written in the XML Schema language.
Background
Figure 1 shows a multi-media authoring tool, which is provided in a personal computer. This tool is operable to receive inputs from various different multi-media sources and allow an author to manipulate these for use in an output device, for example a compact disc player.
More specifically, the authoring tool is operable to manipulate an XML source document and present it in graphic form to the user. The tool is also operable to present various inputs to allow the user to change to an application that is being authored, for example application that is for generating an interface for a consumer electronics device such as a mobile telephone.
Authoring tools of this nature are known and so will not be described herein in detail.
Some known XML-based authoring tools use XML schemes. The simplest form of authoring using XML and an XML Schema is a text-based application where the authored content is checked against the schema after authoring.
This has the advantage of abstracting the validation code from the tool itself. The validation code can be performed in any XML parser that supports XML schema.
Changes to the format do not immediately impact on the code base but would simply result in changes to the schema. Content is validated in the parser allowing the author to get line-by-line feedback to where errors were found in the content, as shown in Figure 1. As will be appreciated by the skilled person, this is a manual operation, which is performed at the command line level, and after authoring of the desired application. A disadvantage of this simple approach is, however, that the author gets no assistance during the authoring process and must perform validation manually.
In the last couple of years authoring tools have started to appear that use schema constraints for much more than simple validation. These tools configure the authoring environment itself by analysing the schema so, for example: the nodes that can be created are presented to the user as a drop down list, followed by the attributes for the particular node. The XMLSpy product, for example, is an XML authoring tool that can use a schema to give simple assistance to the author during the authoring process. However, this assistance is not based on a complete analysis of the schema so it is possible for the author to create invalid content during the authoring process. This invalid content must be corrected during a separate verification process.
Summary of invention
An object of the present invention is to overcome one or more problems associated with the prior art.
According to one aspect of the present invention, there is provided an authoring tool that is operable to assist a user to create valid input by analysing an associated schema, and based on the analysis of the schema, preventing the entry of an invalid input and/or entering automatically default values that are needed to ensure that the input is valid. This has the significant advantage of simplifying the authoring process as default, unique and required values are always set correctly. A further advantage is that, because the author is only presented with correct values, no separate verification process is necessary. Hence, by preventing the entry of invalid content, the functionality of the authoring tool is enhanced.
Brief Description of the Drawings
Various aspects of the invention will now be described by way of example only with reference to the accompanying drawings, of which: Figure 2 is a schematic diagram of a multi-media authoring tool in which the invention is embodied; Figure 3 is a pseudo code listing of an authoring tool algorithm for creating child elements and attributes; Figure 4 is a pseudo code listing of an authoring tool algorithm for creating and setting an initial value of an attribute as a valid value with respect to the schema; Figure 5 is a pseudo code listing of an authoring tool algorithm for determining whether a node can be validly inserted in a particular context within an existing XML document; Figure 6 is a pseudo code listing of an authoring tool algorithm for enforcing uniqueness in node attributes that are marked as unique; Figure 7 is a pseudo code listing of an authoring tool algorithm for ensuring that elements cannot be deleted in certain pre-determined circumstances, and Figure 8 is a schematic view of an authoring tool that includes the algorithm of Figures 3 to 7 in use.
Specific Description
In order to give a full description of the present
invention it is firstly necessary to describe the characteristics of an XML document that can be dictated by its schema. An XML document is composed of a hierarchy of elements starting with a single root. Each element has a name (also called a tag), a parent, a collection of child elements and a set of attributes. An attribute has a name and a value. A schema is used to define a set of rules governing the content and structure of the XML document. These rules include restrictions on the tags that can be used, the number and order of child elements and the names and values of attributes. For each element the schema can define a minimum and maximum number of occurrences. This dictates the number of instances of that element in the XML document that can occur within its parent element, a number less than the minimum number or greater than the maximum number would be invalid.
The schema may also define the children of an element in an XML document to be either a sequence of other elements or a choice from a set of elements. For a sequence to be valid the child elements must occur in the order defined by the schema. For a choice to be valid the child elements must be only one of the choices defined in the schema. As well as this, the schema may define the attributes of each element as a list of attribute names and types. An attribute can be defined as required or not. If the attribute is required then it must always exist in the element for the XML document to be valid according to its schema. An attribute value can also be described as unique within a particular context. When an attribute is defined as unique, the XML document must contain unique values for each instance of that attribute value in that context. The schema can also relate element attributes by defining them as keys and key references.
An attribute on an element can be defined as a particular key whilst an attribute on another element can be defined as that key reference. For the key reference attribute value in a XML document to be valid, it must contain a value contained in the corresponding key as defined in the schema.
The present invention relates to the use of an XML schema by an authoring tool that is operable to create authored XML documents in such a manner that the final authored content is substantially error free and does not need to go through the conventional validation process, as shown in Figure 2. This is done by fully integrating the authoring process with the schema. To this end, the authoring tool is operable to create an XML document, by for example allowing the entry of child elements, whilst at the same time analysing specifications within the schema. These specifications are used by the authoring tool to eliminate errors in the authoring process, so that the final XML document is substantially error free.
The authoring tool is able to analyse the schema specifications using a number of dedicated algorithms, which are included in the authoring tool. Pseudo code listings for these algorithms are shown in Figures 3 to To create an authored XML output, the authoring tool has to be operable to allow the author of the document to create elements. To this end, the tool includes a create element algorithm, which is operable to create not only the specified element but also to analyse child elements and create those required in the context of the specified element. This is done with respect to the schema. The creation of the child elements is accomplished in the same way as that of the specified element by the standard software technique of recursion, where an algorithm can be devised which calls itself. In this case create element creates the specified element, then recursively calls create element on each of the specified element's required children. These recursive calls to create element generate all the required descendants of the specified element. The create element algorithm also analyses the child attributes and creates those required by a call to a create attribute algorithm. This will be described in more detail later. An example of the create element algorithm is shown in Figure 3. The algorithm is performed in real time every time an element is created.
Figure 4 shows a listing for the create attribute algorithm, which is operable to set the initial value of the attribute to a valid value with respect to the schema. Of particular interest is the treatment of static and dynamic default values. A syntax has been developed to specify static values explicitly in the schema, which are set directly when the attribute is created. Dynamic values are specified using key/keyRef pairs, which are interrogated and the first valid value is placed in the attribute. These two mechanisms mean that not only is the resultant attribute value syntactically valid with respect to the schema, it is also correct with respect to the possibly more complex considerations of the media itself. By setting initial values to valid values and using the create element algorithm, with its call to create attribute, the authoring tool can construct schema compliant, valid elements in a single user operation. Typically, the single user operation would be a single mouse click on a create element icon.
Figure 5 shows pseudo code for yet another authoring tool algorithm, this time for determining whether a node can be validly inserted in a particular context within an existing XML document. This is used in the authoring user interface to ensure child nodes are inserted only where they are valid. This algorithm makes the authoring tool considerably more forgiving to use in that it not only attempts to insert the element in the context of the parent of the current position, but, if that should fail, it attempts to insert the node in the children or sibling nodes closest to the current position. As well as placing the node in the correct position in the XML document, the tool enforces uniqueness in the attributes of the node that are marked as unique. This can be done using, for example, the algorithm set out in Figure 6. The algorithm of Figure 7 ensures that elements cannot be deleted when a deletion operation would take the number of child elements for a particular parent below the minimum number specified in the schema.
Figure 8 shows a user interface for an authoring tool that includes the algorithms of each of Figures 3 to 7. This includes a plurality of user selectable icons for allowing various authoring actions to occur. In accordance with the present invention, a create element icon is provided. Selection of this, for example using a single mouse click, activates the create element algorithm, which analyses the schema that is being used, and automatically creates a suitable element. Depending on the nature of the schema, the element may be context sensitive and may have a family of child elements. If 10 this is the case, the create element algorithm is operable to automatically generate the child elements, and at the same time ensure the creation of any necessary child attributes included in the schema. In this way, parent and child elements having schema compliant entries are automatically generated by the tool, so that the need for a later validation stage can be avoided.
The authoring tool in which the invention is embodied is configured to prevent the creation of authored output that is structurally invalid. The authoring tool is such that each time it is used to create an output, it analyses an associated schema, and based on the analysis of the schema, prevents the entry of invalid output and/or produces valid default values, preferably including those generated by static or dynamic rules within the schema. By dynamically analysing the schema whilst output is being authored and ensuring that only valid output is created, the need for a post authoring validation process can be avoided.
A skilled user will appreciate how the features presented here in the simplest operations: create, insert and delete, have implications in other more complex operations regarded as standard in modern user interfaces. It will therefore be appreciated that the algorithms as described are base algorithms used in at least the following operations: cut, paste, copy, drag, drop, undo and redo. Accordingly, the above description is made by way of example only and not for the purposes of limitation. It will be clear to the skilled person that minor modifications may be made without significant changes to the operation described.

Claims (8)

  1. Claims 1. An authoring tool for creating an authored output, the authoring
    tool being configured to prevent creation of output that is structurally invalid, the structural validity being defined by a schema.
  2. 2. An authoring tool as claimed in claim 1 that is operable to analyse the schema, and based on the analysis of the schema, prevent the entry of an invalid output.
  3. 3. An authoring tool as claimed in claim 1 or claim 2 that is configured to use information contained in the schema to produce valid default values, preferably including those generated by static or dynamic rules within the schema.
  4. 4. An authoring tool as claimed in any of the preceding claims that is configured to generate valid elements response to a user operation, preferably a single user operation such as a mouse click.
  5. 5. An authoring tool as claimed in any of the preceding claims that is configured to allow elements to be inserted only in the correct context.
  6. 6. An authoring tool as claimed in any of the preceding claims that is configured to place inserted elements in the nearest correct context to a pre-determined insertion point.
  7. 7. An authoring tool as claimed in any of the preceding claims that is configured to analyse the schema to prevent deletion of an element where this would cause the schema to become structurally invalid.
  8. 8. An authoring tool that is operable to assist a user create valid input by analysing an associated schema, and based on the analysis of the schema, preventing creation of an invalid output and/or entering automatically default or unique values that are needed to ensure that the output is valid.
GB0324697A 2003-10-23 2003-10-23 Schema driven authoring tool Withdrawn GB2407423A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0324697A GB2407423A (en) 2003-10-23 2003-10-23 Schema driven authoring tool

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0324697A GB2407423A (en) 2003-10-23 2003-10-23 Schema driven authoring tool

Publications (2)

Publication Number Publication Date
GB0324697D0 GB0324697D0 (en) 2003-11-26
GB2407423A true GB2407423A (en) 2005-04-27

Family

ID=29595652

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0324697A Withdrawn GB2407423A (en) 2003-10-23 2003-10-23 Schema driven authoring tool

Country Status (1)

Country Link
GB (1) GB2407423A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7216052B2 (en) * 2005-02-08 2007-05-08 Spx Corporation Authoring diagnostic test sequences apparatus and method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1376389A2 (en) * 2002-06-27 2004-01-02 Microsoft Corporation System and method for validating an XML document and reporting schema violations

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1376389A2 (en) * 2002-06-27 2004-01-02 Microsoft Corporation System and method for validating an XML document and reporting schema violations

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Article entitled 'Learning XML' found at http://www.ravelgrane.com/ER/doc/lx/ch01.html by By Erik T. Ray *
Article entitled 'oXygen adds limited Relax NG-driven editing support' by Micheal Smith found at http://www.xmlhack.com/read.php?item=2072&v=1&t=comment%3A622 *
Article entitled 'RE: FrameMaker + SGML', Dan Emory found at http://www.raycomm.com/techwhirl/phpapps/pfv/pfv.php?/techwhirl/archives/0005/techwhirl-0005-00232.html *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7216052B2 (en) * 2005-02-08 2007-05-08 Spx Corporation Authoring diagnostic test sequences apparatus and method

Also Published As

Publication number Publication date
GB0324697D0 (en) 2003-11-26

Similar Documents

Publication Publication Date Title
US7275209B1 (en) Mixed content flexibility for XML editors
US8078960B2 (en) Rendering an HTML electronic form by applying XSLT to XML using a solution
US7197515B2 (en) Declarative solution definition
KR100977352B1 (en) System and method for supporting non-native xml in native xml of a word-processor document
US7127704B2 (en) Interactive software engineering tool with support for embedded lexical contexts
US7657832B1 (en) Correcting validation errors in structured documents
US6996781B1 (en) System and method for generating XSL transformation documents
US8117533B2 (en) Method and system for stylesheet rule creation, combination, and removal
KR101130500B1 (en) Mechanism for providing data driven command line output
US7992088B2 (en) Method and system for copy and paste technology for stylesheet editing
EP0752649A2 (en) System and method for textual editing of structurally-represented computer programs with on-the-fly typographical display
US8732595B2 (en) Condition editor for business process management and business activity monitoring
US20040268229A1 (en) Markup language editing with an electronic form
US20020103835A1 (en) Methods and apparatus for constructing semantic models for document authoring
JP2008251033A (en) Method for generic object oriented description of structured data (gdl)
KR20050056123A (en) Programmable object model for namespace or schema library support in a sofrware application
Vlist XML Schema: The W3C's Object-Oriented Descriptions for XML
KR20060114617A (en) Mechanism for providing extended functionality to command line instructions
Fisher et al. The next 700 data description languages
KR20070051250A (en) Mechanism for analyzing partially unresolved input
Cameron Rex: Xml shallow parsing with regular expressions
GB2407423A (en) Schema driven authoring tool
Bozsahin et al. Specifying grammars for OpenCCG: A rough guide
US7562295B1 (en) Representing spelling and grammatical error state in an XML document
Watt et al. XLink Essentials

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)