diff options
Diffstat (limited to 'libxsde/xsde/cxx/parser/validating/id-stl.cxx')
-rw-r--r-- | libxsde/xsde/cxx/parser/validating/id-stl.cxx | 14 |
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:: |