CN101203848A - Document processing device and document processing method - Google Patents

Document processing device and document processing method Download PDF

Info

Publication number
CN101203848A
CN101203848A CNA2006800220522A CN200680022052A CN101203848A CN 101203848 A CN101203848 A CN 101203848A CN A2006800220522 A CNA2006800220522 A CN A2006800220522A CN 200680022052 A CN200680022052 A CN 200680022052A CN 101203848 A CN101203848 A CN 101203848A
Authority
CN
China
Prior art keywords
document
data
document processing
unit
disposal system
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
CNA2006800220522A
Other languages
Chinese (zh)
Inventor
大岛教雄
叶俊信
藤卷祐介
植松直也
市野孝彦
福良伴昭
安富秀彦
坂本善之
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.)
JustSystems Corp
Original Assignee
JustSystems Corp
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 JustSystems Corp filed Critical JustSystems Corp
Publication of CN101203848A publication Critical patent/CN101203848A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

Provided is a technique for properly processing the data which is structured in a markup language. A view template (78) operates, by using the data in a document, to reveal a predetermined function. A presentation unit (72) presents the user the usable view template (78). An acceptance unit (74) accepts, from the user, an instruction to insert the view template (78) into the document. An edition unit (76) inserts, when the acceptance unit (74) accepts the insertion instruction of the view template (78), a component element (or tag) for starting the view template, into such a position in the document that the insertion has been instructed. The edition unit (76) further describes a parameter or the like necessary for the operation of the view template, in the document.

Description

