US2017185571A1PendingUtilityA1

Xml streaming transformer (xst)

Assignee: OPEN INVENTION NETWORK LLCPriority: Aug 16, 2002Filed: Mar 14, 2017Published: Jun 29, 2017
Est. expiryAug 16, 2022(expired)· nominal 20-yr term from priority
G06F 40/149G06F 16/986Y10S707/99942G06F 40/221G06F 40/151G06F 16/88G06F 16/93G06F 16/84G06F 40/186G06F 17/30011G06F 17/2258G06F 17/272G06F 17/248G06F 17/2247G06F 17/227G06F 17/3092G06K 7/10G06F 17/00G06F 40/143G06F 40/154
57
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The present invention includes devices and methods to specify a document transformation. A template specifies a transformation that is applied to a document in a streaming mode, without building a full object tree in memory representing the document.

Claims

exact text as granted — not AI-modified
We claim as follows: 
     
         1 . A computer-implemented method of transforming a document, including:
 using a processor, responding to an element start-event in an event data stream by searching for a named template that matches the element start-event,
 upon finding a matching named template, activating the named template, and 
 upon not finding the matching named template, treating an element between the element start-event and an element end-event of the event data stream as content of a parent element; and 
   responding to the element end-event paired to the element start-event, using the activated named template, including:
 responsive to instructions in the named template, outputting at least information from or corresponding to (i) the named template, (ii) an element or (iii) other processing related to the named template. 
   
     
     
         2 . The method of  claim 1 , wherein the event data stream represents an electronic commerce document. 
     
     
         3 . The method of  claim 1 , wherein the event data stream represents a document including character data encoding text characters and markup data identifying sets of storage units according to a logical structure of the document. 
     
     
         4 . The method of  claim 3 , wherein a plurality of named templates is stored in a templates source. 
     
     
         5 . The method of  claim 1 ,
 wherein the responding to the element start-event further includes activating one or more variables with a variable scope corresponding to the named template, and wherein the responding to the element end-event paired to the element start-event further includes deactivating the variables.   
     
     
         6 . The method of  claim 5 , wherein the responding to the element end-event corresponding to the named template further includes processing logic instructions to manipulate the variables. 
     
     
         7 . The method of  claim 1 , wherein the responding to the element start-event further includes, in response to an instruction associated with the named template, creating a tree representation limited to the element and sub-elements within a scope of the named template. 
     
     
         8 . The method of  claim 1 , further including receiving, in the event data stream, one or more mutable variables that can be changed using logical, string or arithmetic operations. 
     
     
         9 . The method of  claim 1 , wherein the information from or corresponding to (i) the named template, (ii) the element or (iii) other processing related to the named template includes some of literal text, input events received in the event data stream between the element start-event and the element end-event, or variables that store values from content, attributes or labels of the element. 
     
     
         10 . A computer-implemented method of transforming a document, including:
 using a processor, responding to an element start-event in an event data stream by searching for a first named template that matches the element start-event,
 upon finding a matching first named template, activating the first named template, and 
 upon not finding the matching first named template treating an element between the element start-event and an element end-event as content of a parent element; 
   responding to a nested element start-event in the event data stream by matching the nested element start-event to a second named template and activating the second named template;   responding to additional events in the event data stream according to instructions in a most recently activated named template; and   responding to the element end-event paired to the nested element start-event by processing the second named template, including:
 responsive to instructions in the second named template, outputting at least information from or corresponding to (i) the second named template, (ii) an element or (iii) other processing related to the second named template. 
   
     
     
         11 . The method of  claim 10 ,
 wherein the responding to the nested element start-event further includes activating variables in a scope of the second named template, and   wherein the instructions in a recent second named template include assigning input to one or more of the variables.   
     
     
         12 . The method of  claim 10 , wherein events in the event data stream correspond to an electronic commerce document including character data encoding text characters and markup data identifying sets of storage units according to a logical structure of the electronic commerce document. 
     
     
         13 . The method of  claim 12 , wherein a plurality of named templates is stored together in a templates source. 
     
     
         14 . The method of  claim 10 , wherein the responding to the nested element start-event further includes, in response to an instruction associated with the second named template, creating a tree representation limited to the element and sub-elements within a scope of the second named template. 
     
     
         15 . The method of  claim 10 , further including receiving, in the event data stream, one or more mutable variables that can be changed using logical, string or arithmetic operations. 
     
     
         16 . A non-transitory computer memory media, including computer program instructions that direct a processor to:
 respond to an element start-event in an event data stream by searching for a named template that matches the element start-event,
 upon finding a matching named template, activating the named template, and 
 upon not finding the matching named template, treating an element between the element start-event and an element end-event of the event data stream as content of a parent element; and 
   respond to the element end-event paired to the element start-event, using the activated named template, by:
 responsive to instructions in the named template, outputting at least information from or corresponding to (i) the named template, (ii) an element or (iii) other processing related to the named template. 
   
     
     
         17 . The non-transitory computer memory media of  claim 16 , further including instructions that direct a processor to:
 respond to the element start-event further by activating one or more variables with a variable scope corresponding to the named template; and   respond to the element end-event paired to the element start-event further by deactivating the variables.   
     
     
         18 . The non-transitory computer memory media of  claim 16 , further including computer program instructions that direct the processor to receive, in the event data stream, one or more mutable variables that can be changed using logical, string or arithmetic operations. 
     
     
         19 . A non-transitory computer memory media, including computer program instructions that direct a processor to:
 load into a memory one or more templates; and   process an event data stream, including repeatedly:
 searching for a named template that matches an element start-event in the event data stream,
 upon finding a matching named template, activating the named template, and 
 upon not finding the matching named template, treating an element between the element start-event and an element end-event of the event data stream as content of a parent element; and 
 
 processing instructions in the matching named template to transform a buffered input stream that is buffered until the element end-event, and to output results of the transform of the buffered input stream. 
   
     
     
         20 . The non-transitory computer memory media of  claim 19 , further including instructions that direct a processor to:
 activate one or more variables in a scope of the named template, upon the finding of the matching named template; and   deactivate the variables in the scope of the named template, upon release for reuse of the memory.   
     
     
         21 . The non-transitory computer memory media of  claim 19 , further including computer program instructions that direct the processor to receive, in the event data stream, one or more mutable variables that can be changed using logical, string or arithmetic operations.

Join the waitlist — get patent alerts

Track US2017185571A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.