Index: trunk/Changes
===================================================================
--- trunk/Changes	(revision 71)
+++ trunk/Changes	(revision 72)
@@ -5,4 +5,5 @@
     * added support for limited growth 'growable' fields
     * allow end of field line comments
+    * addded an external_css option to include external stylesheets
     
 0.09 - 10 Mar 2005
Index: trunk/lib/Text/FormBuilder.pm
===================================================================
--- trunk/lib/Text/FormBuilder.pm	(revision 71)
+++ trunk/lib/Text/FormBuilder.pm	(revision 72)
@@ -106,6 +106,21 @@
     #   CSS Hint: to get multiple sections to all line up their fields,
     #   set a standard width for th.label
+    # external_css: scalar for a single external stylesheet; array for
+    #   multiple sheets; prepended to the beginning of the CSS as @import
+    #   statetments
     my $css;
     $css = $options{css} || $DEFAULT_CSS;
+    if ($options{external_css}) {
+        my $ref = ref $options{external_css};
+        if ($ref eq 'ARRAY') {
+            # loop over the list of external sheets
+            my $external_sheets = join("\n", map { "\@import url($_);" } @{ $options{external_css} });
+            $css = "$external_sheets\n$css";
+        } elsif ($ref) {
+            croak '[' . (caller(0))[3] . "] Don't know how to handle $ref reference as an argument to external_css";
+        } else {
+            $css = "\@import url($options{external_css});\n$css";
+        }
+    }
     $css .= $options{extra_css} if $options{extra_css};
     
@@ -721,4 +736,18 @@
     css => '@import(my_external_stylesheet.css);'
 
+=item C<external_css>
+
+If you want to use multiple external stylesheets, or an external stylesheet
+in conojunction with the default styles, use the C<external_css> option:
+
+    # single external sheet
+    external_css => 'my_styles.css'
+    
+    # mutliple sheets
+    external_css => [
+        'my_style_A.css',
+        'my_style_B.css',
+    ]
+
 =item C<messages>
 
@@ -792,5 +821,5 @@
     $ perl -MText::FormBuilder -e"Text::FormBuilder->parse('formspec.txt')->write_module('My::Form')"
 
-And then, in your CGI script, use the new module:
+B<FIXME> And then, in your CGI script, use the new module:
 
     #!/usr/bin/perl -w
@@ -1169,4 +1198,6 @@
 Document use of the parser as a standalone module
 
+Make sure that the docs match the generated code.
+
 Better tests!
 
@@ -1184,9 +1215,4 @@
 
 =head2 Code generation/Templates
-
-Alternative format using C<< <fieldset> >> tags instead of C<< <h2> >>
-section headers
-
-Make the generated modules into subclasses of CGI::FormBuilder
 
 Revise the generated form constructing code to use the C<fieldopts>
