Method and system for selectively streaming markup language documents
First Claim
1. In a computing environment, a computer program product on a computer-readable medium readable by a computer system in said environment, for selectively streaming documents, comprising:
- an input Document Object Model (DOM) tree representing a document to be selectively streamed;
computer-readable program code means for processing each of a plurality of nodes of said DOM tree, wherein each of said nodes has either a static indicator or a dynamic indicator associated therewith;
computer-readable program code means for streaming each of said processed nodes which has said static indicator to a serialized binary output stream; and
computer-readable program code means for streaming each of said processed nodes which has said dynamic indicator to one or more non-binary output files.
3 Assignments
0 Petitions
Accused Products
Abstract
A method, system, and computer-readable code for a technique with which documents encoded according to the Extensible Markup Language (XML) notation or a derivative thereof can be more efficiently processed by selectively streaming document fragments. This selective streaming technique comprises identifying the static and the changeable portions or fragments of a document. The static fragments are written to a serialized binary format (i.e. a serialized binary stream), such as a disk file, thereby avoiding the re-parsing of this information when reconstituting a Document Object Model (DOM) tree for the document. Volatile fragments, on the other hand, remain in the XML or derivative notation when written to an output file.
192 Citations
24 Claims
-
1. In a computing environment, a computer program product on a computer-readable medium readable by a computer system in said environment, for selectively streaming documents, comprising:
-
an input Document Object Model (DOM) tree representing a document to be selectively streamed;
computer-readable program code means for processing each of a plurality of nodes of said DOM tree, wherein each of said nodes has either a static indicator or a dynamic indicator associated therewith;
computer-readable program code means for streaming each of said processed nodes which has said static indicator to a serialized binary output stream; and
computer-readable program code means for streaming each of said processed nodes which has said dynamic indicator to one or more non-binary output files. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
computer-readable program code means for processing a transition from binary mode to tag mode upon detecting a change from processing nodes having said static indicator to processing nodes having said dynamic indicator, further comprising;
computer-readable program code means for writing a transition node indicator into said serialized binary output stream;
computer-readable program code means for opening a new one of said non-binary output files; and
computer-readable program code means for writing to said opened new non-binary output file until detecting a subsequent mode change; and
computer-readable program code means for processing a transition from tag mode to binary mode upon detecting said subsequent mode change wherein said processed nodes had said dynamic indicator but now have said static indicator, further comprising computer-readable program code means for writing a transition node indicator into said opened new non-binary output file; and
computer-readable program code means for writing to said serialized binary output stream until detecting said change.
-
-
3. Computer readable code for selectively streaming documents according to claim 1, wherein said computer-readable program code means for streaming each of said processed nodes which has said static indicator streams said processed nodes to one or more serialized binary output streams, and further comprising:
-
computer-readable program code means for processing a transition from binary mode to tag mode upon detecting a change from processing nodes having said static indicator to processing nodes having said dynamic indicator, further comprising;
computer-readable program code means for writing a transition node indicator into said serialized binary output stream;
computer-readable program code means for opening a new one of said non-binary output files; and
computer-readable program code means for writing to said opened new non-binary output file until detecting a subsequent mode change; and
computer-readable program code means for processing a transition from tag mode to binary mode upon detecting said subsequent mode change wherein said processed nodes had said dynamic indicator but now have said static indicator, further comprising;
computer-readable program code means for writing a transition node indicator into said opened new non-binary output file;
computer-readable program code means for opening a new one of said serialized binary output streams; and
computer-readable program code means for writing to said opened new serialized binary output stream until detecting said change.
-
-
4. Computer readable code for selectively streaming documents according to claim 3, further comprising computer-readable Program code means for reconstituting said DOM tree or a modified version thereof from said one or more serialized binary output streams and said one or more non-binary output files.
-
5. Computer readable code for selectively streaming documents according to claim 1, wherein said non-binary output files comprise information encoded in a tag language.
-
6. Computer readable code for selectively streaming documents according to claim 5, wherein said tag language is Extensible Markup Language (XML).
-
7. Computer readable code for selectively streaming documents according to claim 5, wherein said tag language is a derivative of Extensible Markup Language (XML).
-
8. Computer readable code for selectively streaming documents according to claim 1, further comprising computer-readable program code means for reconstituting said DOM tree or a modified version thereof from said serialized binary output stream and said one or more non-binary output files.
-
9. A system for selectively streaming documents in a computing environment, comprising:
-
an input Document Object Model (DOM) tree representing a document to be selectively streamed;
means for processing each of a plurality of nodes of said DOM tree, wherein each of said nodes has either a static indicator or a dynamic indicator associated therewith;
means for streaming each of said processed nodes which has said static indicator to a serialized binary output stream; and
means for streaming each of said processed nodes which has said dynamic indicator to one or more non-binary output files. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
means for processing a transition from binary mode to tag mode upon detecting a change from processing nodes having said static indicator to processing nodes having said dynamic indicator, further comprising;
means for writing a transition node indicator into said serialized binary output stream;
means for opening a new one of said non-binary output files; and
means for writing to said opened new non-binary output file until detecting a subsequent mode change; and
means for processing a transition from tag mode to binary mode upon detecting said subsequent mode change wherein said processed nodes had said dynamic indicator but now have said static indicator, further comprising;
means for writing a transition node indicator into said opened new non-binary output file; and
means for writing to said serialized binary output stream until detecting said change.
-
-
11. The system for selectively streaming documents according to claim 9, wherein said means for streaming each of said processed nodes which has said static indicator streams said processed nodes to one or more serialized binary output streams, and further comprising:
-
means for processing a transition from binary mode to tag mode upon detecting a change from processing nodes having said static indicator to processing nodes having said dynamic indicator, further comprising;
means for writing a transition node indicator into said serialized binary output stream;
means for opening a new one of said non-binary output files; and
means for writing to said opened new non-binary output file until detecting a subsequent mode change; and
means for processing a transition from tag mode to binary mode upon detecting said subsequent mode change wherein said processed nodes had said dynamic indicator but now have said static indicator, further comprising;
means for writing a transition node indicator into said opened new non-binary output file;
means for opening a new one of said serialized binary output streams; and
means for writing to said opened new serialized binary output stream until detecting said change.
-
-
12. The system for selectively streaming documents according to claim 11, further comprising means for reconstituting said DOM tree or a modified version thereof from said one or more serialized binary output streams and said one or more non-binary output files.
-
13. The system for selectively streaming documents according to claim 9, wherein said non-binary output files comprise information encoded in a tag language.
-
14. The system for selectively streaming documents according to claim 13, wherein said tag language is Extensible Markup Language (XML).
-
15. The system for selectively streaming documents according to claim 13, wherein said tag language is a derivative of Extensible Markup Language (XML).
-
16. The system for selectively streaming documents according to claim 9, further comprising means for reconstituting said DOM tree or a modified version thereof from said serialized binary output stream and said one or more non-binary output files.
-
17. A method for selectively streaming documents in a computing environment, comprising the steps of:
-
processing each of a plurality of nodes of an input Document Object Model (DOM) tree representing a document to be selectively streamed, wherein each of said nodes has either a static indicator or a dynamic indicator associated therewith;
streaming each of said processed nodes which has said static indicator to a serialized binary output stream; and
streaming each of said processed nodes which has said dynamic indicator to one or more non-binary output files. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
processing a transition from binary mode to tag mode upon detecting a change from processing nodes having said static indicator to processing nodes having said dynamic indicator, further comprising the steps of;
writing a transition node indicator into said serialized binary output stream;
opening a new one of said non-binary output files; and
writing to said opened new non-binary output file until detecting a subsequent mode change; and
processing a transition from tag mode to binary mode upon detecting said subsequent mode change wherein said processed nodes had said dynamic indicator but now have said static indicator, flirter comprising the steps of;
writing a transition node indicator into said opened new non-binary output file; and
writing to said serialized binary output stream until detecting said change.
-
-
19. The method for selectively streaming documents according to claim 17, wherein said step of streaming each of said processed nodes which has said static indicator streams said processed nodes to one or more serialized binary output streams, and further comprising the steps of:
-
processing a transition from binary mode to tag mode upon detecting a change from processing nodes having said static indicator to processing nodes having said dynamic indicator, further comprising the steps of;
writing a transition node indicator into said serialized binary output stream;
opening a new one of said non-binary output files; and
writing to said opened new non-binary output file until detecting a subsequent mode change; and
processing a transition from tag mode to binary mode upon detecting said subsequent mode change wherein said processed nodes had said dynamic indicator but now have said static indicator, further comprising the steps of;
writing a transition node indicator into said opened new non-binary output file;
opening a new one of said serialized binary output streams; and
writing to said opened new serialized binary output stream until detecting said change.
-
-
20. The method for selectively streaming documents according to claim 19, further comprising the step of reconstituting said DOM tree or a modified version thereof from said one or more serialized binary output streams and said one or more non-binary output files.
-
21. The method for selectively streaming documents according to claim 17, wherein said non-binary output files comprise information encoded in a tag language.
-
22. The method for selectively streaming documents according to claim 21, wherein said tag language is Extensible Markup Language (XML).
-
23. The method for selectively streaming documents according to claim 21, wherein said tag language is a derivative of Extensible Markup Language (XML).
-
24. The method for selectively streaming documents according to claim 17, further comprising the step of reconstituting said DOM tree or a modified version thereof from said serialized binary output stream and said one or more non-binary output files.
Specification