diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2010-10-08 15:35:23 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2010-10-08 15:35:23 +0200 |
commit | 7db026e8056914d113ac0bbfd9bdc4908a9e7874 (patch) | |
tree | 0ab15cb8b0ee160a10cca21edaf0aca1e97e8921 /libxsde/xsde/cxx/parser/validating/id.cxx | |
parent | 4f38adc11ab1a3a1ab2dd3f958c917182be7d71f (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.cxx')
-rw-r--r-- | libxsde/xsde/cxx/parser/validating/id.cxx | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/libxsde/xsde/cxx/parser/validating/id.cxx b/libxsde/xsde/cxx/parser/validating/id.cxx index d2fb79d..70713be 100644 --- a/libxsde/xsde/cxx/parser/validating/id.cxx +++ b/libxsde/xsde/cxx/parser/validating/id.cxx @@ -60,19 +60,11 @@ namespace xsde void id_pimpl:: _post () { - ro_string tmp (str_.data (), str_.size ()); - ro_string::size_type size = trim_right (tmp); - - if (xml::valid_ncname (tmp.data (), size)) - str_.truncate (size); - else - { - _schema_error (schema_error::invalid_id_value); + if (!string_common::validate_facets (str_, _facets (), _context ())) return; - } - string_common::validate_facets ( - str_.data (), str_.size (), _facets (), _context ()); + if (!xml::valid_ncname (str_.data (), str_.size ())) + _schema_error (schema_error::invalid_id_value); } char* id_pimpl:: |