aboutsummaryrefslogtreecommitdiff
path: root/libxsde/xsde/cxx/parser/validating/id-stl.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-10-08 15:35:23 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-10-08 15:35:23 +0200
commit7db026e8056914d113ac0bbfd9bdc4908a9e7874 (patch)
tree0ab15cb8b0ee160a10cca21edaf0aca1e97e8921 /libxsde/xsde/cxx/parser/validating/id-stl.cxx
parent4f38adc11ab1a3a1ab2dd3f958c917182be7d71f (diff)
Add support for the whiteSpace facet
Use the same mechanism to handle whitespace processing for build-in types and enumerations.
Diffstat (limited to 'libxsde/xsde/cxx/parser/validating/id-stl.cxx')
-rw-r--r--libxsde/xsde/cxx/parser/validating/id-stl.cxx14
1 files changed, 3 insertions, 11 deletions
diff --git a/libxsde/xsde/cxx/parser/validating/id-stl.cxx b/libxsde/xsde/cxx/parser/validating/id-stl.cxx
index f20fa84..4ac0b63 100644
--- a/libxsde/xsde/cxx/parser/validating/id-stl.cxx
+++ b/libxsde/xsde/cxx/parser/validating/id-stl.cxx
@@ -39,19 +39,11 @@ namespace xsde
void id_pimpl::
_post ()
{
- ro_string tmp (str_);
- ro_string::size_type size = trim_right (tmp);
-
- if (xml::valid_ncname (tmp.data (), size))
- str_.resize (size);
- else
- {
- _schema_error (schema_error::invalid_id_value);
+ if (!string_common::validate_facets (str_, _facets (), _context ()))
return;
- }
- string_common::validate_facets (
- str_.c_str (), str_.size (), _facets (), _context ());
+ if (!xml::valid_ncname (str_.c_str (), str_.size ()))
+ _schema_error (schema_error::invalid_id_value);
}
std::string id_pimpl::