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>,
#
<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
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;
=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
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",
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 => "",