US2005086584A1PendingUtilityA1

XSL transform

Assignee: MICROSOFT CORPPriority: Jul 9, 2001Filed: Dec 7, 2004Published: Apr 21, 2005
Est. expiryJul 9, 2021(expired)· nominal 20-yr term from priority
G06F 40/154G06F 16/322G06F 8/4434G06F 40/117G06F 40/143
46
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system and method for transforming XML items is provided. The system includes a transformer that can selectively input XML items in a first format and selectively transform the input XML items to one or more transformed XML items in one or more second formats. The system also include an output manager that can be employed to facilitate selectively pulling and/or pushing a subset of the transformed XML items from the transformer to a variety of output destinations. The system provides an input abstractor that exposes data stored in data stores that implement the input abstractor as a data model and infoset, which facilitates navigating such exposed data.

Claims

exact text as granted — not AI-modified
1 . A method for transforming XML items, the method comprising: 
 inputting one or more style sheets; 
 compiling the one or more style sheets to produce one or more actions;  
 selectively inputting one or more XML items;  
 pattern matching the one or more XML items to one or more templates located in the one or more style sheets;  
 selectively performing transformations on a subset of the one or more XML items based, at least in part, on one or more actions associated with the one or more templates; and;  
 building an output record of one or more transformed XML items, where the output record may be pushed to a destination data source and/or pulled by a destination data source.  
   
   
   
       2 . The method of  claim 1 , where compiling the one or more style sheets comprises: 
 resolving one or more external references in the one or more style sheets;    identifying a root action;    compiling the root action;    identifying one or more non-root actions that descend from the root action; and    compiling the one or more non-root actions.    
   
   
       3 . The method of  claim 2 , where compiling the root action comprises: 
 compiling root action attributes; and    verifying attributes.    
   
   
       4 . The method of  claim 2 , where compiling the one ore more non-root actions comprises: 
 compiling attributes;    verifying attributes; and    recursively compiling a body to the non-root action.    
   
   
       5 . The method of  claim 4 , where compiling attributes comprises: 
 storing one or more attribute names in memory;    storing one or more attribute values in memory; and    adding one or more queries to a query store.    
   
   
       6 . The method of  claim 1 , where the one or more XML items are input from one or more input data stores.  
   
   
       7 . The method of  claim 6 , where the one or more input data stores store the one or more XML items in one or more different data representations.  
   
   
       8 . The method of  claim 7 , where the one or more different data representations are normalized to a common data representation that exposes a data model and infoset.  
   
   
       9 . The method of  claim 8 , where the one or more input XML items are read from a stream of input XML items.  
   
   
       10 . The method of  claim 9 , where the one or more input XML items are selectively read from a stream of XML items.  
   
   
       11 . The method of  claim 1 , where selectively performing transformations on a subset of the one or more XML items comprises: 
 initializing a transformer;    pushing a root action onto an action frame stack;    performing a template lookup action for the root of a style sheet;    pushing one or more actions onto the action frame stack;    receiving one or more instructions to execute an action;    performing one or more actions;    generating one or more events;    validating the one or more events;    sending one or more events and associated content to a record builder; and    popping the one or more actions off the action frame stack.    
   
   
       12 . The method of  claim 11 , where performing the one or more actions comprises: 
 selectively adding one or more markup characters to a data item;    selectively deleting one or more markup characters from a data item;    selectively adding one or more content characters to a data item;    selectively deleting one or more content characters from a data item; and    selectively generating an output item from the data item.    
   
   
       13 . The method of  claim 1 , where building an output record of transformed XML items comprises: 
 receiving an event;    validating a content associated with the event; and    selectively adding the content to an output record.    
   
   
       14 . A computer readable medium storing computer executable instructions operable to perform the method of  claim 1 .  
   
   
       15 . A system for transforming XML items, the system comprising: 
 means for receiving one or more files containing XML item pattern matching rules and associated output generating rules;    means for compiling the one or more files to produce one or more compiled pattern matching rules and output generating rules;    means for inputting one or more XML items; means for applying the compiled pattern matching rules to the one or more XML items to identify one or more XML items to alter;    means to alter the one or more identified XML items; and    means for building an output record of one or more transformed XML items by applying the compiled output generating rules.    
   
   
       16 . A data packet adapted to be transmitted between two or more computer processes, the data packet comprising: 
 one or more first fields adapted to store an input XML item in an abstracted format; and    one or more second fields adapted to store metadata associated with the abstracted input XML item.    
   
   
       17 . The data packet of  claim 16 , where the abstracted format conforms to the XPath specification.  
   
   
       18 . The data packet of  claim 16 , where the metadata exposes the W3C Infoset concerning the input XML item.

Join the waitlist — get patent alerts

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

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