Document processing device, document processing and document processing method
Technical field
The present invention relates to document processing technology, particularly processing is by the document processing device, document processing and the method for the document of SGML description.
Background technology
In recent years, the operation technique of the Internet has obtained the progress that attracts people's attention, and makes us can visit various in the world information.In the past, the text based webpage of describing with HTML was a main flow.And now, foundation structure is improving, and putting up the abundant form of expression such as image, music and animation on webpage has become main flow.
And, except merely in webpage the transmission information, can also be by description script on webpage etc., realize various functions.For example, by the application program of developing as ActiveX control with the control of VB script, even on webpage, also can make the wide variety of applications procedure operation.
Summary of the invention
The problem that invention will solve
But, because the inside of ActiveX control itself by black boxization, therefore can't realize making mutual direct correlation between the ActiveX control and operate such application.The present invention has expected the new programming or the technological thought of script for development environment more flexible, that have the application program of high scalability and versatility is provided.
The present invention makes in view of this situation, and its purpose is to provide a kind of technology to suitably being handled by the data of SGML structure.
Solve the scheme of problem
In order to solve above-mentioned problem, the document processing device, document processing of embodiments of the present invention comprises: the document acquiring unit, obtain the document of being described by predetermined tally set; Disposal system, handle the affiliated tally set of formation element of described document, wherein, when having, formation element contained in the described document points to when being contained in the pointer information of other data in the described document, described disposal system is operated with reference to the described data that described pointer information points to, during the tally set of described disposal system under handling described formation element, described other data are used as reference data.
Above-mentioned pointer information can be described with the xpath mode.Above-mentioned pointer information can be the conceptual information that defines clearly.Above-mentioned document processing device, document processing can also comprise analytic unit, when above-mentioned pointer information is provided as above-mentioned conceptual information, determines the data that above-mentioned pointer information is indicated according to above-mentioned conceptual information.
When a plurality of formation elements contain the pointer information that points to same data source, handle each a plurality of disposal systems that constitute the affiliated tally set of element and can use above-mentioned same data source as shared memory bank.
Above-mentioned disposal system can also comprise and also comprise administrative unit, and described administrative unit is based on described document creation DOM Document Object Model data, thereby described document is managed.The indicated data of the interface described pointer information of reference that described disposal system provides by described administrative unit.When described DOM Document Object Model data are changed, described administrative unit is notified described disposal system with this change, and when receive the reformed notice of described DOM Document Object Model data from described administrative unit after, described disposal system is carried out according to described modification and is handled.
Receiving the target side of the reformed notice of described DOM Document Object Model data from described administrative unit, is with the form regulation of the conceptual information of definition clearly.In addition, described document processing device, document processing also comprises analytic unit, when receiving with the described target side of the notice of the form regulation of conceptual information when described administrative unit receives the reformed notice of described object model data, described analytic unit according to described conceptual information identification is actual will notified target side.
The required parameter information of operation that above-mentioned formation element can also comprise above-mentioned disposal system.Above-mentioned parameter information can comprise the data relevant clearly semantic type information of definition pointed with described pointer information.The conceptual information that above-mentioned parameter information is defined clearly, when the above-mentioned parameter packets of information contains the semantic type information that expression defined clearly, above-mentioned analytic unit can be determined above-mentioned pointer information data pointed with reference to above-mentioned semantic type information from above-mentioned conceptual information.
Another embodiment of the invention is a document processing device, document processing.This device comprises: receiving element, and receive processing module is appended to indication in the document, described processing module uses the data in the document to embody predetermined function; And edit cell, when receiving described indication, inserting the formation element that includes pointer information to described document, described pointer information points to the data that described processing module is used.
This device can also comprise: start unit, and it starts processing module, and described processing module is handled the described formation element that is inserted in the described document.Described edit cell can insert the required parameter of operation of described processing module in document.
Another embodiment of the present invention relates to document processing device, document processing.The document treating apparatus comprises: the document acquiring unit, obtain the document of being described by predetermined tally set; First disposal system is handled the tally set under the formation element of described document; Second disposal system, use the data in the document that intended function is provided, wherein, when the disposal system that receives the formation element that will handle described document switches to the indication of described second disposal system by described first disposal system, described second disposal system is with reference to the file that records the information that is used to discern the data that will use therein, discern the described data that will use, and use institute's recognition data that described intended function is provided.
Described second disposal system can receive the described information that is used for determining described use data from the user under the non-existent situation of described file, create described file.
In addition, should be appreciated that, realize by methods, devices and systems of the present invention etc. are made amendment, to the combination in any of the said modules or the form of expression, be equal to embodiments of the present invention.
The effect of invention
According to the present invention, can provide the suitably technology of the data of processing and utilizing SGML structure.
Description of drawings
Fig. 1 is the formation synoptic diagram of the document processing device, document processing relevant with the prerequisite technology;
Fig. 2 shows the embodiment of the XML document of being handled by document processing device, document processing;
Fig. 3 exemplarily shows XML document shown in Figure 2 is mapped as the table of being described by HTML;
Fig. 4 (a) shows the embodiment that is used for XML document shown in Figure 2 is mapped as the defined file of table shown in Figure 3;
Fig. 4 (b) shows the embodiment that is used for XML document shown in Figure 2 is mapped as the defined file of table shown in Figure 3;
Fig. 5 shows the embodiment that XML document shown in Figure 2 is mapped as the display screen of HTML and demonstration by corresponding relation shown in Figure 3;
Fig. 6 shows to making the user create the graphic user interface that defined file offers the defined file generation unit user;
Fig. 7 shows another embodiment of the screen layout that utilizes the establishment of defined file generation unit;
Fig. 8 shows the embodiment of the editing screen of the XML document that document processing device, document processing provides;
Fig. 9 shows the embodiment in addition of the XML document of utilizing the document processing device, document processing editor;
Figure 10 shows the embodiment of the screen display that shows document shown in Figure 9;
Figure 11 (a) shows the basic comprising of DPS (Document Processing System);
Figure 11 (b) shows the overall block-diagram of DPS (Document Processing System);
Figure 11 (c) shows the overall block-diagram of DPS (Document Processing System);
Figure 12 shows the details of document management unit;
Figure 13 shows the details of vocabulary connexon system;
Figure 14 shows the details of the relation between routine call unit and other assembly;
Figure 15 shows the CONSTRUCTED SPECIFICATION of the application program service that is loaded into the routine call unit;
Figure 16 shows the details of core component;
Figure 17 shows the details of document management unit;
Figure 18 shows the details of cancelling framework and cancelling order;
Figure 19 shows the operation that is written into document in DPS (Document Processing System);
Figure 20 shows the embodiment of document and performance thereof;
Figure 21 shows the relation of model and controller;
Figure 22 shows the plug-in unit subsystem, vocabulary connects and the details of connector;
Figure 23 shows the example of VCD file;
Figure 24 shows the operation that is used for compound document is loaded into DPS (Document Processing System);
Figure 25 shows the operation that is used for compound document is loaded into DPS (Document Processing System);
Figure 26 shows the operation that is used for compound document is loaded into DPS (Document Processing System);
Figure 27 shows the operation that is used for compound document is loaded into DPS (Document Processing System);
Figure 28 shows the operation that is used for compound document is loaded into DPS (Document Processing System);
Figure 29 shows command stream;
The example of Figure 30 (a) and (b) and the data structure of the XML document that (c) shows process object;
Figure 31 (a) and (b) show the embodiment of pointer information;
Figure 32 (a) and (b) illustrate the mechanism of sending the reformed notice of DOM;
Figure 33 shows the formation according to the document processing device, document processing of first embodiment of the invention;
Figure 34 shows the editing screen of document;
Figure 35 shows the editing screen that the view template that is used to dispatch is in starting state;
Figure 36 shows the formation according to the document processing device, document processing of second embodiment;
Figure 37 shows the embodiment of the XML document of the attribute that is inserted with the AVC assembly;
Figure 38 shows the processing operation according to the document processing method of second embodiment of the invention;
Figure 39 shows the embodiment of the screen that shows by the AVC assembly;
Figure 40 shows the formation according to the document processing device, document processing of third embodiment of the invention;
Figure 41 shows the processing operation according to the document processing method of third embodiment of the invention.
Symbol description
20 document processing device, document processings, 22 main control units, 24 edit cells
27 conceptual analysis engines, 28 notification unit 30DOM unit
32DOM provides unit 34DOM generation unit 36 output units
The 40CSS unit 42CSS analytic unit 44CSS provide the unit
46 display unit 50HTML unit, 52,62 control modules
54,64 edit cells, 56,66 display unit 60SVG unit
70 view template control modules, 71 acquiring units, 72 Tip elements
74 receiving elements, 76 edit cells, 78 view template
80VC unit 82 map unit, 84 defined file acquiring units
86 defined file generation units, 100 document processing device, document processings
3000AVC control module 3002AVC attribute setup unit
3004AVC attribute generation unit 3006 defined file generation units
The 3010 AVC assemblies 3020 that are used for indicator gauge are used for the AVC assembly of displayed map
The 3030 AVC assemblies 3040 that are used to show the UI parts are used to show the AVC assembly of tree
Embodiment
(prerequisite technology)
Fig. 1 shows the structure of the document processing device, document processing 20 relevant with the prerequisite technology.20 pairs of structurized documents of document processing device, document processing are handled, and the data in the document are divided into a plurality of formation elements with hierarchy.In this prerequisite technology so that the XML document as a kind of structured document is treated to example explanation.Document processing device, document processing 20 comprises main control unit 22, edit cell 24, DOM (document object module) unit 30, CSS (CSS (cascading style sheet)) unit 40, HTML (HTML (Hypertext Markup Language)) unit 50, SVG (scalable vector graphics) unit 60 and as VC (vocabulary connection) unit 80 of an example of converter unit.Aspect nextport hardware component NextPort, these cellular constructions can be waited and be realized by CPU, the storer of any computing machine, the program in the storer of being written into.Here, the functional module that is realized by their cooperation has been described.Therefore, it will be appreciated by those skilled in the art that these functional modules can be only by hardware mode, only realize in a variety of forms by the mode of software or by the two mode that combines etc.
Main control unit 22 provides being written into of plug-in unit or exectorial framework is provided.Edit cell 24 provides the framework that is used to edit XML document.The demonstration and the editting function of the document in the document processing device, document processing 20 realize by plug-in unit, and necessary plug-in unit is according to handled Doctype, be written into by main control unit 22 or edit cell 24.Main control unit 22 or edit cell 24 are by the NameSpace of reference as the XML document of process object, determine which or which vocabulary described the content of pending XML document, and be written into the plug-in unit that shows and edit with corresponding being used to of determined vocabulary, show and editor thereby carry out.For example, in document processing device, document processing 20, html document is shown and the HTML unit 50 edited and the SVG document shown and the SVG unit 60 edited etc. is implemented as the display system that is used for each vocabulary (tally set) and the plug-in unit of editing system, when html document is edited, to be written into HTML unit 50 respectively and when the SVG document is edited, to be written into SVG unit 60.Such as will be described below, in the time will handling, not only be written into HTML unit 50 but also be written into SVG unit 60 to the compound document that not only comprises HTML but also comprise the SVG assembly.
By realizing above structure, because the user can only select and install necessary function, can increase or delete appropriate functional then, therefore, can effectively utilize the storage area (for example hard disk) of recording medium, and in executive routine, can also avoid the waste of storer.In addition, because this structure helps performance expansion, so developer oneself can handle new vocabulary with the form of plug-in unit, thereby can promote performance history; The user also can easily increase function at lower cost by increasing plug-in unit.
Edit cell 24 receives the incident of edit instruction from the user by user interface.The plug-in unit that edit cell 24 is suitable with this event notice etc., and the processing of reforming (redo) and cancelling (undo) etc. that comprises incident controlled.
DOM unit 30 comprises that DOM provides unit 32, DOM generation unit 34 and output unit 36.The function that conforms to DOM Document Object Model (DOM) has been realized in DOM unit 30, and described DOM Document Object Model is defined the access method with the data that are provided for the processing XML document form.It is realizations of satisfying the DOM of the interface that is defined by edit cell 24 that DOM provides unit 32.DOM generation unit 34 is created dom tree from XML document.Such as will be described below, when by VC unit 80 pending XML document being mapped as other vocabulary, establishment is set with the corresponding source of the XML document in the map source, and sets with the corresponding purpose of XML document in the mapping purpose.For example, when editor finished, output unit 36 outputs were as the dom tree of XML document.
CSS unit 40 provides the Presentation Function that conforms to CSS, and comprises that CSS analytic unit 42, CSS provide unit 44 and display unit 46.CSS analytic unit 42 has the analytic function that is used to analyze the CSS grammer.It is realizations of CSS object that CSS provides unit 44, and dom tree is carried out the lamination process of CSS.Display unit 46 is the engines that present of CSS, and is used for showing the document to describe such as the vocabulary of HTML etc. that utilizes that CSS is provided with.
The 50 pairs of documents of describing with HTML in HTML unit show or edit.The 60 pairs of documents of describing with SVG in SVG unit show or edit.These demonstration/editing systems are realized with the form of plug-in unit, each system comprises display unit that document is shown (also be called in this article " painting canvas (Canvas)) " 56,66, send and receive the control module (also being called " Editlet " in this article) 52,62 of the incident that comprises edit commands, and the edit cell of when receiving edit commands, DOM being edited (also be called in this article " district (zone)) " 54,64.When external source received the edit commands that is used for dom tree, edit cell 54 or 64 was revised dom trees at control module 52 or 62, and display unit 56 or 66 update displayed.These unit have and are known as MVC (Model-View-Controllers, model-view-controller) structure that framework is similar, usually, display unit 56 and 66 is corresponding to " view (View) ", control module 52 and 62 is corresponding to " controller (Controller) ", and edit cell 54 and 64 and the DOM entity corresponding to " model (Model) ".In the document processing device, document processing 20 of this prerequisite technology, not only can edit XML document with tree type view display format, and can finish editor according to corresponding vocabulary.For example, HTML unit 50 provides and can be used for the user interface of html document being edited with a kind of method of the Word of being similar to processor, and SVG unit 60 also provides and can be used in the user interface of the SVG document being edited with a kind of method that is similar to the image rendering instrument.
VC unit 80 comprises map unit 82, defined file acquiring unit 84 and defined file generation unit 86.VC unit 80 can be mapped as another given vocabulary with the document of describing with certain vocabulary, thus provide a kind of can be by showing with the corresponding demonstration of mapped vocabulary or editor's plug-in unit or the framework of Edit Document.In this prerequisite technology, this function is called as VC (Vocabulary Connection, vocabulary connects).Defined file acquiring unit 84 obtains the script file of having described mapping definition.This defined file has been described internodal correspondence (connection) one by one node.At this moment, can stipulate whether the element value of each node or property value can be edited.The element value that used node or the operation expression of property value also can be described.These functions will be described after a while.The script file that map unit 82 makes DOM generation unit 34 obtain by reference VC defined file acquiring unit 84 is created the purpose tree, with the corresponding relation between managed source tree and the purpose tree.Defined file generation unit 86 is for the user provides graphic user interface, to create defined file.
The 80 pairs of sources, VC unit tree was monitored with being connected between purpose is set.When VC unit 80 by the user interface that provides by the plug-in unit that be responsible for to show when the user receives edit instruction, it is the interdependent node of modification source tree at first.Therefore, DOM unit 30 will send the change events that indication source tree has been modified.Then, VC unit 80 receives these change events, and revises in the purpose tree node corresponding to the node that is modified, so that the purpose tree is synchronous with the modification of source tree.The plug-in unit of setting when demonstration/editor's purpose (for example the HTML unit 50) has received when indicating purpose to set the change events that has been modified, and this plug-in unit is by setting with reference to the purpose that is modified and demonstration being upgraded.By carrying out the said structure that vocabulary is converted to another main vocabulary,, also can show the document, and provide editing environment for it even remit the description document with the meronym of a few users use.
Below document processing device, document processing 20 is shown or the operation of Edit Document is described.When document processing device, document processing 20 was written into pending document, DOM generation unit 34 was created dom tree from XML document.Main control unit 22 or edit cell 24 come the vocabulary of describing XML document is differentiated by the NameSpace with reference to pending XML document.If be installed in the document processing device, document processing 20 with the corresponding plug-in unit of vocabulary, then this plug-in unit is written into demonstration/Edit Document.On the other hand, if plug-in unit is not installed in wherein, then check to confirm whether to exist the defined file of mapping.If there is defined file, then defined file acquiring unit 84 obtains this defined file, and creates the purpose tree according to definition, so that can be by showing/Edit Document with wanting the mapped corresponding plug-in unit of vocabulary.If the document is the compound document that comprises a plurality of vocabulary, as hereinafter described, then by showing/edit the relevant portion of the document with the corresponding plug-in unit of each vocabulary.If there is no defined file, the then source of display document or tree, and in display screen, edit.
Fig. 2 shows the example as the XML document of process object.This XML document is used to manage student's achievement data.Formation element " achievement " as the upper node of XML document comprising: a plurality of elements that are provided with for each student in " achievement " below " are given birth to the apprentice ".Constitute element and " give birth on foot " and has property value " before the name ", and daughter element “ Guo Language " (Japanese), " mathematics ", " natural sciences " and " society " (social science).Property value " before the name " storage student's name.Constitute element “ Guo Language ", " mathematics ", " natural sciences " and " society " store the achievement of Japanese, mathematics, natural science and social science respectively.For example, name for the student's of " A " achievement is: Japanese is that " 75 " and social science are " 60 " for " 90 ", mathematics for " 50 ", natural science.Hereinafter, the vocabulary that uses in the document (tally set) is known as " score management vocabulary ".
Because the document processing device, document processing 20 of this prerequisite technology does not have with the demonstration of score management vocabulary and/or edits corresponding plug-in unit, therefore, will use VC function described above, and not use source shows and other display packing of tree demonstration shows the document.That is to say, by preparing defined file, make score management vocabulary to be mapped as to have had another vocabulary of plug-in unit, for example HTML or SVG.The explanation that will carry out is to have possessed under the situation of defined file in hypothesis to carry out below, but will be described later in order to the necessary user interface of establishment defined file for user itself.
Fig. 3 shows the example that the XML document shown in Fig. 2 is mapped as the table of describing with HTML.In example shown in Figure 3, make " giving birth on foot " node of describing with score management vocabulary corresponding with the row (" TR " node) of the table of describing with HTML (" TABLE " node).First row of each row are corresponding with property value " before the name ", secondary series and “ Guo Language " element value of node is corresponding; the 3rd row are corresponding with the element value of " mathematics " node, and the 4th row are corresponding with the element value of " natural sciences " node, and the 5th be listed as corresponding with the element value of " society " node.Therefore, XML document shown in Figure 2 can show with the listings format of HTML.In addition, these property values and element value are designated as and can edit, so that the user can use the editting function of HTML unit 50 on the screen that utilizes HTML to show these values to be edited.In the 6th row, specified the average weighted operation expression of the mark that is used for calculating Japanese, mathematics, natural science and social science, and shown the mean value of each student's mark.By this way, show by in defined file, specifying operation expression to finish more flexibly, thereby improve the convenience of user when editing.In addition, will be appointed as and not allow the editor of the 6th row, so that can not edit mean value itself separately.Therefore, in mapping definition, can specify and to edit maybe and can not edit, to avoid the possible faulty operation of user.
The example of Fig. 4 (a) and 4 (b) expression defined file is to be mapped as table shown in Figure 3 with XML document shown in Figure 2.This defined file is described by being defined the script that is used for using together with defined file.In the example shown in Fig. 4 (a) and 4 (b), " give birth on foot and append " and " give birth on foot and eliminate " is defined as order, and relates separately to the operation that node " is given birth on foot " operation in the tree of insertion source and node " given birth on foot " deletion from the tree of source.This defined file with the formal description of template such as " before the name " and “ Guo Language " title be shown in first row of table, and the content that node " is given birth on foot " be shown in second go and row subsequently in.Showing that node " gives birth on foot " in the template of content, the item expression that comprises " text-of " allows to edit, and the item expression that comprises " value-of " does not allow to edit.Shown that at these node " gives birth on foot " in the row of content, in the 6th row, described operation expression " (src: Guo Language+src: mathematics+src: natural sciences+src: div 4 " society).This means the mean value that shows student performance.
Fig. 5 show utilize corresponding relation shown in Figure 3 to be mapped as HTML the XML document of describing by score management vocabulary shown in Figure 2 so that its when being presented on the display screen, an example of display screen.What show from left to right in each row of table 90 is each student's name, Japanese achievement, mathematics achievement, natural science achievement, social science achievement and mean value thereof.The user can edit XML document on this screen.For example, when the value in second row the 3rd row becomes " 70 ", become " 70 " with the corresponding element value of this node (that is mathematics achievement of student " B ") in the tree of source.At this moment, consistent with the source tree in order to make the purpose tree, therefore the appropriate section of purpose tree changes, thereby makes HTML unit 50 to upgrade demonstration according to the purpose tree that changes.Therefore, student's " B " mathematics achievement becomes " 70 ", and mean value correspondingly becomes " 55 ".
On screen shown in Figure 5, for example " living empty appending " and the order of " give birth on foot and eliminate " are shown as menu, and be defined such in the defined file shown in Fig. 4 (a) and (b).When the user selected an order from these orders, node " was given birth on foot " and is increased in the tree of source or deletion from the tree of source.By this way, utilize document processing device, document processing 20, not only can edit the element value of the assembly in the hierarchy end, and can edit this hierarchy according to this prerequisite technology.Editting function with above-mentioned tree can manifest to the user with the form of order.In addition, for example the operation with increase or deletion of node " on foot living " is relevant in the order of the row in increase or the delete list.The order that embeds in other vocabulary can manifest to the user.This table can be used as input template, so that can increase in the mode of filling a vacancy for new student's achievement data.As mentioned above, in demonstration/editting function of using HTML unit 50, can edit by the VC function with the document that score management vocabulary is described.
Fig. 6 shows by defined file generation unit 86 and manifests example to user's graphic user interface, so that the user can create defined file.XML document to be mapped is shown as tree in the left field 91 of screen.The screen layout of the XML document that is mapped to is presented in the right side area 92 of screen.This screen layout can edit by HTML unit 50, and the user determines and create to be used for screen layout that document is shown in the right side area 92 of screen.Then, for example, the indicating equipment of use such as mouse etc. drags the node to be mapped of the XML document that shows in the left field 91 of screen and be placed in the HTML screen layout in the left field 91 of screen, with being connected between node of specifying the map source place and the node that shines upon the purpose place.For example, when " mathematics " as the daughter element of element " give birth on foot " is placed to that first row is with tertial infall in the table 90 on the HTML screen, connect between " TD " node during " mathematics " node is listed as with the 3rd.Each node all so is designated as can be edited or can not edit.In addition, can in display screen, embed operation expression.When finishing the on-screen editing, defined file generation unit 86 is created the defined file of describing between screen layouts and the node that is connected.
Browser or the editing machine that to handle main vocabulary (for example XHTML (extensible HyperText Markup Language), MathML (MathML) and SVG (scalable vector graphics)) have been developed.But, can not develop the browser or the editing machine that are suitable for all documents (for example document shown in Fig. 2) of creating the vocabulary description certainly.Yet,, just can use the VC function to show and/or edit to create document that vocabulary describes certainly so, and need not to continually develop new browser or editing machine if created the defined file that is used to be mapped as other vocabulary as mentioned above.
Fig. 7 shows another example of the screen layout of being created by defined file generation unit 86.In example shown in Figure 7, generation table 90 and circular Figure 93 are used to show the XML document of describing with score management vocabulary on screen.Circular Figure 93 describes with SVG.Such as will be discussed, because the document processing device, document processing 20 according to this prerequisite technology can be handled the compound document of describing with a plurality of vocabulary in single XML document, therefore, shown in this example, can be presented on the same screen with the table 90 of HTML description and the circular Figure 93 that describes with SVG.
Fig. 8 shows an example of the editing screen that is used for the XML document handled by document processing device, document processing 20.In example shown in Figure 8, single screen is split into a plurality of zones, and pending XML document shows with multiple different display format in each zone.The source of the document shows that in zone 94 tree construction of the document is demonstration in zone 95, and shows in zone 96 with the table that HTML shown in Figure 5 describes.The arbitrary region of the document in these zones all can be edited, and when the user edited the content of the arbitrary region in these zones, source tree will be by corresponding modify, thereby the plug-in unit of being responsible for each screen display will upgrade screen, the change of setting with the reflection source.Particularly, the display unit of being responsible for the plug-in unit of the corresponding editing screen of demonstration is the audiomonitor of change events by registered in advance, and described change events provides the notice that changes has taken place in the tree of source.When any plug-in unit of source tree quilt or 80 modifications of VC unit, show that all display units of editing screen receive the one or more change events that send, thus and renewal screen.At this moment, if plug-in unit shows by the VC function that then VC unit 80 is according to the purpose tree is revised in the modification of source tree.Afterwards, the display unit of plug-in unit is made amendment to screen by setting with reference to above-mentioned purpose through modification.
For example, when coming demonstration of realization source and the demonstration of tree type view by custom plug-in, source demonstration plug-in unit and tree demonstration plug-in unit are set by direct reference source rather than are utilized purpose to set and realize their demonstration.In this case, when finishing editor in any zone at screen, the source shows that plug-in unit and tree show that plug-in unit upgrades screen by setting with reference to amended source.Equally, be responsible for the HTML unit 50 of viewing area 96 by upgrading screen with reference to setting according to the purpose of the modification of source tree having been made modification.
The source shows and tree shows also and can realize by using the VC function.That is to say that for example, if HTML is used to the layout of source and tree, then XML document can be mapped as HTML to show by HTML unit 50.In this case, establishment had source format, tree format, tabular three purposes tree.If trizonal on screen edited in any one, then the 80 pairs of sources trees in VC unit are made amendment, and after respectively source format, tree format, tabular three purposes are set and are made amendment.Then, HTML unit 50 is by setting three zones upgrading screen with reference to these purposes.
By this way, on single screen with multiple display format display document, thereby improved user convenience.For example, the user can utilize table 90 grade to show and Edit Document with understandable form visually, shows by the source simultaneously or tree shows the hierarchy of understanding document.In the above-described embodiments, single screen is divided into a plurality of display formats, and they are shown simultaneously.But, also can on single screen, show single display format, thereby can switch display format by user instruction.In this case, main control unit 22 receives the request that is used to switch display format from the user, and shows switching with each plug-in unit of post command.
Fig. 9 shows another example by document processing device, document processing 20 editors' XML document.In XML document shown in Figure 9, the XHTML document is embedded in " foreignObject " label of SVG document, and this XHTML document comprises the formula of describing with MathML.In this case, edit cell 24 will be described Task Distribution or be assigned to the appropriate display system by the reference NameSpace.In the embodiment shown in fig. 9, edit cell 24 at first makes SVG unit 60 describe rectangle, makes HTML unit 50 describe the XHTML document then.In addition, edit cell 24 makes MathML unit (not shown) describe formula.By this way, the compound document that comprises a plurality of vocabulary is suitably shown.Figure 10 shows display result.
During document was edited, menu to be shown can be switched according to the position of cursor (キ ヤ リ Star ジ).That is to say, when cursor is arranged in the zone that shows the SVG document, shows the menu that SVG unit 60 provides or be used for shining upon the order that the defined file of SVG document defines.When cursor is arranged in the zone that shows the XHTML document, shows the menu that HTML unit 50 provides or be used for shining upon the order that the defined file of XHTML document defines.Therefore, can provide the appropriate users interface according to the editor position.
If do not have the suitable plug-in unit or the mapping definition that conform to certain vocabulary in compound document, then the part of describing with this vocabulary can source or tree format demonstration.In conventional practice, in the time will opening the compound document that is embedded with other document in certain document, if do not have the application program that can show this embedding document is installed, then their content can not show.But,,, also can be shown as source or tree format, thereby can determine its content by the XML document that text data is formed even there is not the application program that is used to show according to this prerequisite technology.This is based on the XML document of text or a feature of similar document.
Come another useful aspect of data of description for example to be with the text based language, the partial data of describing with other vocabulary in same document can be by another document institute reference of describing with certain vocabulary in this compound document.In addition, when searching in the document, the character string in the pictures such as embedding SVG also can be used as searched object.
In the document of describing with certain vocabulary, can use the label of other vocabulary.Though this XML document is ineffective usually, as long as its well-formed (well-formed) is processed with regard to can be used as effective XML document.In this case, the label that belongs to other vocabulary that is inserted into can use defined file to shine upon.For example, in the XHTML document, can use such as the label of " important " and " most important ", perhaps the order of these labels by importance can be sorted to carry out corresponding demonstration to show the part around these labels by the mode of emphasizing.
When the user edited document on editing screen shown in Figure 10,80 pairs of sources trees of plug-in unit or VC unit of being responsible for the part of being edited is handled were made amendment.Can be the audiomonitor of each node registering in the tree of source for change events.Usually, with each node under the display unit of the plug-in unit that conforms to of vocabulary or VC unit 80 be registered and be audiomonitor.When the source tree was modified, DOM provided unit 32 to explore to higher level from the node that is modified.If there is the audiomonitor of registration, then DOM provides unit 32 to send change events to this audiomonitor.For example, with reference to as shown in Figure 9 document, if be positioned at<html〉node of node below is modified, this change events is circulated a notice of to be<html to being registered so〉the HTML unit 50 of the audiomonitor of node.At synchronization, this change events is circulated a notice of to being registered to being arranged in<html〉node top<svg〉the SVG unit 60 of audiomonitor of node.At this moment, HTML unit 50 is by the update displayed with reference to the source tree that is modified.Be not modified owing to belong to the node of the vocabulary of SVG unit 60 itself, so this change events can be ignored in SVG unit 60.
According to content edited, can change total arrangement along with the modification that the 50 pairs of demonstrations in HTML unit are carried out.In this case, will upgrade by the assembly (for example, the plug-in unit of the high node of responsible demonstration) of management screen layout for the layout of each viewing area of each plug-in unit.For example, when the zone that shows by HTML unit 50 than before change when big, the zones that HTML unit 50 is responsible for itself, the sizes of definite viewing area are then at first described in HTML unit 50.Then, the size of viewing area is circulated a notice of the assembly to the management screen layout, with request layout is upgraded.The assembly of being responsible for screen layout rearranges the viewing area once receiving this notice for each plug-in unit.Therefore, the demonstration of the part of being edited is suitably upgraded, and overall screen layout is updated.
Then, the function of the document processing device, document processing 20 of realizing the prerequisite technology is constituted further be elaborated.In the following description, use English name that class name etc. is described.
A. summary
Because the appearance of the Internet, by the user handle, the quantity of the document of management roughly is that the exponentially functional form is increasing.Form Web (the World Wide Web: WWW) become to accept the bulk container of these document datas of the Internet core.Except document, Web also is provided for the information retrieval system of these documents.These documents are normally described by SGML.The serve as a mark example simple and commonly used of language, HTML (HyperText Markup Language: HTML (Hypertext Markup Language)) be one of them.Such document also includes the link of other documents that point to other position that is recorded in Web.XML (eXtensible Markup Language: extend markup language) be the SGML of more highly popularizing.Be used to visit and the simple browser of the Web document of reading is by the exploitation of the object oriented programming languages as Java (registered trademark).
The document of describing by SGML usually in browser or other application programs the form with data tree structure show.This structure is equivalent to document is carried out grammatical analysis result's tree.DOM (Document Object Model: be to be used to explain and operate document, well-known data structuring model the document objectives model) based on tree.DOM provides statement to contain the object set of HTML or XML document etc.DOM comprises two basic modules, promptly explain assembly in the document to as if the master pattern how to link together, and be used for standard interface that these objects are conducted interviews or operate.
The developer of application program can support DOM as with himself data structure or API (Application Program Interface: interface application programming interfaces).On the other hand, the developer who creates the application program of document can use the standard interface of DOM rather than the special interface of the API of himself.Therefore, DOM provides the ability of standard interface to promote effectively under various environment document to be shared, and particularly is used on the Web.The DOM definition has several versions, uses according to different programmed environments and application program.
Dom tree is based on the classification statement of document of the content of corresponding DOM.Dom tree comprises " root " and more than one " node " that born by root.Root is explained all documents sometimes.Intermediate node can be explained element, such as the row and column in table and the table." leaf " of dom tree explains data usually, for example text that can not further decompose or image.Each node of dom tree also can be corresponding by the Attribute Association of the parameter of the represented element of node with description font, size, color, index etc.
Make the employed language of document though HTML is general being used to, it is the language that is used for the language of form and layout rather than is used for data of description.The node of dom tree of performance html document is the element of pre-defined format label as HTML.Usually, because HTML is not provided for the detailed description of data or data subscripted the function of signing/subscript notes, thereby be difficult in a lot of occasions to the interrogate formatization of the data in the html document.
The target of network designer is to inquire about the document on the Web or handle by software application.Irrelevant with display packing, so long as the language of hierarchyization, query processing equally.Can provide this category feature such as the such SGML of XML (eXtensible Markup Language).
As everyone knows, opposite with HTML, the advantage of XML is that the deviser of document can use " label " that can freely define that the data element is marked.Such data element can classification carry out structuring.And XML document can comprise DTD (Document Type Definition), and it describes the label of use in the document and " grammer " of mutual relationship thereof.CSS) or XSL (XML StyleLanguage: the extend markup language stylesheet language) for the display packing of the XML document of definition structureization, use CSS (Cascading Style Sheet:.Additional information about DOM, HTML, XML, CSS, XSL and relevant language feature thereof also can obtain from Web.(for example, http://www.w3.org/TR/)
Xpath provides common grammer and semanteme in order to specify the position of XML document part.As functional example, be traversal (moving) corresponding to the dom tree of XML document.This provides the basic function of associated character string, numeral and Boolean type character of the various statements that are used to operate XML document.Xpath is not the grammer (for example as text time be which row or such grammer of which character) of XML document performance, but operates in structures abstract, logic such as dom tree.By using Xpath, for example, can locate by the hierarchy in the dom tree of XML document.Except the purposes that is used for addressing, whether the node that XPath also is designed to test in the dom tree is complementary with certain pattern.The details that relates to XPath can find in http://www.w3.org/TR/XPath.
Wishing has a kind of effective DPS (Document Processing System), can utilize known advantage and the feature of XML, handles the document of being described by SGML (for example XML), and a kind of user interface that is used to create and revise the close friend of document can be provided.
In the formation of the system of this explanation some will be known as MVC (Model-View-Controller: be that (Graphical UserInterface: graphic user interface) example describes well-known GUI model-view-controller) by use.The MVC example is decomposed into three parts with the part of the interface of application program or application program, that is, and and model, view and controller.Initial exploitation MVC is for traditional input, processing and output Task Distribution are arrived the GUI zone.
Input-processing-output
Controller-model-view
According to the MVC example, extraneous modeling, to user's visual feedback and user's input by model (M), view (V) and controller (C) thus object separates to be handled.Controller function to be explaining such as user's the mouse and the input of keyboard input, and these user actions are mapped as the order that is sent to model and/or view, to realize suitable change.Model play a role with manage more than one data element, response responds to the inquiry of its state and to the indication that changes state.The rectangular area that view operation shows with management, and have the combination by figure and text that data are manifested function to the user.
B. total configuration of DPS (Document Processing System)
The embodiment of DPS (Document Processing System) will clearly demonstrate in conjunction with Figure 11-29.
Figure 11 (a) illustrate comprise will be described below can provide DPS (Document Processing System), according to the configuration structure of the basic function of prior art.Device 10 comprises the processor 11 that is connected to forms such as the CPU form of storer 12 or microprocessor by communication path 13.Storer 12 can be any ROM and/or RAM form current or that can use in the future.Communication path 13 is provided with as typical bus.Also be connected for the IO interface 16 of user input apparatus 14 such as mouse, keyboard and speech recognition system and display device 15 (perhaps other user interfaces) and be used for the bus that processor 11 is communicated by letter with storer 12.This structure can be a form independently, also can be the form of the networking that connected by a plurality of terminals and the server more than, also can be made of known any way.The present invention is not subjected to the configuration of these assemblies, their centralized or distributed architecture or the restriction of the communication mode of multiple assembly.
In addition, native system and will provide the example of various functional some assemblies and sub-component to discuss as comprising at the embodiment of this discussion.For the function of expectation is provided, these assemblies and sub-component can be the combinations of hardware and software, also can be only by hardware or only realize by software.And hardware, software and combination thereof can be realized by general-purpose computations device, specialized hardware or their combination.Therefore, the formation of assembly or sub-component comprises general/special-purpose calculation element of carrying out the special software be used to provide assembly or sub-component function.
Figure 11 (b) shows the overall block-diagram of an example of DPS (Document Processing System).Document is created and edits in this DPS (Document Processing System).These documents (for example XML etc.) can be explained with any language with SGML feature.Equally, for simplicity, the term and the title that are used for specific assembly and sub-component have been created.But these should not be considered the restriction to general teachings disclosed herein.
DPS (Document Processing System) can be regarded as having two basic comprisings.A formation is " execution environment " 101, and it is the environment of DPS (Document Processing System) operation.For example, execution environment is not only supported the user in document being handled the neutralization management, and back-up system, and basic function and function are provided.Second formation is " application program " 102, and it is made of the application program of moving in execution environment.These application programs comprise document itself and various statement thereof.
1. execution environment
The key component of execution environment 101 is routine call devices (ProgramInvoker, i.e. program start unit) 103.Routine call device 103 is to be used to start DPS (Document Processing System) and accessed base program.For example, when user's login and startup DPS (Document Processing System), routine call device 103 is performed.Routine call device 103 for example can read and carry out as plug-in unit increase to DPS (Document Processing System) function, start and run application and read the attribute relevant with document.The function of routine call device 103 is not limited to this.
When the user wished application program that startup plans to move in execution environment, routine call device 103 found and starts this application program, carries out this application program then.
On routine call device 103, be connected with some assemblies such as plug-in unit subsystem 104, order subsystem 105 and resource module 109.These formations will be described in more detail subsequently.
A) plug-in unit subsystem
Plug-in unit subsystem 104 can high flexible and is increased function to DPS (Document Processing System) effectively.Plug-in unit subsystem 104 also can be used for revising and removing the function that exists in the DPS (Document Processing System).In addition, can use the plug-in unit subsystem to increase or revise multiple function.For example, can increase editting function (Editlet: edit cell) to play the effect that presents document on the screen that is supported in.Editor's plug-in unit is also supported the vocabulary of the system of increasing to is edited.
Plug-in unit subsystem 104 comprises service broker (ServiceBroker: the service intermediary unit) 1041.Service broker 1041 increases to the plug-in unit of DPS (Document Processing System) by management, as the intermediary of the service that increases to DPS (Document Processing System).
Each function of expectation increases to system with the form of service (Service) 1042.The available types of service 1042 includes but not limited to: application program (Application) service, district factory (ZoneFactory promptly distinguishes generation unit) serve, Editlet (edit cell) serves, (CommandFactory: the service order generation unit), connection xpath (ConnectXPath:XPath administrative unit) serve, CSS calculates (CSSComputation:CSS computing unit) service etc. in order factory.These services and will describe in detail subsequently with the relation of system remainder are to understand DPS (Document Processing System) better.
Relation between plug-in unit and the service is as described below.Plug-in unit is the unit that can comprise more than one service provider (ServiceProvider: service provides the unit).Each service provider has the more than one class of associated service.For example, have the single plug-in unit of suitable software application, more than one service can be increased to system, thereby can increase function corresponding to system by use.
B) order subsystem
Order subsystem 105 is used to carry out the instruction of the command forms relevant with the processing of document.The user can carry out operation to document by carrying out a series of instructions.For example, by the instruction of the form of giving an order, the user comes the processing XML document to the dom tree editor of the corresponding XML of XML document in the DPS (Document Processing System).These orders can utilize keyboard keystroke, click or other effective user interface action to import.Sometimes, also can carry out more than one instruction by an order.In this case, these instructions packed (comprising) become an order and carry out continuously.For example, the user wishes wrong word is replaced with correct word.In this case, first order can be in order to look for wrong word in document, and second order can be in order to delete this mistake word, and the 3rd order can be in order to import correct word.These three orders can be packaged into an order.
Order can have correlation function, for example is following " cancelling " function that will record and narrate in detail.These functions can be distributed to and be used for creating employed several base class of object.
The key component of order subsystem 105 is command calls devices (CommandInvoker promptly orders start unit) 1051, and command calls device 1051 can be operated to provide selectively and fill order.Though only show a command calls device among Figure 11 (b), also can use more than one command calls device and can carry out more than one order simultaneously.Command calls device 1051 is safeguarded function and the class that fill order is required.In operation, the order 1052 that carry out is placed in the formation 1053.The command calls device is created the order thread of carrying out continuously.If the order of not carrying out in the command calls device is then carried out pending order 1052 by command calls device 1051.If the command calls device is just in fill order, then new order is placed in the end of command queue 1053.But, for each command calls device 1051, once only carry out an order.If the failure of the command execution of appointment, then command calls device 1051 is handled execute exception.
The type of the order that can be carried out by command calls device (CommandInvoker) 1051 includes but not limited to: can cancel order (UndoableCommand) 1054, asynchronous command (AsynchronousCommand) 1055 and vocabulary bind command (VCCommand) 1056.If can cancel order 1054 are orders that those users wish just can cancel its result.Can cancel being exemplified as of order: shear, duplicate, insert text etc.In operation, when the user selects the part of document and during to this certain applications cut command, if desired, can cancel order by using, can make the part that is sheared return to the state that it is not sheared.
Vocabulary bind command 1056 is written into vocabulary and connects in descriptor (Vocabulary ConnectionDescriptor:VCD) script file.Vocabulary bind command 1056 is can be by user's specified command of programmer's definition.Order can be the combination that for example is used to more abstract orders such as increasing XML fragment, deletion XML fragment and set a property.These orders are particularly related to edits document.
Asynchronous command 1055 be used for document be written into or preservation etc. based on the order of system, with cancelling order or vocabulary bind command different, be asynchronous execution.Because asynchronous command is not to cancel order, so the result of its execution can not cancel.
C) resource
Resource 109 is the objects that provide some function to various types of.For example, string resource, icon and the binding of default key are the examples of resources of using in the system.
2. application component
Application component 102 moves in execution environment 101 as second principal character of DPS (Document Processing System).Application component 102 comprises actual document and intrasystem various logic and physical representation.Application component 102 also comprises and is used for the employed system component of management document.Application component 102 further comprises user application (UserApplication) 106, application program core 108, user interface 107 and core component (CoreComponent) 110.
A) user application
User application 106 is loaded in the system together with routine call device 103.User application 106 is to carry out " bonding agent " that required alternately user interface combines with the various statements of document, document and with document.For example, the user may wish to create the cover document as the part of project.After being written into these documents, establishment is used for the suitable statement of document.User interface capabilities is added as the part of user application 106.In other words, user application 106 had both kept the statement of document also to keep the various forms of document, and the statement of these documents can be carried out the user with the document of a part that forms project alternately.In case created user application 106, whenever wishing document with a formation project part, the user carries out when mutual, and the user just can be loaded into user application 106 in the execution environment simply.
B) core component
Core component (CoreComponent) 110 is provided at a kind of method of shared document between a plurality of panes (Pane).Such as described later, pane shows dom tree, and handles the physical layout of screen.For example, physical screen is included in the pane of the segment of a plurality of descriptors in the screen.In fact, can in one or more panes, show at the document of seeing on the screen by the user.In addition, two different documents can appear in two different panes on the screen.
Shown in Figure 11 (c), the physical layout of screen also has tree type form.Therefore, pane can be implemented as root window lattice (RootPane) 1084, also can be sub-pane (SubPane) 1085.Root window lattice 1084 are the panes that are positioned at the root of pane tree, and sub-pane 1085 is any panes except root window lattice 1084.
Core component 110 also provides font, and serves as the source that kit etc. is used for a plurality of functional performances of document.An example of being carried out by core component 110 of task is a rolling mouse cursor between a plurality of panes.As another example of being performed of task, the part of document in the mark pane, and it is copied on another pane that comprises different document.
C) application program core
As mentioned above, application component 102 is made up of the document of system handles and management.Multiple logic and physical representation comprising intrasystem document.Application program core 108 is assemblies of application component 102.Its function is to keep actual document and all interior data thereof.Application program core 108 comprises document manager (DocumentManager: the document management unit) 1081 and document (Document) 1082 itself.
The many aspects of document manager 1081 will described in detail subsequently.Document manager 1081 management documents 1082.Document manager 1081 also is connected to root window lattice 1084, sub-pane 1085, clipbook (ClipBoard) utility routine 1087 and snapshot (SnapShot) utility routine 1088.Clipbook utility routine 1087 provides and has kept user's decision to increase to the method for the partial document of clipbook.For example, the user may wish the part of cutout document, and it is saved on the new document, is used for checking after a while.In this case, the part of shearing is increased to clipbook.
Then, also snapshot utility routine 1088 is described.Snapshot utility routine 1088 when a state becomes another state, can be remembered the current state of application program in application program.
D) user interface
Another assembly of application component 102 is a user interface 107, and it carries out the physics alternant way for the user provides a kind of with system.For example, user interface is used for that the user uploads, deletes, editor and management document.User interface comprises framework (Frame) 1071, menu bar (MenuBar) 1072, status bar (StatusBar) 1073 and URL bar (URLBar) 1074.
Such as is generally known in the art, framework 1071 is regarded as the zone of action of physical screen.Menu bar 1072 is to comprise the screen area that promising user provides options menu.Status bar 1073 is screen areas of display application program implementation state.URL bar 1074 provides the zone of importing the URL address that is used for locating on the internet.
C. document management and relevant data structure
Figure 12 shows the details of document manager 1081.Comprising the data structure and the assembly that are used for statement document in DPS (Document Processing System).For better understanding, the assembly of Miao Shuing will utilize model-view-controller (MVC) statement example to describe in this section.
Document manager 1081 comprises document container (DocumentContainer) 203, and document container 203 keeps and hold all documents in the DPS (Document Processing System).The kit 201 that is attached to document manager 1081 provides the various tool that is used by document manager 1081.For example, DOM service (DOMService) can provide the corresponding DOM of establishment, maintenance and management and document the instrument of required all functions by what kit 201 provided.The IO manager of another instrument that provides as kit 201 (IOManager: I/O management portion) manage respectively to the input of system with from the output of system.Similarly, stream handle (StreamHandler) is the instrument that the document of bit stream form is uploaded in a kind of processing.These instruments have formed the assembly of kit 201, but do not illustrate especially in the drawings and distribute Reference numeral.
According to the statement of MVC example, model (M) comprises the dom tree model 202 of document.As mentioned above, all documents all are expressed as dom tree in DPS (Document Processing System).In addition, document also forms the part of document container 203.
1.DOM model and district
The dom tree of statement document is the tree with node (Node) 2021.The zone that comprises corresponding to one or more nodes of dom tree inside as the district (Zone) 209 of the subclass of dom tree.For example, may only have the part of document to manifest on screen, visible this part of document can use " district " 209 to explain.Utilization is known as that the plug-in unit of district factory (ZoneFactory: district generation unit) 205 is created, operation and treatment region.Though the part of district's statement DOM, it also can use more than one " NameSpace ".As known in the art, NameSpace is compiling of title or gathers that these titles are unique in this NameSpace.In other words, there is not identical title in a NameSpace.
" aspect " and with the district relation
Aspect (Facet) the 2022nd, another assembly in the model of MVC example (M) part.It is used to the node in the editing area." aspect " but 2022 use not of the visit of implementation (program) tissue of content that can the zone of influence itself for DOM.As below will illustrating, these processes are carried out the important and useful operation relevant with node.
Each node has " aspect " accordingly.By utilizing " aspect " executable operations to replace directly the node among the DOM being operated, the integrality of DOM is guaranteed.Otherwise if directly to the node executable operations, so several plug-in units may change DOM simultaneously, and the result's is inconsistent thereby cause.
Though the DOM standard definition that W3C makes up be used for standard interface that node is operated, in fact,, preferably these operations are prepared as API because each vocabulary or each node are had specific operation.DPS (Document Processing System) provides distinctive API with the form of " aspect " to each node, and appends on each node.In view of the above, can provide the useful API that meets the DOM standard.In addition, by on standard DOM, increasing specific API afterwards rather than realizing specific DOM, can unify processing to multiple vocabulary, and can suitably handle hybrid document by multiple vocabulary combination in any for each vocabulary.
Vocabulary is the set of the label (for example XML label) that belongs to NameSpace.As mentioned above, NameSpace has unique title (being label at this) collection.Vocabulary shows as the subtree of the dom tree of statement XML document.This seed tree comprises district (Zone).In a particular embodiment, the border of tally set is limited by the district.District 209 utilizes the service-creation be called as " district factory " 205.As mentioned above, district 209 is the internal representation of a part to the dom tree of statement document.For the visit to the above-mentioned part of the document is provided, need the logic statement.How this logic statement notice computing machine carries out logic to document on screen shows.Painting canvas (Canvas) the 210th a kind ofly is operable as the service that provides and distinguish corresponding logic placement.
On the other hand, pane 211 be with by painting canvas 210 that provide with the corresponding physical screen layout of logic placement.In fact, the user just sees with character and picture form and is presented on document on the display screen.Therefore, document must be presented on screen by the processing that is used for describing character and picture on screen.According to the physical layout that is provided by pane 211, document is presented on the screen by painting canvas 210.
Utilize Editlet 206 to create with district's 209 corresponding painting canvas 210.The DOM of document utilizes Editlet 206 and painting canvas 210 to edit.In order to safeguard the integrality of original document, Editlet 206 and painting canvas service 210 are used and one or more nodes corresponding " aspect " of distinguishing in 209.These serve the node in not the direct control district and DOM." aspect " utilizes order 207 to operate.
The user is usually by the cursor on the moving screen for example or key in order and carry out alternately with screen.Provide the painting canvas 210 of the logic placement of screen to receive these cursor operations.Painting canvas 210 can make " aspect " to take corresponding action.According to this relation, cursor subsystem 204 is as the controller (C) that is used for the MVC example of document manager 1081.Painting canvas 210 also provides the task of processing events.For example, painting canvas 210 is handled such as click, focuses and is moved and by incidents such as Client-initiated similar operation.
3. the general introduction of the relation between district, " aspect ", painting canvas and the pane
Document in the DPS (Document Processing System) can be described from least four angles.That is: 1) be used for keeping the data structure of the content and structure of the document in the DPS (Document Processing System); 2) mode of Edit Document content when not influencing the document integrality; 3) logic placement of document on screen; And 4) physical layout of document on screen." district ", " aspect ", " painting canvas " and " pane " are explained the assembly with above-mentioned four corresponding DPS (Document Processing System) in aspect respectively.
4. cancel subsystem
As mentioned above, people wish that any change (for example, editor) to document all can cancel.For example, but user executive editor operation, and this change is cancelled in decision then.With reference to Figure 12, cancelling subsystem 212 is assemblies of cancelling operation of document manager.Cancel manager (UndoManager: cancel administrative unit) 2121 and preserve all operations that to be cancelled by the user, document is carried out.For example, user's executable command replaces to another word with the word in the document.Afterwards, this user can change mind and determine to keep original word.Cancel subsystem 212 and assist aforesaid operations.Cancel manager 2121 and preserve the above-mentioned operation of cancelling editor (UndoableEdit: can cancel editor) 2122.
5. cursor subsystem
As mentioned above, the controller of MVC part can comprise cursor subsystem 204.The input that this cursor subsystem 204 is accepted from the user.These inputs have the character of order and/or editing operation usually.Therefore, can be considered be controller (C) part of the MVC example relevant with document manager 1081 to cursor subsystem 204.
6. view
As mentioned above, painting canvas 210 statements will be apparent in the logic placement of the document on the screen.For XHTML document embodiment, painting canvas 210 can comprise box tree (box tree) 208, and this box tree is the logic statement how document is checked on screen.Above-mentioned box tree 208 can be included in view (V) part of the MVC example relevant with document manager 1081.
D. vocabulary connects
A key character of DPS (Document Processing System) provides a kind of environment, and this environment can be mapped as other to XML document and explain and handle, and during to the statement editor after the mapping, this editor is reflected in the XML document of source, keeps the integrality of this XML document simultaneously.
By the document that SGML is described, for example XML document is created based on the vocabulary by DTD (Document Type Definition).Vocabulary then is one group of tally set.Because vocabulary can define arbitrarily, this just makes that the quantity of vocabulary may be unlimited.But it is unpractical all providing special-purpose individual processing and management environment in a plurality of possible vocabulary each.A kind of mode that addresses this is that provides is provided vocabulary.
For example, document can utilize two or more SGMLs to explain.These documents for example can be XHTML (extensible HyperText Markup Language), SVG (scalable vector graphics), MathML (MathML) or other SGML.In other words, SGML can be considered as with XML in vocabulary identical with tally set.
Vocabulary uses the vocabulary plug-in unit to realize.In DPS (Document Processing System), by will with the described document of the disabled vocabulary of plug-in unit be mapped as plug-in unit can with another vocabulary show.Therefore, remain and correctly to show for the document of describing with the vocabulary of not preparing to have plug-in unit.
Vocabulary connects the ability of obtaining defined file and shining upon between two different vocabulary according to the defined file that obtains that comprises.The document of describing with certain vocabulary can be mapped as other vocabulary.Therefore, vocabulary connects provides by the corresponding demonstration of vocabulary that has been mapped to document and editor's plug-in unit shows or the ability of Edit Document.
As mentioned above, each document is described to have usually the dom tree of a plurality of nodes in DPS (Document Processing System)." defined file " described being connected between this node and other nodes for each node.Stipulated whether can edit to the element value and the property value of each node.The element value of use node and the operation expression of property value can also be described.
Utilize mappings characteristics, can create the purpose dom tree that adopts defined file.Set up and safeguard the relation between source dom tree and the purpose dom tree thus.Vocabulary connects the connection between surveillance source dom tree and the purpose dom tree.After receiving edit instruction from the user, vocabulary connects the interdependent node in the dom tree of modification source.Send expression and revised " change events " of source dom tree, and correspondingly revise the purpose dom tree.
By using vocabulary to connect, make the less important relatively vocabulary that only has small number of users to know to be converted into other main vocabulary.Therefore, even if for those less important vocabulary that only has small number of users to use, also display document exactly, and desirable editing environment is provided.
Therefore, the vocabulary connexon system as a DPS (Document Processing System) part provides the function that can carry out multiple statement to document.
Figure 13 has shown vocabulary connection (VC:Vocabulary Connection) subsystem 300.VC subsystem 300 provides the conforming mode between a kind of two kinds of replaceable statements safeguarding same document.For example, two kinds of statements can show with two kinds of different vocabulary by same document.As mentioned above, wherein a kind of can be the source dom tree, and another kind can be the purpose dom tree.
1. vocabulary connexon system
Utilization is called as plug-in unit that vocabulary connects (VocabularyConnection) 301 is realized vocabulary connexon system 300 in DPS (Document Processing System) function.Each vocabulary 305 of statement document all needs corresponding insert.For example, if the part of document is explained with HTML, and other parts are explained with SVG, then need and HTML and the corresponding respectively vocabulary plug-in unit of SVG.
It is that district 209 or pane 211 establishments are connected painting canvas (VCCanvas) 310 with the corresponding suitable vocabulary of document of suitable vocabulary 305 that vocabulary connects plug-in unit 301.Use vocabulary to connect 301,, the change in the district 209 of source dom tree is passed to the respective area of another dom tree 306 according to transformation rule.Transformation rule provides with the form that vocabulary connects descriptor (Vocabulary Connection Descriptor:VCD).For and source DOM and purpose DOM between corresponding each VCD file of this conversion, create corresponding vocabulary connection manager (VCManager) 302.
2. connector (Connector)
Source node in the connector 304 connection source dom trees and the destination node in the purpose dom tree.The effect of connector 304 is source node and the modifications (variation) to carrying out with the corresponding source document of source node in the dom tree of observation source.Then, the node in the modification corresponding target dom tree.Connector 304 is the unique objects that can make amendment to the purpose dom tree.For example, the user can only make amendment to source document and corresponding source dom tree.Afterwards, 304 pairs of purpose dom trees of connector carry out corresponding modification.
Connector 304 logically is linked at together to form tree construction.The tree that connector 304 forms is called as connector tree (ConnectorTree).Connector 304 is created by a kind of service (Service), and this service is called as the (ConnectorFactory: 303 the service connector generation unit) of connector factory.Connector 304 is created from source document by connector factory 303, and it is linked to form the connector tree.Vocabulary connection manager 302 is safeguarded connector factory 303.
As mentioned above, vocabulary is the tally set in the NameSpace.As shown in the figure, connecting 301 by vocabulary is document creation vocabulary 305.This is by the analytical documentation file and create suitable vocabulary connection manager 302 for the mapping between source DOM and the purpose DOM and realize.In addition, create the connector factory 303 of connector, create the district factory (ZoneFactory) 205 in district 209 and create with the Editlet 206 that distinguishes the corresponding painting canvas of interior nodes between set up suitable related.When the user abandoned from system or deletes document, corresponding vocabulary connection manager 302 was with deleted.
Vocabulary 305 is created vocabulary and is connected painting canvas 310.In addition, connector 304 and purpose dom tree 306 are correspondingly created.
Source DOM and painting canvas correspond respectively to model (M) and view (V).Yet, only to work as target vocabulary and can on screen, be current, this performance is just meaningful.This presenting by the vocabulary plug-in unit undertaken.(for example XHTML, SVG and MathML) provides the vocabulary plug-in unit at main vocabulary.The related use of vocabulary plug-in unit with target vocabulary.They provide a kind of vocabulary that uses to connect the mode that descriptor shines upon between vocabulary.
Only when target vocabulary can be mapped and be had predefined screen presentation mode, this mapping was just meaningful.This presentation mode for example is by the standard specification such as the XHTML of W3C tissue definition etc.
When needs vocabulary connects, use vocabulary to connect painting canvas (VCCanvas).In this case, owing to can not directly create view, therefore, do not create the painting canvas in source for the source.In this case, use connector to set and create vocabulary connection painting canvas.This vocabulary connects only processing events conversion of painting canvas, and can't help document is presented on the screen.
3. purpose district (DestinationZone), pane (Pane) and painting canvas (Canvas)
As mentioned above, the purpose of vocabulary connexon system is to create simultaneously and safeguards two kinds of statements to same document.Second statement also is the dom tree form, before is illustrated as the purpose dom tree.In order to browse the document of second kind of statement, need purpose district, painting canvas and pane.
After creating vocabulary connection painting canvas, will create corresponding target pane (DestinationPane) 307.In addition, relevant purpose painting canvas (DestinationCanvas) 308 and corresponding box tree (BoxTree) 309 are created.Equally, vocabulary connection painting canvas 310 is also related with the pane 211 and the district 209 of source document.
Purpose painting canvas 308 provides the logic placement of second kind of form of presentation of document.Particularly, purpose painting canvas 308 provides user interface capabilities, and for example cursor and selection is used for presenting document in the mode of purpose statement.Event is provided to connector in purpose painting canvas 308.Purpose painting canvas 308 to connector 304 notice mouse event, KeyEvents, drag and the peculiar incident of the vocabulary of purpose (second kind) statement of placement incident and notification of document.
4. vocabulary bind command subsystem
A part that connects (VC) subsystem 300 as vocabulary is that vocabulary connects (VC) order subsystem 313.Vocabulary bind command subsystem 313 is created vocabulary bind commands (VCCommand) 315, and vocabulary bind command 315 is used for carrying out the instruction relevant with vocabulary connexon system 300.Can create the vocabulary bind command by built-in command template (CommandTemplate) 318, and/or can create the vocabulary bind command with growing out of nothing by in script subsystem 314, using script to create order.
Comprise in the command template, for example " If " command template, " When " command template, " Insertfragment " command template etc.These templates are used to create the vocabulary bind command.
5.XPath subsystem
XPath subsystem 316 is significant components of DPS (Document Processing System), and it helps to realize that vocabulary connects.Connector 304 generally includes XPath information.As mentioned above, one of the vocabulary task of connecting is that variation with the source dom tree is reflected in the purpose dom tree.XPath information comprises one or more XPath statement, is used for determining the subclass of source dom tree that change/modification is monitored.
6. the general introduction of source dom tree, purpose dom tree and connector tree (ConnectorTree)
The source dom tree is dom tree or the district that the document that is converted to the vocabulary statement before of another kind of vocabulary is explained.Node in the dom tree of source is called as source node.
On the other hand, describe as connecting in conjunction with vocabulary in front, the purpose dom tree is by dom tree or the district of mapping conversion back with the document of different vocabulary statements.Node in the purpose dom tree is called as destination node.
Connector tree is based on the classification statement of the connector that is used for explaining the corresponding relation between source node and the destination node.The purpose dom tree is revised in connector surveillance source node and the modification that source document is carried out.Connector is the unique object that is allowed to revise the purpose dom tree.
E. the flow of event in the DPS (Document Processing System)
In order to use, program must respond the order from the user.Incident is a kind of method of describing and carrying out the user to the action of program enforcement.Many higher level lanquages for example Java (registered trademark) rely on the incident of describing user action.In the prior art, program needs active collection information to understand user's operation and to be carried out user's operation by program oneself.This means, for example, after to program self initialization,, enter the circulation of confirming that repeatedly the user operates in order when the user has carried out any operation to screen, keyboard and mouse etc., to carry out suitable processing.Yet this processing is difficult to control.In addition, this processing also needs to carry out the round-robin program, thereby has consumed cpu cycle when waiting the user and make some thing.
Many language solve these problems by comprising different examples.One of them example is the basis that event driven program has constituted all modern view systems.In this example, all user actions belong to the set of the abstract phenomenon that is called as " incident ".Incident has enough described specific user action in detail.Program is not the incident that the user creates of collecting on one's own initiative, but when the incident that will monitor takes place, by the notifications program.The mutual program of process user is called as " event-driven " by this way.
In most occasions, use " incident (Event) " class to handle, wherein event class is obtained the fundamental characteristics that all users create incident.
DPS (Document Processing System) definition and the mode of using the incident of himself and handling these incidents.There is the incident of several types to be used.For example, mouse event is the incident that the mouse action by the user causes.The user operation relevant with mouse is delivered to mouse event by painting canvas 210.Therefore, painting canvas can be considered to the forefront of user and system interaction.If desired, the painting canvas as the forefront will arrive its delivery of content relevant with incident its (son) level down.
On the other hand, key-press event produces from painting canvas 210.Key-press event has instantaneous focus.That is, key-press event always relates to operation.The key-press event that is input to painting canvas 210 then is passed to its higher level (father).Different event by can the insertion of processing character string of keyboard input and processed.The incident that the processing character string inserts will take place when using keyboard to insert character.Other " incident " for example comprises other incidents to handle to drag events, the placement incident mode similar with mouse event.
1. the event handling outside vocabulary connects
Use event thread that incident is transmitted.After the incident of receiving, painting canvas 210 changes its state.If desired, painting canvas 210 will order (Command) 1052 to be logged into command queue (CommandQueue) 1053.
2. the event handling within vocabulary connects
By using vocabulary to connect plug-in unit 301, receive existing incident as the XHTML painting canvas (XHTMLCanvas) 1106 of purpose painting canvas one example, for example mouse event, KeyEvent, drag and placement incident and vocabulary in peculiar incident.These incidents then are informed to connector 304.More particularly, shown in Figure 21 (b), vocabulary connects flow of event in the plug-in unit 301 through source pane (SourcePane) 1103, vocabulary painting canvas 1104, purpose pane 1105, as purpose painting canvas 1106, purpose dom tree and the connector tree of the embodiment of purpose painting canvas.
F. routine call device (ProgramInvoker) and and other assemblies between relation
In Figure 14 (a), shown in further detail routine call device 103 and and other assemblies between relation.Routine call device 103 is to be performed in execution environment to start the base program of DPS (Document Processing System).Shown in Figure 11 (b) and Figure 11 (c), user application (UserApplication) 106, service broker (ServiceBroker) 1041, command calls device (CommandInvoker) 1051 and resource (Resource) 109 all are coupled to routine call device 103.As previously mentioned, application program 102 is the assemblies that move in execution environment.Equally, service broker's 1041 management increase the plug-in unit of various functions to system.On the other hand, command calls device 1051 is carried out the instruction that users provide, and safeguards to be used for exectorial class and function.
1. plug-in unit and service
Below with reference to Figure 14 (b) service in detail agency 1041.As mentioned above, service broker's 1041 management increase the plug-in unit (and related service) of various functions to system.Service 1042 is at the bottom, and it can be increased to feature in the DPS (Document Processing System) or change the feature of DPS (Document Processing System)." service " is made of two parts: type service (ServiceCategory) 401 and service provider (ServiceProvider) 402.Shown in Figure 14 (c), single type service 401 can have a plurality of relevant service providers 402.Each service provider all can be operated to carry out the specific service kind of all or part.On the other hand, 401 of type services have defined the type of service.
Service can be divided into three types: 1) " feature service " provides special characteristic to DPS (Document Processing System); 2) " application program service " is the application program by the DPS (Document Processing System) operation; 3) " environmental services " is provided at the feature that needs in the entire document disposal system.
The example of service has been shown among Figure 14 (d).According to the kind (Category) of application program service, system utility program is the example that respective service provides device.Equally, Editlet206 is a kind, and HTML Editlet and SVG Editlet are corresponding service providers.District factory 205 is another kinds of service, and has corresponding service provider (not shown).
The plug-in unit of having described to DPS (Document Processing System) increase function can be regarded as the unit that is made of several service providers 402 and relative class.Each plug-in unit all has subordinate relation and the type service of putting down in writing 401 in defined file.
2. the relation between routine call device (ProgramInvoker) and the application program
Figure 14 (e) has shown the relation between routine call device 103 and the user application 106 in detail.Required document, data etc. are written into from storer.All plug-in units that need are loaded into service broker 1041.Service broker 1041 safeguards and manages all plug-in units.Plug-in unit physically can be increased to system, perhaps can from storer, be written into its function.After being written into the content of plug-in unit, service broker's 1041 definition corresponding insert.Then, corresponding user application 106 is created, and is written into execution environment 101 and is connected to routine call device 103.
G. the relation between application program service and the environment
Figure 15 (a) illustrates in greater detail the structure that loader calls the application program service in the device 103.Call or executive routine calls order 1052 in the device 103 as the command calls device 1051 of order subsystem 105 assemblies.Order 1052 to be to be used for the instruction of document such as in DPS (Document Processing System) processing XML and the corresponding XML dom tree of editor.Command calls device 1051 is safeguarded class and the function that fill order 1052 is required.
Service call device 1041 is also carried out in routine call device 103.User application 106 is connected to user interface 107 and core component 110.Core component 110 provide a kind of in all panes the mode of shared document.Core component 110 also provides font and conduct to be used for the kit of pane.
Figure 15 (b) has shown the relation between framework (frame) 1071, menu bar (MenuBar) 1072 and the status bar (StatusBar) 1073.
H. application program core
Figure 16 (a) has further explained application program core 108, and it keeps all documents and as a document part and belong to the data of document.Core component 110 is connected to the document manager (DocumentManager) 1081 of management document 1082.Document manager 1081 is the owners that store all documents 1082 in the storer related with DPS (Document Processing System) into.
For the ease of display document on screen, document manager 1081 is also connected to root window lattice (RootPane) 1084.Clipbook (ClipBoard) 1087, snapshot (SnapShot) 1088, dilatory and placement (Drag﹠amp; Drop) 601 and the function of overlapping (Overlay) 602 also be coupled to core component 110.
Snapshot 1088 is used for cancelling Application Status.When the user starts the function of snapshot 1088, the detected and storage of the current state of application program.Afterwards, when the state of application program became another state, the content of the state of being stored was saved.In Figure 16 (b), snapshot 1088 has been shown.In operation, when application program when a URL moves to another, snapshot 1088 is remembered previous state, retreats and forward operation thereby can seamlessly carry out.
I. organizes documents in document manager
Figure 17 (a) has described document manager 1081 in further detail and how to have organized and to have preserved document in document manager.Shown in Figure 11 (b), document manager 1081 management documents 1082.In the embodiment that Figure 17 (a) shows, one in a plurality of documents is root document (RootDocument) 701, and other document is a subdocument (SubDocument) 702.Document manager 1081 is connected to root document 701, and 701 of root documents are connected to all subdocuments 702.
Shown in Figure 12 and 17 (a), document manager 1081 is coupled to document container 203, and document container 203 is objects of all documents 1082 of management.Formation comprises that the instrument of a part of the kit 201 (for example, XML kit) of DOM service (DOMService) 703 and IO manager (IOManager) 704 also offers document manager 1081.Refer again to Figure 17 (a), the dom tree based on the document of being managed by document manager 1081 is created in DOM service 703.Each document 705 is no matter be that root document 701 or subdocument 702 are all managed by corresponding document container 203.
Figure 17 (b) has shown that one group of document A-E is the embodiment that arranges as hierarchy how.Document A is the root document.Document B-D is the subdocument of document A.Document E then is the subdocument of document D.The left side of Figure 17 (b) has shown that the hierarchy of identical document therewith is presented at the embodiment on the screen.Document A as the root document is shown as basic framework.The subdocument B-D of document A is shown as the subframe in basic framework A.The subdocument E of document D is shown as the subframe of subframe D on screen.
Refer again to Figure 17 (a), create for each document container 203 and cancel manager 706 (UndoManager: cancel administrative unit) and cancel wrapper (Undo Wrapper) 707.Cancel manager 706 and cancel wrapper 707 and be used for carrying out revocable order.Use this feature, can cancel the change of using editing operation that document is done.Change in the subdocument also can relate to the root document.Cancel operation and consider the change that other documents in the hierarchy are exerted an influence, for example, shown in Fig. 7 (c), guarantee to be maintained in the consistance between all documents in the hierarchy chain.
Cancel wrapper 707 the cancel object relevant with the subdocument in the container 203 encapsulated, and they are coupled with the object of cancelling relevant with the root document.Cancel wrapper 707 collections and can cancel editor's receptacle (UndoableEditAcceptor: can cancel editor and accept the unit) 709 available objects of cancelling.
Cancel manager 706 and cancel wrapper 707 and be connected to and cancel editor's receiver 709 and can cancel editor source (UndoableEditResource) 708.It should be appreciated by those skilled in the art that document 705 can be to cancel editor source 708, also can be the source that can cancel edit object.
J. cancel order and cancel framework
Figure 18 (a) and 18 (b) have shown in further detail and cancel framework and cancel order.Shown in Figure 18 (a), cancel order (UndoCommand) 801, redo commands (RedoCommand) 802 and can cancel edit commands (UndoableEditCommand) the 803rd, can be arranged in the order in the command calls device 1051 shown in Figure 11 (b), and be carried out in proper order.Can cancel edit commands 803 also further is connected to and can cancels editor source 708 and can cancel editor's receptacle 709." foo " edit commands 804 and " bar " edit commands 805 can be cancelled the example of edit commands exactly.
1. can cancel the execution of edit commands
Figure 18 (b) has shown the execution that can cancel edit commands.At first, suppose that the user uses edit commands to come Edit Document 705.At first step S1, can cancel editor's receptacle 709 and be coupled to and can cancel editor source 708, be the dom tree of document 705 and can cancel editor source 708.At the second step S2,, use DOM API that document 705 is edited based on the order of sending by the user.At third step S3, to change events audiomonitor notice change has taken place.That is,, monitor that the audiomonitor that is changed in the dom tree detects editing operation in this step.At the 4th step S4, revocable editor is stored as the object of cancelling manager 706.At the 5th step S5, can cancel editor's receptacle 709 and separate with revocable editor source 708.Can cancel editor source 708 also can be that document 705 is own.
K. be written into the relevant step of document to system
Above-mentioned subdivision has been described each assembly and the sub-component of system.To be described in the method for using when using these assemblies below.Figure 19 (a) has shown the overall pattern that how document is loaded in the DPS (Document Processing System).In Figure 24-28, describe each step in detail in conjunction with specific example.
In brief, the binary data stream that constitutes of the data that comprise from document of DPS (Document Processing System) is created DOM.For the part interested and that belong in " district " in the document is created top node (ApexNode: the summit node).Then determine corresponding " pane ".Determined pane is from top node and physical screen surface creation " district " and " painting canvas ".Then, " district " is that each node creates " aspect ", and for they provide information needed.Painting canvas is created the data structure of the node be used to present dom tree.
Particularly, document is written into from storer 901.Create the dom tree 902 of document.Create the respective document container 903 that keeps document.Then document container 903 is connected to document manager 904.Dom tree comprises root node, can comprise a plurality of secondary nodes in some cases.
This document had generally both comprised text and had also comprised figure.Therefore, dom tree for example not only has the XHTML subtree and also can have the SVG subtree.The XHTML subtree has XHTML top node (ApexNode) 905.Equally, the SVG subtree has SVG top node 906.
In step 1, top node 906 is connected to pane 907, pane 907 is logic placements of screen.In step 2, pane 907 is used for 906 district factories of top node to the core component request as window owner (PaneOwner) 908.In step 3, the Editlet that window owner 908 returns district factory and is used for top node 906.
In step 4, pane 907 is created district 909, and district 909 is attached to pane 907.In step 5, " aspect " created for each node by district 909, and is connected to node corresponding.In step 6, pane 907 is created painting canvas 910.Painting canvas 910 is connected to pane 907.In painting canvas 910, comprise various command.In step 7,910 structures of painting canvas are used for document is presented on data structure on the screen.Under the situation of XHTML, this comprises the box tree construction.
1. be used to the MVC that distinguishes
Figure 19 (b) uses the MVC example to show the structural outline in district.In this case, because the district is the input relevant with document with " aspect ", model (M) comprises district and " aspect ".Because painting canvas and the data structure that document is presented on the screen are the output that the user sees on screen, so view (V) is corresponding to painting canvas and data structure body.Because order is to document and variously concern executivecontrol function, so the order that control (C) comprises in the painting canvas to be comprised.
L. the statement of document
To use Figure 20 to describe the embodiment of document and various statements thereof below.The document of Shi Yonging had both comprised text and had also comprised picture in this embodiment.Text uses the XHTML statement, and picture is explained with SVG.Figure 20 has shown the MVC statement of the relation of document component and corresponding object in detail.In this example, document 1001 is connected to the document container 1002 that keeps document 1001.Document is by dom tree 1003 statements.Dom tree comprises top node 1004.
Top node is represented with shaded circles.Non-top node is represented with non-shaded circles." aspect " that be used for editing node represented with triangle, and is coupled to node corresponding.Because document has text and picture, so the dom tree of the document comprises XHTML part and SVG part.Top node 1004 is the nodes at the top of XHTML subtree.This node is coupled to XHTML pane 1005, XHTML pane (XHTMLPane) the 1005th, the top pane of the physical representation of document XHTML part.Top node 1004 also is connected to XHTML district (XHTMLZone) 1006, and wherein XHTML district 1006 is parts of the dom tree of document.
Also be connected to XHTML district 1006 with node 1004 corresponding " aspect ".1006 in XHTML district is connected to XHTML pane 1005.XHTML Editlet creates XHTML painting canvas 1007, and XHTML painting canvas 1007 is logic statements of document.XHTML painting canvas 1007 is connected to XHTML pane 1005.XHTML painting canvas 1007 is XHTML building component box tree (BoxTree) 1009 of document 1001.The required various command 1008 of XHTML part of safeguarding and presenting document also is added to XHTML painting canvas 1007.
Equally, the top node 1010 of the SVG subtree of document is coupled to SVG district (SVGZone) 1011, and SVG district 1011 is the parts of dom tree of document 1001 that are used to explain the SVG assembly of document.Top node 1010 is coupled to SVG pane (SVGPane) 1013, and SVG pane 1013 is top panes of physical representation of the SVG part of document.SVG painting canvas (SVGCanvas) 1012 of the logic statement of the SVG part of statement document creates by SVGEditlet, and is coupled to SVG pane 1013.Be used for data structure and order that the SVG with document partly is presented on the screen and be coupled to the SVG painting canvas.For example, as shown in the figure, this data structure can comprise circle, line, rectangle etc.
Part for the document example statement of describing in conjunction with Figure 20 is further described with the MVC example of having described with reference to Figure 21 (a).Figure 21 (a) provides the reduced graph of the MV relation in the XHTML assembly of document 1001.Model is the XHTML district (XHTMLZone) 1101 that is used for the XHTML assembly of document 1001.In the tree in XHTML district, comprise several nodes and corresponding " aspect ".Corresponding XHTML district and pane are the parts of model (M) part of MVC example.The view of MVC example (V) part is corresponding XHTML painting canvas (XHTMLCanvas) 1102 and the box tree that is used for the HTML assembly of document 1001.By painting canvas and the order that wherein comprised, the XHTML of document partly is present on the screen.Incidents such as keyboard and mouse input are handled as shown in the figure round about.
Source pane (SourcePane) has additional function, that is to say, plays the effect of DOM retainer.Figure 21 (b) provides the vocabulary at the assembly that is used for document 1001 shown in Figure 21 (a) to connect.The source dom tree that comprises document as the source pane 1103 of source DOM retainer.The connector tree is created by connector factory, creates the purpose pane (DestinationPane) 1105 of the retainer effect of also playing purpose DOM.Purpose pane 1105 is arranged to XHTML purpose painting canvas (XHTMLDestinationCanvas) 1106 with the form of box tree.
M. plug-in unit subsystem, vocabulary connect and connector between relation
Figure 22 (a)-(c) has shown respectively with plug-in unit subsystem, vocabulary and has connected the further details relevant with connector.The plug-in unit subsystem is used to increase or function of exchange with it to DPS (Document Processing System).The plug-in unit subsystem comprises service broker (ServiceBroker) 1041.The district of the part that is used for document is created in the district factory service 1201 that is connected to service broker 1041.Editlet service (EditletService) 1202 also is coupled to service broker 1041.The corresponding painting canvas of node during Editlet service 1202 is created and distinguished.
The example of district factory is XHTML district factory (XHTMLZoneFactory) 1211 and a SVG district factory (SVGZoneFactory) 1212 of creating XHTML district and SVG district respectively.As above the document example is described, and the text component of document can be explained by creating the XHTML district, and picture then can use the SVG district to explain.The example of Editlet service comprises XHTML Editlet 1221 and SVGEditlet 1222.
Figure 22 (b) has further shown the vocabulary connection in detail.As mentioned above, it is the key character of DPS (Document Processing System) that vocabulary connects, and it can make the statement and the demonstration of the document of two kinds of different modes be consistent.The vocabulary connection manager 302 that connector factory 303 is safeguarded is parts of vocabulary connexon system.The connector 304 of document is created by connector factory 303.As mentioned above, the node among the connector surveillance source DOM, and the node among the modification purpose DOM are to safeguard two kinds of consistance between the statement.
Template (Template) 317 statements are used for the transformation rule of some nodes.It is some regular template lists of expression that vocabulary connects descriptor (VCD) file, and these rules are used for and will satisfy the element of certain path or rule or the element that element set is converted to other.Template 317 and command template 318 all are connected to vocabulary connection manager 302.The vocabulary connection manager is the object of all parts in the management VCD file.To a vocabulary connection manager of VCD document creation object.
Figure 22 (c) provides the further details of relevant connector.Connector is created by connector factory 303 from source document.Connector factory 303 connects with vocabulary, template and element template, and creates vocabulary connector (VocabularyConnector), template connector (TemplateConnector) and element connector (ElementConnector) respectively.
Vocabulary connection manager 302 is safeguarded connector factory 303, in order to create vocabulary, reads corresponding VCD file.Then create connector factory 303.This connector factory 303 is associated with the Editlet of the district factory of creating the district and establishment painting canvas.
Then, the Editlet service-creation vocabulary connection painting canvas that is used for target vocabulary.Vocabulary connects the connector that painting canvas is also created summit in source dom tree or the district.Recursively create sub-connector as required.By one group of template establishment connector tree in the VCD file.
Template is the set that is used for the element of SGML is converted to the rule of other elements.For example, each template and source dom tree or district are complementary.When correct coupling, create the summit connector.For example, template " A/*/D " is mated all from node A, in the tree branch that node D finishes, and does not consider the node between node A and the node D.Equally, " //B " corresponding to all " B " nodes from root node.
N. the example of relevant with VCD file connector tree (ConnectorTree)
To explain the processing relevant below with particular document.The document of " MySampleXML " by name is loaded into DPS (Document Processing System).Figure 23 has shown the embodiment of the VCD script of the use vocabulary connection manager that is used for " MySampleXJML " file and connector plant tree (ConnectorFactoryTree).
Vocabulary part, template part and the corresponding assembly in the vocabulary connection manager in the script file have been shown in the drawings.It is " sample:root " that attribute " match " is provided under label " vcd:vocabulary ", and " label " is " MySampleXML ", and " call-template " is " sampleTemplate ".
In this embodiment, in the vocabulary connection manager of " MySampleXML ", vocabulary comprises summit element " sample:root ".Corresponding UI is labeled as " MySampleXML ".In template part, label is " vcd:template ", and name is called " sample template ".
O. with the specific embodiment of the method for file loading system
Figure 24-28 has shown the detailed description that is written into document " MySampleXML ".In step 1, shown in Figure 24 (a), document is written into from storer 1405.The document container 1401 of dom tree and document manager 1406 correspondences is created in DOM service (DOMService).Document container 1401 is connected to document manager 1406.Document comprises the subtree of XHTML and MySampleXML.XHTML top node 1403 is to have label " xhtml:html " the node at top of XHTML.The top node 1404 of " MySampleXML " is the node at top with label " sample:root " " MySampleXML ".
In step 2, shown in Figure 24 (b), the root window lattice are document creation XTML district, " aspect " and painting canvas.Create pane 1407, XHTML district 1408, XHTML painting canvas 1409 and the box corresponding and set 1410 with top node 1403.
In step 3, shown in Figure 24 (c), after finding the XHTML district unapprehended label of institute " sample:root ", sub-pane is created in the zone from the XHTML painting canvas.
Figure 25 has shown step 4, and in step 4, sub-pane obtains the district factory that can handle " sample:root " label and can create suitable district.This district factory is in the vocabulary that can carry out district factory.District factory comprises the content of the vocabulary part (VocabularySection) in " MySampleXML ".
Figure 26 has shown step 5, and in step 5, default district (DefaultZone) 1061 created in the vocabulary corresponding with " MySampleXML ".Create corresponding Editlet and the sub-pane 1501 of creating corresponding painting canvas is provided.Editlet creates vocabulary and connects painting canvas.Then, vocabulary connection painting canvas calls the template part (TemplateSection) that comprises the connector plant tree.The connector plant tree is created all connectors that will constitute the connector tree.
In the step 6 shown in Figure 27, each connector is created purpose DOM object.Some connectors comprise XPath information.XPath information comprises more than one XPath expression formula, and the XPath expression formula is used for determining need be to whether the subclass of the source dom tree that change/modification monitored have taken place.
In step 7 shown in Figure 28, vocabulary forms the purpose pane of purpose dom tree from the pane of source DOM.This finishes based on source pane (SourcePane).The top node of purpose tree is connected to purpose pane (DestinationPane) and corresponding district.The purpose pane is created purpose painting canvas (DestinationCanvas).And, for the purpose pane is provided for presenting with the purpose form data structure and the order of document, and the Editlet that is used for purpose pane self.
Figure 29 (a) has shown the flow of event when taking place on the node that just is present on the purpose tree, and does not have corresponding source node.Is to be passed to element template connector (ElementTemplateConnector) by the purpose tree as mouse event and KeyEvent etc. by the incident that painting canvas obtained.Element template connector does not have corresponding source node, and therefore the incident that is transmitted not is the editing operation to source node.If the order of describing in incident that is transmitted and the command template (CommandTemplate) is complementary, then element template connector is carried out corresponding action.If the order that is not complementary, then element template connector is ignored the incident that is transmitted.
Figure 29 (b) has shown the stream (flow) under the situation that incident takes place on the node of purpose tree, and the node of this purpose tree is associated with source node by text connector (TextOfConnector).The text connector obtains text node from the node that the XPath by the source dom tree stipulates, and text node is mapped as the node of purpose dom tree.Be sent to text connector by the incident that painting canvas obtained by the purpose tree as mouse event and KeyEvent etc.The text connector is mapped as the edit commands of respective sources node with the incident that is transmitted, and these orders are arranged in the formation (Queue) 1053.Edit commands is the API Calls set by the DOM of " aspect " execution.When execution is arranged on order in the formation, editor's source node.During source node, send change events editor, and will be to the amendment advice of source node to the text connector that is registered as audiomonitor.The text connector rebulids the purpose tree, thereby reflects the modification to source node in the corresponding target node.At this moment, comprise the control statement if comprise the template of text connector, for example " for each " and " for loop ", then connector factory reappraises and controls statement.After rebuilding the text connector, rebuild the purpose tree.
(first embodiment)
First embodiment proposes the new technical scheme of utilizing XML, and proposes new programming example.
As mentioned above, Web page developer is controlled ActiveX control by using the VB script, can develop the webpage with various functions.But, since ActiveX control this in inside by the black box change, can't realize to the function of ActiveX control carry out freely customize and a plurality of ActiveX control between operate to direct correlation mutually.
The inventor has noticed the XML treatment technology that illustrates in the prerequisite technology, be the technology that is suitable for solving above-mentioned problem.For existing general application program,, can just can't and not use internal data by the API of external reference from external reference if specially do not prepare because the required data of himself operation are to preserve with specific binary format.But if the data that application program is used are preserved with the XML form, then by using the described technology of prerequisite technology, other application programs are reference data simply also.In other words,, use the standard A PI of DOM because the document processing device, document processing 20 of prerequisite technology saves as the DOM form with XML document, just can be from the external freedom visit data.By using the technology of this can be described as " clear box ", can build up programming example with high degree of flexibility.The technological thought of the new use XML that the inventor has expected is more advanced than the XML treatment technology that illustrates in the prerequisite technology, record and narrate below.
At this, the relation of the treatment technology of the data structure of relevant XML document and XML document is described.Figure 30 (a) and (b) and (c) show example as the data structure of the XML document of process object.As simple example, shown in Figure 30 (a) is the XML document of being described by single vocabulary.This XML document disposal system as the browser of the display web page described with XHTML, can be handled the described XML document of specific vocabulary.
In contrast, the applicant has developed a kind of document processing device, document processing, and it can carry out suitable processing with the XML document that the formation element (the black circle among the figure) of other vocabulary mixes to the formation element (the white circle among the figure) of certain vocabulary, shown in Figure 30 (b).In document processing device, document processing 20 according to the prerequisite technology, for XML compound document with various XML vocabulary combinations, access the disposal system that is suitable for each fragment by main control unit 22 as the embodiment of start unit, allocation process also makes up view, according to user's editing operation editor XML compound document.These systems can be by the hard coded plug-in unit (for example, HTML unit 50 or SVG unit 60) of exploitations such as Java (registered trademark) language, also can be based on by the described VC of defined file unit 80 execution scripts.Under multiple situation, the disposal system that is used for main flow vocabulary (for example XHTML) provides with the form of hard coded plug-in unit.On the other hand, the disposal system that is used for the special-purpose vocabulary of user provides with the form of defined file.According to such technology, for example in the example of Figure 30 (b), can in the document that XHTML (the formation element of white circle) described, insert the described partial document of vocabulary (the formation element of black circle) that is used for display graphics, thereby on the screen of XHTML document, dispose figure.
At this, have a look the relation between XML fragment and the disposal system.Be each XML sheet segment call disposal system, make up view with content based on XML.Then, obtain Client-initiated UI incident, editor XML.If from another angle, show and when editing the disposal system of specific vocabulary the parameter of the XML fragment that this vocabulary is described when accessing accessing to serve as.
The inventor notices, uses such framework, can provide execution environment for the disposal system of freedom and flexibility more.In other words, disposal system is not limited to certain XML is shown and edits, and also can more freely carry out various processing.For example,, can pass through Web Service API Access server, also can summarize and natural language processing such as translation according to the data in the XML fragment.The XML fragment also plays the effect of heap memory used in the operation (heap memory) simultaneously as the parameter that starts the respective handling system.So, the document processing device, document processing 20 of prerequisite technology provides a kind of execution environment for the program of uniqueness, and label for example is set in XML document, thereby allows to start processing (disposal system).Like this, when carrying out above-mentioned processing, parameter can be used as attribute or can be used as operand by the textual portions that label surrounds.
In the present embodiment,, the data structure scheme shown in Figure 30 (c) has been proposed as the data structure of new XML document.In Figure 30 (c), the formation element 25 that has oblique line comprises the pointer information that points to other data 26 in the document.The disposal system of being responsible for these formation element 25 affiliated vocabulary is with reference to being operated by the indicated data 26 of pointer information.For example, as mentioned above, when in the XHTML document, inserting figure, not the graph data entity in the graphic presentation vocabulary of describing shown in Figure 30 (b), but create figure with reference to other data of describing in the XHTML document.Can make up the application program of moving with reference to the data of other data in the document or other documents by such data structure.
Document processing device, document processing starts suitable disposal system by the NameSpace with reference to the contained formation element of document.Therefore, in the example of Figure 30 (c), the formation element 25 shown in the oblique line has the function that starts the disposal system that is used for display graphics.In addition, the disposal system of startup is not handled the formation element that these formation element 25 subordinates exist, but is operated with reference to the indicated data 26 of pointer information that this formation element 25 is had.This formation element 25 also has " fixator " function of the allocation position of indication figure in document.Constitute the pointer information that element 25 had and to be appointed as the attribute that constitutes element 25, also can be appointed as and constitute the element value that element 25 self or its subordinate constitute element.Also can in containing the XML fragment that constitutes element 25, describe disposal system and move necessary parameter information etc.
According to such technology, disposal system also can be used it for the data of the outside of the responsible fragment of controlling oneself as the parameter of regulating self-operating or as the heap zone.That is to say, adopt such pattern: only charge to reference position in fragment part in xpath mode etc., this reference position points to actual value.For instance, be equivalent to pointer as function parameters.
If from the above-mentioned technology of viewpoint of programming example, can provide can be with reference to the application runtime of the data run of the optional position in the document.And, as mentioned above, because by using the API of DOM, therefore data in the document can, will be provided a kind of so new programmed environment by application program use arbitrarily, that is, in this programmed environment, can use the data that are kept at as DOM in the document as shared memory bank.In document, describe being useful on the formation element 25 that starts application program.To constitute element 25 is the pointer information that the opportunity application program started has with reference to this formation element 25, and other data 26 of document are used as shared memory bank.Like this, will realize that document and application program do not have the new programming example of gap concerted action.
Document processing device, document processing 20 is owing to have the function of the generation of revising by the change events notice when DOM revises, so, the data 26 that promptly are used in the disposal system reference of graphic presentation are revised by other disposal systems, owing to notified the disposal system that is used for graphic presentation, so can reflect modification rightly.As mentioned above, even a plurality of application program owing to suitably data are shared, therefore can make a plurality of application program concerted actions with reference to the occasion of identical data set operation simply.We can say that a plurality of disposal systems are operated with reference to identical pointer and are equal to these a plurality of disposal systems XML document is operated mutually synergistically as shared memory bank.
In existing electronic data sheet (spreadsheet) application program, because computing formula has been described in cell, so can start computing.In addition, in the occasion of pattern filling, generally be the scope of specifying reference unit, use the data creating figure in this unit then.The technology of present embodiment is applied to above-mentioned pattern in the XML compound document, thereby has comprised the feature of having only XML just to have.
If use the spreadsheet applications with total function or graphical display function to make " functional " document, then in operating process, the user can carry out the data input, calculates and carry out simulated operation with reference to result of calculation.The document processing device, document processing of present embodiment can use above-mentioned technology to make various processing (disposal system) cooperation too, makes various purposes special-purpose " functional " XML compound document.And different with spreadsheet applications, the document processing device, document processing of present embodiment can provide the transparency and the good platform of extensibility based on open XML technology.The user can use the functional XML document of this class to finish various operations.
Figure 31 (a) and (b) show the example of pointer information.Figure 31 (a) illustrates is the example of pointer information when describing in the xpath mode.In this example, the pointer information of the position of the data 26 that the expression disposal system will reference is described by the xpath mode.Disposal system can be learnt the position of data 26 that self will reference by this xpath mode.
Example when Figure 31 (b) shows pointer information and provided by conceptual information.Constitute element 25 as element value or property value, conceptually show the conceptual information of definition clearly of the position of the data 26 that disposal system will reference." Ding Yi conceptual information clearly " for example can be based on ontology (ontology) technology conception information.At this moment, in order to explain this conceptual information and to determine actual data, be provided with conceptual analysis engine 27.Conceptual analysis engine 27 for example is transformed to tag name with this conceptual information after obtaining conceptual information.When having specified " significant data " occasion as conceptual information, conceptual analysis engine 27 for example returns<important,<important,<company's secret etc. tag name.Thus, disposal system can know should with reference to have in the document<important etc. the data of label.When conceptual analysis engine 27 proposes the solution request, which information can be specified needs.For example, specified " significant data " this notion after, when requiring to be transformed to English label, conceptual analysis engine 27 can return<important 〉,<secret etc. tag name.
Describing in advance in containing the XML fragment that constitutes element 25 has disposal system to move the occasion of necessary parameter information, as one in the parameter information, and the information of the semantic type that can be defined clearly with reference to pointer information target data regulation pointed." information of Ding Yi semantic type clearly " for example can be based on the semantic type information of " ontology " technology.For example, in the occasion of " important " this notion being specified, can be semantic type information with information specifies such as " operational ", " for money " as pointer information.In addition, specified the occasion of " amount of money " this notion, can will sell volume as pointer information ", information specifies such as " wishing retail price ", " loaning bill " is as semantic type information.Thus, disposal system can be checked the consistance of semantic type.
In the prior programming language, can not have the semantic meaning in the type.Whether for example, value type is the occasion of " int ", can be that effective round values is checked to the numerical value of substitution, but can not check the semanteme of the numerical value of institute's substitution.,, mistakenly people and month addition or people and people are multiplied each other for this reason, can not recognize this semantic error as programming language for example to calculating during everyone cost of every month handles.In contrast, according to the technology of present embodiment, even same amount also can be " sales volume " or " loaning bill " or " 1 yen of unit " or " 1,000 dollar basis ", be the affirmation of the semantic consistency of " number " or " days " etc.When disposal system is confirmed the consistance of semantic type, for example, can use conceptual analysis engine 27, to the tag name of the data of reference whether with consistent the checking of semantic type information of appointment.
Use the ontology technology to provide the technology of semantic type information to data, it is general to can be used as new programming technique.So, with existing programming technique contrast, the programming technique that will contain semantic technological thought is called " semantic programming ".
At this,, the expansion from the change events of DOM unit 30 described in the prerequisite technology is described as an embodiment of semantic programming technique.DOM if include " Ding Yi semantic type information clearly " among this DOM, then will send change events to reference the type information processing system after revising.Disposal system is not only directly specified and is wanted the DOM (monitoring whether this DOM variation has taken place) that monitors that self changes also can specify " Ding Yi semantic type information clearly " indirectly conversely speaking.
Figure 32 (a) and (b) show and are used to illustrate DOM is changed the structure of notifying.Particularly, Figure 32 (a) has shown the mechanism of sending the conversion incident in the document processing device, document processing 20 according to the prerequisite technology.The variation that appointments such as disposal system 29 usefulness xpath modes will monitor, and as the audiomonitor of change events and be registered.DOM unit 30 sends change events to the audiomonitor of registering after DOM changes.
Figure 32 (b) shows the technical scheme of the structure of the new change events that proposes of present embodiment.In document processing device, document processing 20, newly be provided with notification unit 28 as the intermediary of change events notice.Notification unit 28 accepts to want the appointment of monitor node from disposal system 29.When DOM unit 30 changes at DOM, notify this change to notification unit 28.After notification unit 28 is received the DOM that sends from DOM unit 30 and changed notice, send change events to monitoring the disposal system 29 that changes node.
The notice of the node that notification unit 28 can receiving processing system 29 will monitor by the xpath mode, still, for providing more flexible and having the programmed environment of high universalizable, notification unit 28 can also receive the conceptual information of definition clearly.In this occasion, when notice that notification unit 28 obtains having been changed by the DOM that DOM unit 30 sends, send to conceptual analysis engine 27 such as tag name of this node, and obtain the pairing conceptual information of this tag name from conceptual analysis engine 27.Notification unit 28 sends change events to the disposal system 29 of the conceptual information that registration is obtained to some extent.Therefore, disposal system 29 can be indicated notification unit 28, for example is modified Shi Xiangqi at " important information " and gives notice.After notification unit 28 had received change events from DOM unit 30, order conceptual analysis engine 27 judged whether the node that is modified is " important information ", if, to the change of disposal system 29 notice DOM.
According to so semantic programming technique, can develop more flexible easily and have a program of high universalizable.
Next, the technology that the data structure of using Figure 30 (c) to illustrate is edited the document with various functions describes.
The disposal system (promptly by constituting the disposal system that element 25 starts) that constitutes the vocabulary of element 25 affiliated NameSpaces can be provided with customizable application component form.Because this disposal system is the assembly that is used to constitute the document views system, so be referred to as " view template ".View template can be based on the form of the defined file of script, also can be the form of hard coded plug-in unit.For using the view template function, carry out following operation: in document, describe formation element 25 as the view template fixator; The pointer information that points to the data that disposal system will reference is described in constituting element 25; And the additional information of in element 25, describing the disposal system needs.For making the view template can be general, a kind of like this environment preferably is provided, wherein this environment can be with the form regulation pointer information of the conceptual information of definition clearly.In addition, can use conditional that arithmetical operation, logical operation, natural language processing, other any computing form etc., stipulate will reference data.
Figure 33 shows the formation of the related document processing device, document processing of this embodiment.The document processing device, document processing 100 of present embodiment except the formation of the document processing device, document processing 20 of prerequisite technology shown in Figure 1, also comprises view template control module 70, acquiring unit 71 and view template 78.View template control module 70 comprises Tip element 72, receiving element 74 and edit cell 76.
Acquiring unit 71 obtains the document as process object.View template 78 is to use the contained data of document that the disposal system of predetermined function is provided as mentioned above, also is the constituent components of the editing screen of document.
Tip element 72 is spendable view template 78 in user prompt document processing device, document processing 100.Tip element 72 can be shown in the inventory of the view template 78 of installation in the document processing device, document processing 100 in the display screen, also can select spendable view template 78, thereby make view template 78 be shown corresponding to the document content among the editor.For example, when editor's SVG document, can select to be inserted in the SVG document view template 78 and with its demonstration.
Receiving element 74 is received in the indication of adding view template 78 document from the user.The user carries out drag-and-drop operation in the document display screen in edit pattern, and behind the icon one of therefore and in the mobile view template 78 (it is shown in the inventory screen that is presented by Tip element 72), receiving element 74 is received in the indication that assigned position inserts the view template 78 that is moved.
After edit cell 76 received the insertion indication of view template 78 at receiving element 74, the formation element (label) that is used to start this view template 78 was inserted in the regulation insertion position in document.At this moment, edit cell 76 can show and is used to allow the user to stipulate to be used for the screen of data area of operational view template 78.Edit cell 76 can be judged automatically and is used for the data area of operational view template 78.Edit cell 76 is described the pointer information of the data that operation is used of view template 78 in document.Edit cell 76 can also be described in the document receiving the required parameter of view template 78 operation etc. from the user after judging automatically.
When edit cell 76 appends in document when being used to start the formation element of view template 78, by main control unit 22 start handle this disposal system that constitutes element, be view template 78, the view that view template 78 provides will show on the documents editing screen.Afterwards, the function that can on the documents editing screen, use the view template 78 that started to provide.
Figure 34 shows an embodiment of the editing screen of document.On documents editing screen 97, shown and shown view template palette 98 by Tip element 72.Be in information such as the program that records the individual in the document of edit pattern, ToDo tabulation, Email.In editing screen shown in Figure 34 97, because these information do not offer view, so do not show.
At this, the user is after selecting to be used for the view template 78 of progress displaying table on the view template palette 98, when in editing screen, carrying out drag-and-drop operation, receive this request by receiving element 74, insert the formation element by edit cell 76 at the assigned address of document, to start the view template 78 of progress displaying table.At this moment, edit cell 76 stores the pointer information of the part of program (schedule) information to constitute the form of attribute of an element in the regulation document.
Figure 35 shows the editing screen after the view template 78 that is used for program starts.When by edit cell 76 when document inserts the formation element be used to start the view template 78 that program uses, start the view template 78 of handling these formation elements, be the view template 78 that program is used by main control unit 22 as the embodiment of start unit.The program information of describing in the part that pointer information points to 99 will be shown with the form of table.
Like this,, can in document, add the view template 78 that has various general utility functionss, construct simply and have functional document according to the technology of present embodiment.
(second embodiment)
To the technology that providing described in first embodiment has a versatility document process function be described further below.The function that is known as " view template " in the first embodiment is known as AVC hereinafter, and (Adaptive Vocabulary Conponent: self-adaptation vocabulary assembly), expression provides the disposal system of general VC function.
Figure 36 shows the formation of the document processing device, document processing that present embodiment relates to.In the document processing device, document processing 100 of present embodiment, substituted the view template control module 70 and the view template 78 of the document processing device, document processing 100 in first embodiment by AVC control module 3000.AVC control module 3000 comprises: the AVC assembly 3010 that is used for indicator gauge; The AVC assembly 3020 that is used for displayed map; Be used to show the AVC assembly 3030 of UI parts; Be used to show the AVC assembly 3040 of tree; And AVC attribute setup unit 3002, it is used to set the required attribute information of operation of these AVC assemblies. Assembly 3010,3020, each in 3030 and 3040 provides the disposal system of AVC function.
Figure 37 has shown the embodiment of the XML document of the attribute that has inserted the AVC assembly therein.This XML document is to be used to describe " doc " vocabulary description of dictionary data." page " element is the daughter element of root element " doc ", the page or leaf of expression dictionary.According to number of pages a plurality of " page " element is set.Each " page " element comprises " English (English) " element of storing English word, and " Japanese " element of storage Japan word.
In the example that goes out shown in Figure 37, for the form with table shows above-mentioned dictionary, be inserted with AVC attribute 3012, AVC attribute 3012 has been described the necessary attribute information of operation of the AVC assembly 3010 that is used for indicator gauge.AVC attribute 3012 is to describe with the vocabulary that is used for indicator gauge " tbl ", and the vocabulary of this indicator gauge can be handled by the AVC assembly 3010 that is used for indicator gauge.In AVC attribute 3012, " tbl " vocabulary is described by the vocabulary that is used to describe the AVC attribute " avc " with the correspondence of " doc " vocabulary.To describe the vocabulary of original XML document below, that is, " doc " vocabulary is called " subject term remittance "; And the vocabulary that will describe the AVC attribute that inserts, that is, " tbl " vocabulary is called " objective vocabulary " or " AVC vocabulary ".
In the example of Figure 37, the element " column " that records each data that are listed as of table comprises that two property elements " property " are as daughter element.First element " property " records parameter " label-transfer 1 ", and expression is with reference to the attribute information of the element " english " of subject term remittance.Second element " property " records parameter " label-transfer2 ", and expression is with reference to the attribute information of the element " japanese " of subject term remittance.Be used for the information of the AVC assembly 3010 of indicator gauge, import the value and the demonstration of subject term remittance elements " english " and " japanese " at the respectively row of table with reference to attribute " property ".Like this, can pass to the document data of any desired and have the general utility functions parts disposal system of (as being used for AVC assembly 3010 of indicator gauge etc.) is handled.
Figure 38 shows the step of the document processing method that relates to present embodiment.When the user sends the instruction of inserting the view that the AVC assembly provides (S10), subject term converges disposal system according to inserting instruction, the AVC attribute templates of AVC assembly is inserted into the insertion target location (S12) of source DOM.This function can be served as by the main control unit 22 of document processing device, document processing 20, also can be served as by AVC control module 3000.Particularly, can wait by choice menus or order and receive the instruction that is used to insert the AVC assembly, also can receive the instruction that is used to insert the AVC assembly by the insertion position drag and drop in the screen display of document such as icon that will represent the AVC assembly.By the pattern that the reference subject term converges, can judge whether and to insert the AVC attribute in the position of indication.When the result who determines is that subject term converges AVC attribute with defined when not matching, do not allow to insert the AVC attribute.
After source DOM is modified, send change events (S14) by DOM unit 30, the subject term remittance disposal system that has received change events shows (S16) again to document.At this moment, because the AVC attribute that inserts is to be described by the vocabulary that subject term remittance disposal system can not be handled, subject term remittance disposal system request main control unit 22 will be handled transfer, and main control unit 22 is selected as the AVC assembly of the disposal system that can handle the AVC attribute and indicated its processing (S18).In the example shown in Figure 37, because AVC attribute 3012 is by AVC vocabulary " tbl " description, so selected to be used for the assembly 3010 of indicator gauge.The on commission AVC assembly of handling processs and displays the AVC attribute, but at this, because the AVC attribute only provides with the form of the template inserted, and sets actual property value, so AVC component call AVC attribute setup unit 3002 is to set AVC attribute (S20).
AVC attribute setup unit 3002 sends to the AVC assembly and is used to show the dialogue screen request (S22) of (it is used to receive the AVC attribute and sets).This dialogue screen is provided as the storehouse that the AVC assembly can use jointly.The AVC building component shows the dialogue screen of the attribute information that needs setting, and is shown to user (S24).In this dialogue screen, can the display document contained element or the tabulation of attribute, for example, the data that the tabulation of the attribute information that set, the preview of display frame and AVC assembly can references.The user can be from the tabulation of the contained element of document, for example locates to select the element set at the row of table, row, label etc., and drag and drop in the attribute information list screen, makes corresponding relation to be set.
When the user uses dialogue screen to set attribute information (S26), the AVC assembly receives the attribute set information, and the pairing node of AVC attribute that inserts in the DOM of source writes the property value (S28) of setting.After source DOM revises, send change events (S30), receive the AVC attribute and handle (S32) as the AVC assembly self of the disposal system of AVC attribute by DOM unit 30.Like this, use the information that is set in the AVC attribute, the function of AVC assembly is provided, realize the desirable demonstration of user (S34).Figure 39 shows the example of screen display.
When opening the XML document that is inserted with the AVC attribute, will show screen shown in Figure 39 by following step.At first,, and handle subject term and converge to root element assignment process system by main control unit 22.The disposal system that subject term converges is owing to the AVC vocabulary that can not handle insertion, so after distributing pane to the part of describing with AVC vocabulary, other disposal systems are entrusted in processing.Main control unit 22 selects the AVC assembly as the disposal system that is suitable for handling AVC vocabulary, and selected AVC assembly is created view with reference to the AVC attribute.Like this, can obtain display screen shown in Figure 39.
(the 3rd embodiment)
In second embodiment, embody the AVC function by the AVC assembly that inserts the AVC attribute to XML document and start as the disposal system of AVC attribute.In the present embodiment, description be need not in XML document, insert the technology that the AVC attribute just can provide the AVC function.
Figure 40 shows the formation of the document processing device, document processing that relates to present embodiment.The document processing device, document processing 100 of present embodiment is except the formation of document processing device, document processing 100 with second embodiment shown in Figure 36, and its AVC attribute setup unit 3002 also comprises AVC attribute generation unit 3004 and defined file generation unit 3006.Other formations are identical with second embodiment with action.
When AVC attribute setup unit 3002 when the user receives the setting of the required attribute information of the operation of AVC assembly, AVC attribute generation unit 3004 be not as shown in figure 37 insert AVC attribute 3012 to source document, but create record AVC attribute 3012 the AVC property file as the file different with source document.Defined file generation unit 3006 is created the module that is used to read the AVC property file.At this, the defined file that is to use the VC function of establishment based on script.
Figure 41 shows the step of the document processing method that present embodiment relates to.When sending indication, the user will be used for whole or certain disposal system of " distinguishing (zone) " of document, when first disposal system of the tally set under the formation element of handling this district switches to as the AVC assembly of the second disposal system embodiment (S50), AVC attribute setup unit 3002 obtains and be registered as AVC the component list that the user can use in document processing device, document processing 100, and with its demonstration, thereby make the user select (S52) to the AVC assembly that uses.When AVC attribute setup unit 3002 received the user to the selection of the AVC assembly that uses after (S54), in order to allow the user that the setting of AVC assembly operation desired parameters is set, AVC attribute generation unit 3004 is created the example (S56) of the AVC attribute of selected AVC assembly, and request AVC assembly display setting dialogue screen (S58).Requested AVC assembly uses shared storehouse to create and sets dialog box, and it is shown (S60) to the user.
After the user uses dialogue screen to set attribute information (S62), create the AVC property file by AVC attribute generation unit 3004.At this, the AVC assembly sends the request that is used to show the login dialog screen to defined file generation unit 3006, with registration defined file (S64).The filename (S66) of the defined file that defined file generation unit 3006 will be registered to user's query, and, create defined file then from the title (S68) that the user receives defined file.This defined file will be called as the disposal system to summit (Apex) element of source document or appointment " district ".Defined file generation unit 3006 these defined files of registration are so that document processing device, document processing 100 is as using (S70) with reference to data (reference data).This defined file includes the order of reading the AVC property file, and other suitable disposal systems, i.e. proper A VC assembly are entrusted in the processing that comprises the AVC attribute that will be used to read simultaneously.
After the establishment of AVC property file and defined file was finished, AVC attribute setup unit 3002 was according to the defined file switching processing system of creating (S72).Particularly, according to this defined file, the AVC property file is read out, and with this AVC assembly is entrusted in processing.The on commission AVC assembly reference record of handling is useful on the AVC property file of the information of the data that identification will use, the data that the described AVC assembly of identification uses in the data from be included in document.Like this, this AVC assembly uses the data that identified that intended function is provided, to create and demonstration view (S74).Like this, use the information of setting in the AVC attribute that the function of AVC assembly is provided, thereby realize the desirable demonstration of user.
Utilize above-mentioned technology, in source document, do not insert attribute information etc. and also can realize the AVC function.Therefore, can when keeping the integrality of source document, increase new view by using the AVC function, and irrelevant with the vocabulary of describing source document.In addition, because the defined file of creating also is applicable to other documents after preserving, thus can recycle defined file, thus AVC provided function for a plurality of documents.
In addition, in source document, can will specify the order of the disposal system that should be suitable for the PI formal description.Therefore, can the designated treatment system, and the integrality of document is not brought any influence.For each district that disposal system is switched the PI that disposal system is carried out appointment can be described.During 22 pairs of Apex elements of main control unit allocation process system, when having described when disposal system carried out the PI of appointment this system of priority allocation.Use this function, specify with the PI form, come priority allocation AVC assembly, thereby the AVC function is achieved by being used to call the defined file that the AVC function creates in advance.
Abovely describe the present invention according to embodiment.Aforesaid embodiment only is exemplary, and these combinations that constitute elements or processing procedure can form various variation, and these variation also fall into protection scope of the present invention, and this all will be understandable for a person skilled in the art.
In embodiment, though be that example is illustrated with the processing XML document, document processing device, document processing 100 is for being handled too by the document of other SGMLs such as descriptions such as SGML, HTML.
The possibility of utilizing on the industry
The present invention can be for the treatment of the document processing device, document processing of the document that utilizes the markup language structure.

