Structural editing with schema awareness
First Claim
1. For a structured markup language document having a plurality of data entry fields each corresponding to a markup language node, wherein the markup language nodes are arranged in a hierarchical structure of parent nodes having child nodes and wherein the hierarchical position of each said markup language node in the hierarchical structure is expressed as a corresponding fragment of the markup language, a method comprising, for each said parent node:
- forming a markup language fragment having a plurality of portions each corresponding to the fragment of a respective said child node without repeating any said fragment of a respective said child node;
adding a mapping function to an Extensible Stylesheet Language Transformation (XSLT) component by an annotation module,at least a first data entry field of the plurality of data entry fields comprising an editing control,the editing control comprising the XSLT component; and
using the portions of the markup language fragment respectively corresponding to the child nodes for data entry with the data entry fields, wherein;
the structured markup language document has a syntax described by a schema;
an electronic form definition document encodes schema information from the schema to achieve schema awareness at edit time; and
using the portions further comprises using the form definition document having the markup language fragment and the schema information at edit time to determine for each data entry field a corresponding said portion of the markup language fragment to perform data entry for the data entry field, such that data entry for each said data entry field is valid with respect to the schema.
1 Assignment
0 Petitions
Accused Products
Abstract
A markup language document has data entry fields corresponding to markup language nodes that are arranged in a hierarchical structure of parents having child nodes. The hierarchical position of each markup language node in the hierarchical structure is expressed as a corresponding fragment of the markup language. For each parent, a markup language fragment is formed so as to have a plurality of portions each corresponding to the fragment of a respective child node without repeating any fragment of the respective child nodes. Portions that respectively correspond to the child nodes are used for data entry with the data entry fields, where an electronic form is displayed on a user interface for interactive data entry. The electronic form has one or more data entry fields each corresponding to one of the data entry fields of the structured markup language document and into which data can be entered.
600 Citations
37 Claims
-
1. For a structured markup language document having a plurality of data entry fields each corresponding to a markup language node, wherein the markup language nodes are arranged in a hierarchical structure of parent nodes having child nodes and wherein the hierarchical position of each said markup language node in the hierarchical structure is expressed as a corresponding fragment of the markup language, a method comprising, for each said parent node:
-
forming a markup language fragment having a plurality of portions each corresponding to the fragment of a respective said child node without repeating any said fragment of a respective said child node; adding a mapping function to an Extensible Stylesheet Language Transformation (XSLT) component by an annotation module, at least a first data entry field of the plurality of data entry fields comprising an editing control, the editing control comprising the XSLT component; and using the portions of the markup language fragment respectively corresponding to the child nodes for data entry with the data entry fields, wherein; the structured markup language document has a syntax described by a schema; an electronic form definition document encodes schema information from the schema to achieve schema awareness at edit time; and using the portions further comprises using the form definition document having the markup language fragment and the schema information at edit time to determine for each data entry field a corresponding said portion of the markup language fragment to perform data entry for the data entry field, such that data entry for each said data entry field is valid with respect to the schema. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer readable medium comprising machine readable instructions that, when executed by a computer, perform a method that uses a structured markup language document having a syntax described by a schema, the structured markup language document also having a plurality of data entry fields each corresponding to a markup language node, wherein the markup language nodes are arranged in a hierarchical structure of parent nodes having child nodes, and wherein the hierarchical position of each said markup language node in the hierarchical structure is expressed as a corresponding fragment of the markup language, the method comprising:
-
displaying an electronic form on a UI for interactive data entry, wherein; the electronic form has a plurality of data entry fields respectively corresponding to data entry fields of the structured markup language document and into which data can be entered; at least a first data entry field of the plurality of data entry fields comprises an editing control; the editing control comprises an Extensible Stylesheet Language Transformation (XSLT) component; and the electronic form is associated with an electronic form definition document defining for each said parent node a markup language fragment to encode each editable fragment of the parent node, the markup language fragment for each said parent node having a plurality of portions each corresponding to the fragment of a respective said child node of the parent node, wherein; the electronic form definition document encodes schema information from the schema to achieve schema awareness at edit time; two said portions correspond to the longest and the shortest said fragments of respective said child nodes; and the markup language fragment is smaller than a combination of all possible fragments of the child nodes of the parent node; adding a mapping function to the XSLT component by an annotation module; for each said parent node, using the form definition document having the markup language fragment and the schema information at edit time to determine for each data entry field a corresponding said portion of the markup language fragment to perform data entry for the data entry field, such that data entry for each said data entry field is valid with respect to the schema. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A computer readable medium comprising instructions that, when executed by a computer, perform a method having a step of identifying a hierarchy of markup language nodes that need to be inserted or deleted, and where they need to be inserted, when data is added to or deleted from a structured markup language document, wherein:
-
the hierarchy of markup language nodes is an expression of all possible fragments of a hierarchical markup language that are to be inserted when rendering the structured markup language document by processing documents containing structured data that is expressed using the hierarchical markup language; and the expression of all possible fragments is encoded in a manifest file as a single markup language fragment that; includes respective sub-fragments having the maximum and minimum number of characters each corresponding to one or more said markup language nodes; and has less characters than a fragment containing all possible fragments;
the structured markup language document has a syntax described by a schema;the manifest file encodes schema information from the schema to achieve schema awareness at edit time; and the identifying a hierarchy of markup language nodes further comprises using the manifest file having the single markup language fragment and the schema information at edit time to determine a corresponding portion of the single markup language fragment to be inserted or deleted, such that the data added to or deleted from the structured markup language document is valid with respect to the schema. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. An apparatus comprising:
-
means for receiving an instruction to open a structured markup language document having a plurality of data entry fields each corresponding to a markup language node, wherein; the markup language nodes are arranged in a hierarchical structure of parent nodes having child nodes; the hierarchical position of each said markup language node in the hierarchical structure is expressed as a corresponding fragment of the markup language; and a markup language fragment is associated via a data set with each said parent node and has a plurality of portions each corresponding to the fragment of a respective said child node without repeating any said fragment of a respective said child node; means for opening the structured markup language document with the data set that includes a presentation application and a markup-language schema;
wherein portions of the structured markup language document are logically coupled with fragments of the markup-language schema, and wherein the data set further comprises a manifest of all file, the manifest encoding said markup language fragments associated with each said parent node and schema information from the markup-language schema to achieve schema awareness at edit time;means for executing the presentation application to render an electronic form containing data-entry fields respectively associated with; the coupled portions; and the data entry fields of the structured markup language document; means for receiving data entry into the data-entry fields of the electronic form; means for using, for each said parent node, the portions respectively corresponding to the child nodes for entering data into the structured markup language document as received from the data entry into the data-entry fields of the electronic form; means for using one or more files in the manifest to represent at least a part of the structured markup language document in the electronic form; and means for using at edit time one or more files in the manifest to allow a user to input data into the data-entry fields of the electronic form, including using said markup language fragments and the schema information in the manifest to; determine for each of the data-entry fields a corresponding said portion of said markup language fragment associated with a respective said parent node to perform data entry for the data entry field; and validate the data that the user inputs into the one or more data-entry fields of the electronic form with respect to the markup-language schema. - View Dependent Claims (33, 34, 35, 36, 37)
-
Specification