control structures and functions notice that for the second skeleton the name and year had as their defaults the values entered previouslyso they did not need to be retyped but no default for the filename is providedso when that was not given the skeleton was cancelled now that we have seen how the program is usedwe are ready to study the code the program begins with two importsimport datetime import xml sax saxutils the datetime module provides some simple functions for creating datetime date and datetime time objects the xml sax saxutils module has useful xml sax saxutils escape(function that takes string and returns an equivalent string with the special html characters ("&"""in their escaped forms ("&amp;""&lt;"and "&gt;"three global strings are definedthese are used as templates copyright_template "copyright ( { { all rights reserved stylesheet_template ('<link rel="stylesheettype="text/css'media="allhref="{ }/>\ 'html_template ""<!doctype html public "-// //dtd xhtml strict//en{title{stylesheet}""str format( these strings will be used as templates in conjunction with the str format(method in the case of html_template we have used names rather than index positions for the field namesfor example{titlewe will see shortly that we must use keyword arguments to provide values for these class cancellederror(exception)pass