From 9553149aa6b6561c49981adf2848607a43765054 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 11 Oct 2010 12:43:48 +0200 Subject: Support for validation of the pattern facet New test: hybrid/pattern. --- .../cxx/serializer/validating/xml-schema-sskel.ixx | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'libxsde/xsde/cxx/serializer/validating/xml-schema-sskel.ixx') diff --git a/libxsde/xsde/cxx/serializer/validating/xml-schema-sskel.ixx b/libxsde/xsde/cxx/serializer/validating/xml-schema-sskel.ixx index d62fdd4..35ce5d9 100644 --- a/libxsde/xsde/cxx/serializer/validating/xml-schema-sskel.ixx +++ b/libxsde/xsde/cxx/serializer/validating/xml-schema-sskel.ixx @@ -458,7 +458,20 @@ namespace xsde facets_.enum_ = 0; facets_.enum_count_ = 0; + +#ifdef XSDE_REGEXP + facets_.pattern_set_ = 0; +#endif + } + +#ifdef XSDE_REGEXP + inline string_facets:: + ~string_facets () + { + if (facets_.pattern_set_ == 2) + xmlRegFreeRegexp (facets_.pattern_.regexp); } +#endif inline void string_facets:: _length_facet (size_t v) @@ -488,6 +501,20 @@ namespace xsde facets_.enum_count_ = count; } +#ifndef XSDE_REGEXP + inline void string_facets:: + _pattern_facet (const char*) + { + } +#else + inline void string_facets:: + _pattern_facet (const char* s) + { + facets_.pattern_.str = s; + facets_.pattern_set_ = 1; + } +#endif + // string_sskel // #ifdef XSDE_REUSE_STYLE_TIEIN -- cgit v1.1