Claims (18)

1. document processing device, document processing comprises:
The document acquiring unit obtains the document of being described by predetermined tally set;
Disposal system is handled the tally set under the formation element of described document,
Wherein, when formation element contained in the described document includes pointer information, described disposal system is operated with reference to described pointer information data pointed, and what described pointer information pointed to is disposal system other data in the document of operation time institute's reference that tally set under this formation element is handled.
2. document processing device, document processing according to claim 1, wherein, described pointer information is described with the xpath mode.
3. document processing device, document processing according to claim 1, wherein, described pointer information is the conceptual information that defines clearly.
4. document processing device, document processing according to claim 3 also comprises analytic unit, when described pointer information is provided with the form of described conceptual information, determines the data that described pointer information is pointed according to described conceptual information.
5. according to any described document processing device, document processing of claim 1 to 4, wherein, when a plurality of formation elements contain the pointer information that points to identical data, handle each a plurality of disposal systems that constitute the affiliated tally set of element described identical data is used as shared memory bank.
6. according to any described document processing device, document processing of claim 1 to 5, also comprise administrative unit, described administrative unit is based on described document creation DOM Document Object Model data, thereby described document is managed,
Wherein, the interface that provides by described administrative unit of described disposal system is with reference to the indicated data of described pointer information.
7. document processing device, document processing according to claim 6, wherein, when described DOM Document Object Model data were changed, described administrative unit was notified described disposal system with this change, and
When receive the reformed notice of described DOM Document Object Model data from described administrative unit after, described disposal system reflects described change.
8. document processing device, document processing according to claim 7, wherein, the target side that receives the reformed notice of described DOM Document Object Model data from described administrative unit is with the form regulation of the conceptual information of definition clearly; And
Described document processing device, document processing also comprises analytic unit, when described administrative unit to change when notice that the specified notified target side of described conceptual information is sent above-mentioned object model data, described analytic unit is determined actual notified target side according to described conceptual information.
9. according to any described document processing device, document processing of claim 1 to 8, wherein, the required parameter information of operation that described formation element also comprises described disposal system.
10. document processing device, document processing according to claim 9, wherein, described parameter information comprises the data relevant clearly semantic type information of definition pointed with described pointer information.
11. document processing method comprises:
Obtain the document of describing with the preset label collection;
The disposal system that startup is handled the affiliated tally set of the formation element of described document; And
Handle described document by described disposal system,
When having, formation element contained in the described document points to when being contained in the pointer information of other data in the described document, described disposal system is operated with reference to the described data that described pointer information points to, during the tally set of described disposal system under handling described formation element, described other data are used as reference data.
12. program makes the following function of computer realization:
Obtain the document of describing with the preset label collection;
The disposal system that startup is handled the affiliated tally set of the formation element of described document; And
Handle described document by described disposal system,
When having, formation element contained in the described document points to when being contained in the pointer information of other data in the described document, described disposal system is operated with reference to the described data that described pointer information points to, during the tally set of described disposal system under handling described formation element, described other data are used as reference data.
13. data structure of describing with XML, wherein, have at least a structure element to have the pointer information that points to other data, wherein, described other packets are contained in the document, and during the tally set under disposal system is handled described formation element, described other data are used as reference data.
14. a document processing device, document processing comprises:
Receiving element receives processing module is appended to indication in the document, and described processing module uses the data in the document that predetermined function is provided; And
Edit cell when receiving described indication, inserts the formation element that includes pointer information to described document, and described pointer information points to the data that described processing module is used.
15. document processing device, document processing according to claim 14 also comprises start unit, described start unit is used for starting the processing module that the described formation element that is inserted into described document is handled.
16. according to claim 14 or 15 described document processing device, document processings, wherein, the described edit cell parameter that the operation of described processing module is required is inserted in the document.
17. document processing device, document processing comprises:
The document acquiring unit obtains the document of being described by predetermined tally set;
First disposal system is handled the tally set under the formation element of described document;
Second disposal system uses the data in the document that intended function is provided,
Wherein, when the disposal system that receives the formation element that will handle described document switches to the indication of described second disposal system by described first disposal system, described second disposal system is with reference to the file that records the information that is used to discern the data that will use therein, discern the described data that will use, and use institute's recognition data that described intended function is provided.
18. document processing device, document processing according to claim 17, wherein, when described file did not exist, described second disposal system received from the user and is used to discern the information of the described data that will use, and creates described file.
CNA2006800220522A 2005-06-24 2006-06-26 Document processing device and document processing method Withdrawn CN101203848A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005185726 2005-06-24
JP185726/2005 2005-06-24
JP100665/2006 2006-03-31

