US2005240876A1PendingUtilityA1

System and method for generating XSL transformation documents

Assignee: QCORPS RESIDENTIAL INCPriority: Oct 31, 2001Filed: Jun 22, 2005Published: Oct 27, 2005
Est. expiryOct 31, 2021(expired)· nominal 20-yr term from priority
G06F 40/154G06F 40/143
39
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system and method is disclosed for generating XSL transformation documents. A software wizard presents a series of screens to lead the user through the authoring process. The screens include a load screen, a select screen, a new entity screen, a conditional screen, and a view screen. The load screen prompts the user for an input document name. The wizard then retrieves XML entities from the input document and presents them to the user in tree form on the select screen. The user selects entities from the tree for inclusion in the output document. The new entity screen allows the user to create new entities for inclusion in the output document. These entities are accumulated in an output list. The conditional screen allows the user to make entities from the output list conditional. The view screen allows review of a tentative transformation document that will accomplish the user's purpose.

Claims

exact text as granted — not AI-modified
1 . A computer-readable information carrier medium configured to provide a software wizard for guided creation of transformation documents, the wizard comprising: 
 a load routine that retrieves a tree of input entities from an input document;    a display routine that shows the tree of input entities;    a create new entity routine that adds a new entity of a user-specified type to an output list of entities, wherein the new entity includes a field specifying an input entity from the tree, wherein when the user-specified type is “replace” the new entity further includes a field for specifying one or more characters to replace with other specified characters as the specified input entity is written to an output document; and    a translation routine that converts the output list into a transformation document, wherein the translation routine converts entities of the replace type into extended stylesheet language (XSL) fragments according to the following pattern:                                            <EntityName ATTRIBUTES (IF ANY) INSERTED HERE>          <xsl:for-each select=“EntityName”>           <xsl:value-of select=“translate(.,‘TP’, ‘SP’)”/>           SUB-ELEMENTS (IF ANY) INSERTED HERE          </xsl:for-each>         </EntityName>,                                                  wherein “EntityName” is a user-specified name of the entity.    
   
   
       2 . The medium of  claim 1 , wherein the user-specified type is “constant”, and wherein the new entity includes a field for specifying a text string to be written to an output document in a position corresponding to the specified input entity.  
   
   
       3 . The medium of  claim 2 , wherein the translation routine converts entities of the constant type into extended stylesheet language (XSL) fragments according to the following pattern:  
     
       
         
               
               
             
                   
                   
               
                   
                   
               
                   
                 <EntityName>Text String</EntityName>, 
               
                   
                   
               
                   
                   
               
           
              
              
             
             
              
              
              
             
          
         
       
     
     wherein “EntityName” is a user-specified name of the entity and “Text String” is the specified text string.  
   
   
       4 - 5 . (canceled)  
   
   
       6 . The medium of  claim 1 , wherein the user-specified type can be “copy whole”, and wherein the translation routine converts entities of the copy-whole type into an extended stylesheet language (XSL) fragment that includes a “xsl:copy-of” command.  
   
   
       7 . The medium of  claim 6 , wherein the translation routine converts entities of the copy-whole type into extended stylesheet language (XSL) fragments according to the following pattern:  
     
       
         
               
               
             
                   
                   
               
                   
                   
               
                   
                 <EntityName> 
               
                   
                  <xsl:for-each select=“EntityName”> 
               
                   
                   <xsl:copy-of select=“EntityName”/> 
               
                   
                  </xsl:for-each> 
               
                   
                 </EntityName> 
               
                   
                   
               
                   
                   
               
           
              
              
             
             
              
              
              
              
              
              
              
             
          
         
       
     
     wherein “EntityName” is a user-specified name of the entity.  
   
   
       8 . (canceled)  
   
   
       9 . A computer-readable information carrier medium configured to provide a software wizard for guided creation of transformation documents, the wizard comprising: 
 a load routine that retrieves a tree of input entities from an input document;    a display routine that shows the tree of input entities;    a create new entity routine that adds a new entity of a user-specified type to an output list of entities, wherein the new entity includes a field specifying an input entity from the tree, and wherein when the user-specified type is “concatenate” the new entity further includes a field for identifying multiple input entities to be concatenated in an output document; and    a translation routine that converts the output list into a transformation document, wherein the translation routine converts entities of the concatenate type into extended stylesheet language (XSL) fragments according to the following pattern:                                            <EntityName ATTRIBUTES (IF ANY) INSERTED HERE>          <xsl:for-each select=“FirstEntityName”>           <xsl:value-of select=“text( )”/>          </xsl:for-each>          <xsl:for-each select=“SecondEntityName”>           <xsl:value-of select=“text( )”/>          </xsl:for-each>          ...          SUB-ELEMENTS (IF ANY) INSERTED HERE         </EntityName>                                                      wherein “EntityName” is a user-specified name of the entity, and wherein “FirstEntityName” and “SecondEntityName” are user-identified input entities.    
   
   
       10 . The medium of  claim 1 , wherein the user-specified type can be “strip”, and wherein the translation routine converts entities of the strip type into an extended stylesheet language (XSL) fragment that includes a “xsl:value-of substring( )” expression.  
   
   
       11 . The medium of  claim 10 , wherein the translation routine converts entities of the strip type into extended stylesheet language (XSL) fragments according to the following pattern:  
     
       
         
               
               
             
                   
                   
               
                   
                   
               
                   
                 <EntityName ATTRIBUTES (IF ANY) INSERTED HERE> 
               
                   
                  <xsl:for-each select=“EntityName”> 
               
                   
                   <xsl:value-of select=“substring(text( ),1,1)”/> 
               
                   
                   SUB-ELEMENTS (IF ANY) INSERTED HERE 
               
                   
                  </xsl:for-each> 
               
                   
                 </EntityName> 
               
                   
                   
               
                   
                   
               
           
              
              
             
             
              
              
              
              
              
              
              
              
             
          
         
       
     
     wherein “EntityName” is a user-specified name of the entity.  
   
   
       12 - 18 . (canceled)  
   
   
       19 . A computer-readable information carrier medium configured to provide a software wizard for guided creation of transformation documents, the wizard comprising: 
 a load routine that retrieves a tree of input entities from an input document;    a selection routine that allows a user to select input entities for inclusion in an output document, and that further allows the user to choose a non-XML output document format; and    a field definition routine that allows a user to create an ordered list of fields from a list of selected input entities; and    a translation routine that converts the output list into a transformation document.    
   
   
       20 . The medium of  claim 19 , wherein a transformation engine that applies the transformation document to an input document is configured to generate an output document having the chosen output document format.  
   
   
       21 . The medium of  claim 19 , wherein the chosen output document format is that of a delimited file.  
   
   
       22 . The medium of claims  21 , wherein the field definition routine prompts the user to enter parameters of each field, wherein the parameters include a delimiter character and a quote character.  
   
   
       23 . The medium of  claim 19 , wherein the chosen output document format is that of a fixed-length file.  
   
   
       24 . The medium of claims  23 , wherein the field definition routine prompts the user to enter parameters of each field, and wherein the parameters include a field size and a pad character.  
   
   
       25 . The medium of claims  24 , wherein the parameters further include an indication of which side pad characters are to be added to a field value having a size smaller than the field size.  
   
   
       26 . The medium of  claim 19 , wherein the wizard further comprises: 
 a new field declaration routine that allows the user to specify a name and formula for a new field to be added to the field list.    
   
   
       27 . The medium of  claim 26 , wherein the new field declaration routine further allows the user to specify an name and a formula for a variable to be included in the transformation document but not shown in the output document.  
   
   
       28 . The medium of  claim 26 , wherein the wherein the new field declaration routine further allows the user to specify a name and a formula for a variable to be included in the transformation document, and further allows the user to specify whether the variable should have a global scope or local scope.  
   
   
       29 . The medium of  claim 19 , wherein the field definition routine allows a user to re-order fields in the field list.  
   
   
       30 . A computer configured to create a transformation document in response to user input, the computer comprising: 
 a user output device;    a processor; and    a memory that includes a software application which configures the processor to display a series of screens on the user output device to gather input from the user, and further configures the processor to create a transformation document in response to said input,    wherein the series of screens includes: 
 a load screen that prompts the user for an input document name; and  
 a select screen that shows entities of the input document in tree form and allows the user to select input document entities for inclusion in the transformation document,  
 wherein the software application constructs the transformation document according to the following pattern:  
                         <?xml version=“1.0”?>     <xsl:stylesheet PREDETERMINED ATTRIBUTES PROVIDED HERE       <xsl:include href=“IncludeFile.xsl” />       <xsl:strip-space elements=“*” />       <xsl:output method=“text” encoding=“utf-8” />       GLOBAL VARIABLES (IF ANY) DEFINED HERE       <xsl:template match=“/”>         <xsl:apply-templates select=“TemplateName1”/>         <xsl:apply-templates select=“TemplateName2”/>         ...         <xsl:apply-templates select=“TemplateNameN”/>       </xsl:template>       <xsl:template match=“TemplateName1”>         ENTITY 1 ACTION DEFINED HERE       </xsl:template>       <xsl:template match=“TemplateName2”>         ENTITY 2 ACTION DEFINED HERE       </xsl:template>       ...       <xsl:template match=“TemplateNameN”>         ENTITY N ACTION DEFINED HERE       </xsl:template>     </xsl:stylesheet>                                                         
 wherein “IncludeFile.xsl” is a filename for a library of standardized routines, and  
 wherein “TemplateNamex” is a name for a template that specifies an action for a corresponding entity.  
   
   
   
       31 . The computer of  claim 30 , wherein the software application allows the user to specify an output document format, and wherein the transformation document, when applied to an input document, configures a transformation engine to generate an output document having the specified output document format.  
   
   
       32 . The computer of  claim 31 , wherein the specified output document format is one of a set permissible formats that includes fixed-length and delimited formats.  
   
   
       33 - 34 . (canceled)  
   
   
       35 . The computer of  claim 31 , wherein the specified output document format is delimited, and wherein the software application constructs non-conditional entity templates according to the following pattern:  
     
       
         
               
             
                   
               
                   
               
                 <xsl:template match=“TemplateNamex”> 
               
                   LOCAL VARIABLE (IF ANY) DEFINED HERE 
               
                   <xsl:call-template name=“strextractor”> 
               
                     <xsl:with-param name=“str”> 
               
                       <xsl:value-of select=“VariableNamex”/> 
               
                     </xsl:with-param> 
               
                     <xsl:with-param name=“delimiter” select=“DelimChar” /> 
               
                     <xsl:with-param name=“quote” select=“QuoteChar” /> 
               
                   </xsl:call-template> 
               
                 </xsl:template> 
               
                   
               
                   
               
           
              
              
             
             
              
              
              
              
              
              
              
              
              
              
              
              
             
          
         
       
     
     wherein “strextractor” is a name of a library routine that produces a delimited field, wherein “VariableNamex” is a name of a variable that stores a value for the delimited field, “DelimChar” is a character that separates values in the output file, and “QuoteChar” is a character that encloses values in the output file.  
   
   
       36 . The computer of  claim 35 , wherein the software application constructs conditional entity templates according to the following pattern:  
     
       
         
               
             
                   
               
                   
               
                 <xsl:template match=“TemplateNamex”> 
               
                   <xsl:call-template name=“strextractor”> 
               
                     <xsl:with-param name=“str”> 
               
                       <xsl:choose> 
               
                       <xsl:when test=“Test1”> 
               
                         RESULT 1 DEFINED HERE 
               
                       </xsl:when> 
               
                       <xsl:when test=“Test2”> 
               
                         RESULT 2 DEFINED HERE 
               
                       </xsl:when> 
               
                       <xsl:otherwise> 
               
                         OTHERWISE RESULT (IF ANY) DEFINED HERE 
               
                       </xsl:otherwise> 
               
                       </xsl:choose> 
               
                     </xsl:with-param> 
               
                     <xsl:with-param name=“delimiter” select=“DelimChar” /> 
               
                     <xsl:with-param name=“quote” select=“QuoteChar” /> 
               
                   </xsl:call-template> 
               
                 </xsl:template> 
               
                   
               
                   
               
           
              
              
             
             
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
             
          
         
       
     
     wherein “Testx” is a user specified test.

Join the waitlist — get patent alerts

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

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