IP Library Granted Patent US 9,262,185
Granted Patent B2
US 9,262,185 · App. 12/951,238 · Granted Feb 16, 2016

Scripted dynamic document generation using dynamic document template scripts

Inventors: Michael J. Hill (Vadnais Heights, MN); John C. Horton (Saint Paul, MN)
Assignee: Unisys Corporation
G06F9/45512G06F17/211G06F17/2247
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,262,185
App. No.
12/951,238
Granted
Feb 16, 2016
Kind
B2
Abstract

A dynamic document template having static data, dynamic data, and/or procedural statements may be called by an application on a server. The dynamic document template is separate from the application program and is processed to form an interim script, which is then executed by a host computer system. The script generates document records in HTML or XML format that are output to a document. The data and procedural statements in the dynamic document template may be distinguished through interpreting mark-up language surrounding the data and procedural statements. The dynamic document templates execute in a separate namespace from the application and preserve the state of data in the application. A given application may call more than one dynamic document template to generate different portions of the output document. Additionally, the dynamic document templates may be replaced with new templates without affecting the application.

Claims (30)

1. A computer implemented method, comprising:

executing a dynamic document template having access only to variables in its local namespace and variables passed by an application through arguments to the dynamic document template, wherein the dynamic document template is physically separate from the application, in which executing dynamic document template comprises calling the separate dynamic document template scripts which comprise the dynamic document template from more than one application program, in which calling the dynamic document template comprises generating an interim script, and in which the method further comprises the step of deleting the interim script after generating the document;

generating a script from the dynamic document template; and

creating a document based, in part, on the script by executing procedural statements of the script to generate document records,

wherein the document comprises document records without the procedural statements.

2. The method of claim 1 , further comprising passing arguments to the dynamic document template before generating the script from the dynamic document template.

3. The method of claim 1 , in which the dynamic document template is called from a Business Information Server (BIS) script.

4. The method of claim 1 , further comprising appending the document to a Dataset object.

5. The method of claim 3 , further comprising compiling the interim script alter generating the script.

6. The method of claim 1 , in which executing the dynamic document template comprises distinguishing between static data, dynamic data, and procedural statements.

7. The method of claim 6 , in which creating the document comprises customizing the document based, in part, on the procedural statements and arguments passed from a calling application.

8. The method of claim 6 , in which distinguishing comprises identifying mark-up syntax distinguishing between the static data, dynamic data, and procedural statements.

9. The method of claim 1 , further comprising executing a second dynamic document template.

10. A computer program product, comprising:

a non-transitoty computer readable medium comprising:

code to execute a dynamic document template having access only to variables in its local namespace and variables passed by an application through arguments to the dynamic document template, wherein the dynamic document template is physically separate from the application, in which the code to execute the dynamic document template comprises code to call separate dynamic document template scripts which comprise the dynamic document template from more than one application program, in which the code to call the dynamic document template comprises code to generate an interim script, and further comprises code to delete the interim script after the document is generated;

code to generate a script from the dynamic document template; and

code to create a document based, in part, on the script by executing procedural statements of the script to generate document records, wherein the document comprises document records without the procedural statements.

11. The computer program product of claim 10 , in which the medium further comprises code to append the document to a dataset object.

12. The computer program product of claim 10 , in which the medium further comprises code to compile the script after generating the script.

13. The computer program product of claim 10 , in which the medium further comprises code to distinguish between static data, dynamic data, and procedural statements in the dynamic document template.

14. The computer program product of claim 13 , in which the medium further comprises code to interpret mark-up syntax in the dynamic document template to distinguish between static data, dynamic data, and procedural statements in the dynamic document template.

15. An apparatus, comprising:

at least one processor and a memory coupled to the at least one processor, in which the at least one processor is configured:

to execute a dynamic document template having access only to variables in its local namespace and variables passed by an application through arguments to the dynamic document template, wherein the dynamic document template is physically separate from the application, in which the step to execute the dynamic document template comprises the step to call separate dynamic document template scripts which comprise the dynamic document template from more than one application program, in which the step to call the dynamic document template comprises the step to generate an interim script, and in which the method further comprises code to delete the interim script after the document is generated;

to generate a script from the dynamic document template; and

to create a document based, in part, on the script by executing procedural statements of the script to generate document records, wherein the document comprises document records without the procedural statements.

16. The apparatus of claim 15 , in which the at least one processor is further configured to append the document to a Dataset object.

17. The apparatus of claim 15 , in which the at least one processor is further configured to compile the script after generating the script.

18. The apparatus of claim 15 , in which the at least one processor is further configured to interpret mark-up syntax in the dynamic document template to distinguish between static data, dynamic data, and procedural statements in the dynamic document template.

Assignments (12)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 044416/0114 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
SECURITY INTEREST Recorded Jun 3, 2016
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 038792/0820 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2015
From: HILL, MICHAEL J; HORTON, JOHN C
To: UNISYS CORPORATION
Reel/Frame 037021/0083 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →
SECURITY AGREEMENT Recorded Mar 1, 2011
From: UNISYS CORPORATION
To: DEUTSCH BANK NATIONAL TRUST COMPANY; GLOBAL TRANSACTION BANKING
Reel/Frame 025864/0519 →
Continuity (1)
Related Publication 20120131439A1 · May 24, 2012