Publications (1)

Publication Number Publication Date
CN101203848A true CN101203848A (en) 2008-06-18

Family

ID=39518092

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800220522A Withdrawn CN101203848A (en) 2005-06-24 2006-06-26 Document processing device and document processing method

Country Status (1)

Country Link
CN (1) CN101203848A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109145263A (en) * 2017-06-19 2019-01-04 珠海金山办公软件有限公司 A kind of document processing method and device, computer readable storage medium
CN110704762A (en) * 2019-09-20 2020-01-17 深圳巴斯巴科技发展有限公司 Data presentation method and device, computer equipment and storage medium
CN113283216A (en) * 2021-05-31 2021-08-20 平安国际智慧城市科技股份有限公司 Webpage content display method, device, equipment and storage medium
CN116185412A (en) * 2023-04-19 2023-05-30 陕西空天信息技术有限公司 Data management method and device, electronic equipment and storage medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109145263A (en) * 2017-06-19 2019-01-04 珠海金山办公软件有限公司 A kind of document processing method and device, computer readable storage medium
CN110704762A (en) * 2019-09-20 2020-01-17 深圳巴斯巴科技发展有限公司 Data presentation method and device, computer equipment and storage medium
CN113283216A (en) * 2021-05-31 2021-08-20 平安国际智慧城市科技股份有限公司 Webpage content display method, device, equipment and storage medium
CN116185412A (en) * 2023-04-19 2023-05-30 陕西空天信息技术有限公司 Data management method and device, electronic equipment and storage medium
CN116185412B (en) * 2023-04-19 2023-07-11 陕西空天信息技术有限公司 Data management method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
CN101268458A (en) Data managing apparatus, data editing apparatus, data browsing apparatus, data managing method, data editing method, and data browsing method
US7600182B2 (en) Electronic data capture and verification
US20080263101A1 (en) Data Processing Device and Data Processing Method
CN101073076A (en) Document processing and management approach for creating a tag or an attribute in a markup language document, and method thereof
US20030204481A1 (en) Method and system for visually constructing XML schemas using an object-oriented model
US20080195626A1 (en) Data Processing Device,Document Processing Device,Data Relay Device,Data Processing Method ,and Data Relay Method
EP1901179A1 (en) Document processing device, and document processing method
EP1818835A1 (en) Document processing device, and document processing method
US20090019064A1 (en) Document processing device and document processing method
EP1816586A1 (en) Data processing system, data processing method, and management server
US20090132906A1 (en) Document processing device and document processing method
US20090021767A1 (en) Document processing device
EP1830275A1 (en) Information distribution system
US20080010588A1 (en) Document Processing Device and Document Processing Method
US7805452B2 (en) Data processing device and data processing method
EP1821219A1 (en) Document processing device and document processing method
US20090083617A1 (en) Input form design device and input form design method
US20080010587A1 (en) Document Processing Device and Document Processing Method
US7827195B2 (en) Document management device and document management method
US20090235156A1 (en) Document processing device and document processing method
CN101203848A (en) Document processing device and document processing method
US20080320412A1 (en) Document Processing Device and Document Processing Method
CN101268438A (en) Data processing apparatus
EP1821220A1 (en) Data processing device, document processing device, and document processing method
US20100077295A1 (en) Document processing device and document processing module

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C04 Withdrawal of patent application after publication (patent law 2001)
WW01 Invention patent application withdrawn after publication