aboutsummaryrefslogtreecommitdiff
path: root/libxsde/xsde/cxx/parser/validating
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-03-28 20:04:12 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-03-28 20:04:12 +0200
commitc964e1d8c0ff4e645691386ff92b41440223649b (patch)
tree4af5073b56e761f870c89694e6a96f01bcc3ec02 /libxsde/xsde/cxx/parser/validating
parentb8749d41c4ded030201744f321b4e38a9093fd98 (diff)
Add facet support for other string-based types (serializer)
Diffstat (limited to 'libxsde/xsde/cxx/parser/validating')
-rw-r--r--libxsde/xsde/cxx/parser/validating/string-common.cxx12
-rw-r--r--libxsde/xsde/cxx/parser/validating/string-common.hxx2
2 files changed, 8 insertions, 6 deletions
diff --git a/libxsde/xsde/cxx/parser/validating/string-common.cxx b/libxsde/xsde/cxx/parser/validating/string-common.cxx
index 15956f6..e226766 100644
--- a/libxsde/xsde/cxx/parser/validating/string-common.cxx
+++ b/libxsde/xsde/cxx/parser/validating/string-common.cxx
@@ -14,7 +14,7 @@ namespace xsde
{
namespace validating
{
- void string_common::
+ bool string_common::
validate_facets (const char* s,
size_t n,
const string_facets::facets& f,
@@ -23,19 +23,19 @@ namespace xsde
if (f.length_set_ && n != f.length_)
{
ctx.schema_error (schema_error::length_not_equal_prescribed);
- return;
+ return false;
}
if (f.min_length_set_ && n < f.min_length_)
{
ctx.schema_error (schema_error::length_less_than_min);
- return;
+ return false;
}
if (f.max_length_set_ && n > f.max_length_)
{
ctx.schema_error (schema_error::length_greater_than_max);
- return;
+ return false;
}
if (f.enum_count_ != 0)
@@ -51,9 +51,11 @@ namespace xsde
if (i == f.enum_count_)
{
ctx.schema_error (schema_error::value_not_in_enumeration);
- return;
+ return false;
}
}
+
+ return true;
}
}
}
diff --git a/libxsde/xsde/cxx/parser/validating/string-common.hxx b/libxsde/xsde/cxx/parser/validating/string-common.hxx
index 52ea0c5..3191a3c 100644
--- a/libxsde/xsde/cxx/parser/validating/string-common.hxx
+++ b/libxsde/xsde/cxx/parser/validating/string-common.hxx
@@ -18,7 +18,7 @@ namespace xsde
{
struct string_common
{
- static void
+ static bool
validate_facets (const char* s,
size_t n,
const string_facets::facets&,