Changed term single tags to empty tags to mean <foo/> like tags, it being the correct...
Mark Addison [Thu, 7 Aug 2003 15:03:31 +0000 (15:03 +0000)]
lib/SQL/Translator/Parser/SqlfXML.pm
t/16xml-parser.t
t/18ttschema-producer.t
t/data/xml/schema-basic.xml

index cb4fc48..e1d3637 100644 (file)
@@ -1,7 +1,7 @@
 package SQL::Translator::Parser::SqlfXML;
 
 # -------------------------------------------------------------------
-# $Id: SqlfXML.pm,v 1.3 2003-08-07 14:49:24 grommit Exp $
+# $Id: SqlfXML.pm,v 1.4 2003-08-07 15:03:30 grommit Exp $
 # -------------------------------------------------------------------
 # Copyright (C) 2003 Mark Addison <mark.addison@itn.co.uk>,
 #
@@ -59,7 +59,7 @@ tags or EMPTY_STRING for a zero lenth string. NULL for an explicit null
  <sqlf:default_value>EMPTY_STRING</sqlf:default_value>   <!-- Empty string -->
  <sqlf:default_value>NULL</sqlf:default_value>           <!-- NULL -->
  
- <sqlf:default_value/>            <!-- Empty string BUT DONT USE! See BUGS -->
+ <sqlf:default_value/>            <!-- Empty string BUT DON'T USE! See BUGS -->
  
 =cut
 
@@ -67,7 +67,7 @@ use strict;
 use warnings;
 
 use vars qw[ $DEBUG $VERSION @EXPORT_OK ];
-$VERSION = sprintf "%d.%02d", q$Revision: 1.3 $ =~ /(\d+)\.(\d+)/;
+$VERSION = sprintf "%d.%02d", q$Revision: 1.4 $ =~ /(\d+)\.(\d+)/;
 $DEBUG   = 0 unless defined $DEBUG;
 
 use Data::Dumper;
@@ -180,17 +180,18 @@ __END__
 
 =head1 BUGS
 
-B<Single Tags> e.g. <sqlf:default_value/> Will be parsed as "" and hence also
+B<Empty Tags> e.g. <sqlf:default_value/> Will be parsed as "" and hence also
 false. This is a bit counter intuative for some tags as seeing 
 <sqlf:is_nullable /> you might think that it was set when it fact it wouldn't 
 be. So for now it is safest not to use them until their handling by the parser
-is sorted out.
+is defined.
 
 =head1 TODO
 
  * Support sqf:options.
  * Test forign keys are parsed ok.
- * Sort out sane handling of <foo/> vs <foo></foo> vs it not being there.
+ * Sort out sane handling of empty tags <foo/> vs tags with no content 
+   <foo></foo> vs it no tag being there.
  * Control over defaulting of non-existant tags.
 
 =head1 AUTHOR
index eee29df..cf861f9 100644 (file)
@@ -100,7 +100,7 @@ is_deeply( \@tblnames, [qw/Basic/], "tables");
 my $tbl = $scma->get_table("Basic");
 is $tbl->order, 1, "Basic->order";
 is_deeply( [map {$_->name} $tbl->get_fields], [qw/
-    id title description email explicitnulldef explicitemptystring singletagdef
+    id title description email explicitnulldef explicitemptystring emptytagdef
 /] , "Table Basic's fields");
 test_field($tbl->get_field("id"),{
     name => "id",
@@ -150,8 +150,8 @@ test_field($tbl->get_field("explicitemptystring"),{
     default_value => "",
     is_nullable => 1,
 });
-test_field($tbl->get_field("singletagdef"),{
-    name => "singletagdef",
+test_field($tbl->get_field("emptytagdef"),{
+    name => "emptytagdef",
     order => 7,
     data_type => "varchar",
     default_value => "",
index 4f5f9d3..5a927ed 100644 (file)
@@ -153,7 +153,7 @@ Fields
         extra:                 
         table:                 Basic
     
-    singletagdef
+    emptytagdef
         data_type:             varchar
         size:                  0
         is_nullable:           1
index 21bfe73..2664312 100644 (file)
@@ -56,7 +56,7 @@ Created on Fri Aug  1 11:24:58 2003
         <sqlf:order>6</sqlf:order>
       </sqlf:field>
       <sqlf:field>
-        <sqlf:name>singletagdef</sqlf:name>
+        <sqlf:name>emptytagdef</sqlf:name>
         <sqlf:data_type>varchar</sqlf:data_type>
         <sqlf:is_nullable>1</sqlf:is_nullable>
         <sqlf:default_value/>