aboutsummaryrefslogtreecommitdiff
path: root/libxsde
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-03-28 19:27:51 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-03-28 19:27:51 +0200
commitb8749d41c4ded030201744f321b4e38a9093fd98 (patch)
tree3f451cbbf4e33c4319bd7a108bae843b2e573807 /libxsde
parentf5b85ddc9a0e3ac4bb8a200d2ab1a05d5ca9f41b (diff)
Add facet support for other string-based types (parser)
Diffstat (limited to 'libxsde')
-rw-r--r--libxsde/xsde/cxx/parser/validating/id-stl.cxx7
-rw-r--r--libxsde/xsde/cxx/parser/validating/id.cxx8
-rw-r--r--libxsde/xsde/cxx/parser/validating/idref-stl.cxx7
-rw-r--r--libxsde/xsde/cxx/parser/validating/idref.cxx7
-rw-r--r--libxsde/xsde/cxx/parser/validating/language-stl.cxx7
-rw-r--r--libxsde/xsde/cxx/parser/validating/language.cxx7
-rw-r--r--libxsde/xsde/cxx/parser/validating/name-stl.cxx7
-rw-r--r--libxsde/xsde/cxx/parser/validating/name.cxx7
-rw-r--r--libxsde/xsde/cxx/parser/validating/ncname-stl.cxx7
-rw-r--r--libxsde/xsde/cxx/parser/validating/ncname.cxx7
-rw-r--r--libxsde/xsde/cxx/parser/validating/nmtoken-stl.cxx7
-rw-r--r--libxsde/xsde/cxx/parser/validating/nmtoken.cxx7
-rw-r--r--libxsde/xsde/cxx/parser/validating/normalized-string-stl.cxx12
-rw-r--r--libxsde/xsde/cxx/parser/validating/normalized-string-stl.hxx3
-rw-r--r--libxsde/xsde/cxx/parser/validating/normalized-string.cxx12
-rw-r--r--libxsde/xsde/cxx/parser/validating/normalized-string.hxx3
-rw-r--r--libxsde/xsde/cxx/parser/validating/token-stl.cxx12
-rw-r--r--libxsde/xsde/cxx/parser/validating/token-stl.hxx3
-rw-r--r--libxsde/xsde/cxx/parser/validating/token.cxx12
-rw-r--r--libxsde/xsde/cxx/parser/validating/token.hxx3
-rw-r--r--libxsde/xsde/cxx/parser/validating/uri-stl.cxx12
-rw-r--r--libxsde/xsde/cxx/parser/validating/uri-stl.hxx3
-rw-r--r--libxsde/xsde/cxx/parser/validating/uri.cxx13
-rw-r--r--libxsde/xsde/cxx/parser/validating/uri.hxx3
-rw-r--r--libxsde/xsde/cxx/parser/validating/xml-schema-pskel.hxx50
-rw-r--r--libxsde/xsde/cxx/parser/validating/xml-schema-pskel.ixx94
26 files changed, 294 insertions, 26 deletions
diff --git a/libxsde/xsde/cxx/parser/validating/id-stl.cxx b/libxsde/xsde/cxx/parser/validating/id-stl.cxx
index 0cfac46..f20fa84 100644
--- a/libxsde/xsde/cxx/parser/validating/id-stl.cxx
+++ b/libxsde/xsde/cxx/parser/validating/id-stl.cxx
@@ -6,6 +6,7 @@
#include <xsde/cxx/xml/ncname.hxx>
#include <xsde/cxx/parser/validating/id-stl.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -44,7 +45,13 @@ namespace xsde
if (xml::valid_ncname (tmp.data (), size))
str_.resize (size);
else
+ {
_schema_error (schema_error::invalid_id_value);
+ return;
+ }
+
+ string_common::validate_facets (
+ str_.c_str (), str_.size (), _facets (), _context ());
}
std::string id_pimpl::
diff --git a/libxsde/xsde/cxx/parser/validating/id.cxx b/libxsde/xsde/cxx/parser/validating/id.cxx
index 88d5942..d2fb79d 100644
--- a/libxsde/xsde/cxx/parser/validating/id.cxx
+++ b/libxsde/xsde/cxx/parser/validating/id.cxx
@@ -8,6 +8,7 @@
#include <xsde/cxx/xml/ncname.hxx>
#include <xsde/cxx/parser/validating/id.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -65,7 +66,13 @@ namespace xsde
if (xml::valid_ncname (tmp.data (), size))
str_.truncate (size);
else
+ {
_schema_error (schema_error::invalid_id_value);
+ return;
+ }
+
+ string_common::validate_facets (
+ str_.data (), str_.size (), _facets (), _context ());
}
char* id_pimpl::
@@ -77,4 +84,3 @@ namespace xsde
}
}
}
-
diff --git a/libxsde/xsde/cxx/parser/validating/idref-stl.cxx b/libxsde/xsde/cxx/parser/validating/idref-stl.cxx
index 7771532..93d94dc 100644
--- a/libxsde/xsde/cxx/parser/validating/idref-stl.cxx
+++ b/libxsde/xsde/cxx/parser/validating/idref-stl.cxx
@@ -6,6 +6,7 @@
#include <xsde/cxx/xml/ncname.hxx>
#include <xsde/cxx/parser/validating/idref-stl.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -44,7 +45,13 @@ namespace xsde
if (xml::valid_ncname (tmp.data (), size))
str_.resize (size);
else
+ {
_schema_error (schema_error::invalid_idref_value);
+ return;
+ }
+
+ string_common::validate_facets (
+ str_.c_str (), str_.size (), _facets (), _context ());
}
std::string idref_pimpl::
diff --git a/libxsde/xsde/cxx/parser/validating/idref.cxx b/libxsde/xsde/cxx/parser/validating/idref.cxx
index 78f751c..58ac4ca 100644
--- a/libxsde/xsde/cxx/parser/validating/idref.cxx
+++ b/libxsde/xsde/cxx/parser/validating/idref.cxx
@@ -8,6 +8,7 @@
#include <xsde/cxx/xml/ncname.hxx>
#include <xsde/cxx/parser/validating/idref.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -65,7 +66,13 @@ namespace xsde
if (xml::valid_ncname (tmp.data (), size))
str_.truncate (size);
else
+ {
_schema_error (schema_error::invalid_idref_value);
+ return;
+ }
+
+ string_common::validate_facets (
+ str_.data (), str_.size (), _facets (), _context ());
}
char* idref_pimpl::
diff --git a/libxsde/xsde/cxx/parser/validating/language-stl.cxx b/libxsde/xsde/cxx/parser/validating/language-stl.cxx
index 9d0ead4..61b4a1b 100644
--- a/libxsde/xsde/cxx/parser/validating/language-stl.cxx
+++ b/libxsde/xsde/cxx/parser/validating/language-stl.cxx
@@ -4,6 +4,7 @@
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <xsde/cxx/parser/validating/language-stl.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -79,7 +80,13 @@ namespace xsde
if (ok)
str_.resize (size);
else
+ {
_schema_error (schema_error::invalid_language_value);
+ return;
+ }
+
+ string_common::validate_facets (
+ str_.c_str (), str_.size (), _facets (), _context ());
}
std::string language_pimpl::
diff --git a/libxsde/xsde/cxx/parser/validating/language.cxx b/libxsde/xsde/cxx/parser/validating/language.cxx
index 669e91d..bd39295 100644
--- a/libxsde/xsde/cxx/parser/validating/language.cxx
+++ b/libxsde/xsde/cxx/parser/validating/language.cxx
@@ -6,6 +6,7 @@
#include <xsde/cxx/config.hxx>
#include <xsde/cxx/parser/validating/language.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -100,7 +101,13 @@ namespace xsde
if (ok)
str_.truncate (size);
else
+ {
_schema_error (schema_error::invalid_language_value);
+ return;
+ }
+
+ string_common::validate_facets (
+ str_.data (), str_.size (), _facets (), _context ());
}
char* language_pimpl::
diff --git a/libxsde/xsde/cxx/parser/validating/name-stl.cxx b/libxsde/xsde/cxx/parser/validating/name-stl.cxx
index 68d08b3..942b7cf 100644
--- a/libxsde/xsde/cxx/parser/validating/name-stl.cxx
+++ b/libxsde/xsde/cxx/parser/validating/name-stl.cxx
@@ -6,6 +6,7 @@
#include <xsde/cxx/xml/char-table.hxx>
#include <xsde/cxx/parser/validating/name-stl.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -70,7 +71,13 @@ namespace xsde
str_.resize (size);
if (!ok)
+ {
_schema_error (schema_error::invalid_name_value);
+ return;
+ }
+
+ string_common::validate_facets (
+ str_.c_str (), str_.size (), _facets (), _context ());
}
std::string name_pimpl::
diff --git a/libxsde/xsde/cxx/parser/validating/name.cxx b/libxsde/xsde/cxx/parser/validating/name.cxx
index 598c925..570a6cd 100644
--- a/libxsde/xsde/cxx/parser/validating/name.cxx
+++ b/libxsde/xsde/cxx/parser/validating/name.cxx
@@ -8,6 +8,7 @@
#include <xsde/cxx/xml/char-table.hxx>
#include <xsde/cxx/parser/validating/name.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -91,7 +92,13 @@ namespace xsde
str_.truncate (size);
if (!ok)
+ {
_schema_error (schema_error::invalid_name_value);
+ return;
+ }
+
+ string_common::validate_facets (
+ str_.data (), str_.size (), _facets (), _context ());
}
char* name_pimpl::
diff --git a/libxsde/xsde/cxx/parser/validating/ncname-stl.cxx b/libxsde/xsde/cxx/parser/validating/ncname-stl.cxx
index 577b8be..201f463 100644
--- a/libxsde/xsde/cxx/parser/validating/ncname-stl.cxx
+++ b/libxsde/xsde/cxx/parser/validating/ncname-stl.cxx
@@ -6,6 +6,7 @@
#include <xsde/cxx/xml/ncname.hxx>
#include <xsde/cxx/parser/validating/ncname-stl.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -44,7 +45,13 @@ namespace xsde
if (xml::valid_ncname (tmp.data (), size))
str_.resize (size);
else
+ {
_schema_error (schema_error::invalid_ncname_value);
+ return;
+ }
+
+ string_common::validate_facets (
+ str_.c_str (), str_.size (), _facets (), _context ());
}
std::string ncname_pimpl::
diff --git a/libxsde/xsde/cxx/parser/validating/ncname.cxx b/libxsde/xsde/cxx/parser/validating/ncname.cxx
index 8a7e10f..233ea56 100644
--- a/libxsde/xsde/cxx/parser/validating/ncname.cxx
+++ b/libxsde/xsde/cxx/parser/validating/ncname.cxx
@@ -8,6 +8,7 @@
#include <xsde/cxx/xml/ncname.hxx>
#include <xsde/cxx/parser/validating/ncname.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -65,7 +66,13 @@ namespace xsde
if (xml::valid_ncname (tmp.data (), size))
str_.truncate (size);
else
+ {
_schema_error (schema_error::invalid_ncname_value);
+ return;
+ }
+
+ string_common::validate_facets (
+ str_.data (), str_.size (), _facets (), _context ());
}
char* ncname_pimpl::
diff --git a/libxsde/xsde/cxx/parser/validating/nmtoken-stl.cxx b/libxsde/xsde/cxx/parser/validating/nmtoken-stl.cxx
index 9cce1f3..62e867b 100644
--- a/libxsde/xsde/cxx/parser/validating/nmtoken-stl.cxx
+++ b/libxsde/xsde/cxx/parser/validating/nmtoken-stl.cxx
@@ -6,6 +6,7 @@
#include <xsde/cxx/xml/char-table.hxx>
#include <xsde/cxx/parser/validating/nmtoken-stl.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -63,7 +64,13 @@ namespace xsde
str_.resize (size);
if (!ok)
+ {
_schema_error (schema_error::invalid_nmtoken_value);
+ return;
+ }
+
+ string_common::validate_facets (
+ str_.c_str (), str_.size (), _facets (), _context ());
}
std::string nmtoken_pimpl::
diff --git a/libxsde/xsde/cxx/parser/validating/nmtoken.cxx b/libxsde/xsde/cxx/parser/validating/nmtoken.cxx
index 7f724b1..cc19602 100644
--- a/libxsde/xsde/cxx/parser/validating/nmtoken.cxx
+++ b/libxsde/xsde/cxx/parser/validating/nmtoken.cxx
@@ -8,6 +8,7 @@
#include <xsde/cxx/xml/char-table.hxx>
#include <xsde/cxx/parser/validating/nmtoken.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -84,7 +85,13 @@ namespace xsde
str_.truncate (size);
if (!ok)
+ {
_schema_error (schema_error::invalid_nmtoken_value);
+ return;
+ }
+
+ string_common::validate_facets (
+ str_.data (), str_.size (), _facets (), _context ());
}
char* nmtoken_pimpl::
diff --git a/libxsde/xsde/cxx/parser/validating/normalized-string-stl.cxx b/libxsde/xsde/cxx/parser/validating/normalized-string-stl.cxx
index b840dd5..f93ecf8 100644
--- a/libxsde/xsde/cxx/parser/validating/normalized-string-stl.cxx
+++ b/libxsde/xsde/cxx/parser/validating/normalized-string-stl.cxx
@@ -4,6 +4,7 @@
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <xsde/cxx/parser/validating/normalized-string-stl.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -25,8 +26,8 @@ namespace xsde
str_ += s;
}
- std::string normalized_string_pimpl::
- post_normalized_string ()
+ void normalized_string_pimpl::
+ _post ()
{
std::string::size_type size = str_.size ();
@@ -38,6 +39,13 @@ namespace xsde
c = 0x20;
}
+ string_common::validate_facets (
+ str_.c_str (), str_.size (), _facets (), _context ());
+ }
+
+ std::string normalized_string_pimpl::
+ post_normalized_string ()
+ {
std::string r;
r.swap (str_);
return r;
diff --git a/libxsde/xsde/cxx/parser/validating/normalized-string-stl.hxx b/libxsde/xsde/cxx/parser/validating/normalized-string-stl.hxx
index e210f3c..f4df418 100644
--- a/libxsde/xsde/cxx/parser/validating/normalized-string-stl.hxx
+++ b/libxsde/xsde/cxx/parser/validating/normalized-string-stl.hxx
@@ -30,6 +30,9 @@ namespace xsde
virtual void
_characters (const ro_string&);
+ virtual void
+ _post ();
+
virtual std::string
post_normalized_string ();
diff --git a/libxsde/xsde/cxx/parser/validating/normalized-string.cxx b/libxsde/xsde/cxx/parser/validating/normalized-string.cxx
index 5b096de..4807846 100644
--- a/libxsde/xsde/cxx/parser/validating/normalized-string.cxx
+++ b/libxsde/xsde/cxx/parser/validating/normalized-string.cxx
@@ -6,6 +6,7 @@
#include <xsde/cxx/config.hxx>
#include <xsde/cxx/parser/validating/normalized-string.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -37,8 +38,8 @@ namespace xsde
#endif
}
- char* normalized_string_pimpl::
- post_normalized_string ()
+ void normalized_string_pimpl::
+ _post ()
{
typedef string::size_type size_type;
@@ -52,6 +53,13 @@ namespace xsde
c = 0x20;
}
+ string_common::validate_facets (
+ str_.data (), str_.size (), _facets (), _context ());
+ }
+
+ char* normalized_string_pimpl::
+ post_normalized_string ()
+ {
return str_.detach ();
}
}
diff --git a/libxsde/xsde/cxx/parser/validating/normalized-string.hxx b/libxsde/xsde/cxx/parser/validating/normalized-string.hxx
index dff7094..9813586 100644
--- a/libxsde/xsde/cxx/parser/validating/normalized-string.hxx
+++ b/libxsde/xsde/cxx/parser/validating/normalized-string.hxx
@@ -30,6 +30,9 @@ namespace xsde
virtual void
_characters (const ro_string&);
+ virtual void
+ _post ();
+
virtual char*
post_normalized_string ();
diff --git a/libxsde/xsde/cxx/parser/validating/token-stl.cxx b/libxsde/xsde/cxx/parser/validating/token-stl.cxx
index d73067f..5eafe39 100644
--- a/libxsde/xsde/cxx/parser/validating/token-stl.cxx
+++ b/libxsde/xsde/cxx/parser/validating/token-stl.cxx
@@ -4,6 +4,7 @@
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <xsde/cxx/parser/validating/token-stl.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -33,8 +34,8 @@ namespace xsde
str_ += s;
}
- std::string token_pimpl::
- post_token ()
+ void token_pimpl::
+ _post ()
{
std::string::size_type size = str_.size ();
std::string::size_type j = 0;
@@ -63,6 +64,13 @@ namespace xsde
str_.resize (j);
+ string_common::validate_facets (
+ str_.c_str (), str_.size (), _facets (), _context ());
+ }
+
+ std::string token_pimpl::
+ post_token ()
+ {
std::string r;
r.swap (str_);
return r;
diff --git a/libxsde/xsde/cxx/parser/validating/token-stl.hxx b/libxsde/xsde/cxx/parser/validating/token-stl.hxx
index b0fdb21..32ffb09 100644
--- a/libxsde/xsde/cxx/parser/validating/token-stl.hxx
+++ b/libxsde/xsde/cxx/parser/validating/token-stl.hxx
@@ -30,6 +30,9 @@ namespace xsde
virtual void
_characters (const ro_string&);
+ virtual void
+ _post ();
+
virtual std::string
post_token ();
diff --git a/libxsde/xsde/cxx/parser/validating/token.cxx b/libxsde/xsde/cxx/parser/validating/token.cxx
index 4e4b955..338fa04 100644
--- a/libxsde/xsde/cxx/parser/validating/token.cxx
+++ b/libxsde/xsde/cxx/parser/validating/token.cxx
@@ -6,6 +6,7 @@
#include <xsde/cxx/config.hxx>
#include <xsde/cxx/parser/validating/token.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -54,8 +55,8 @@ namespace xsde
}
}
- char* token_pimpl::
- post_token ()
+ void token_pimpl::
+ _post ()
{
typedef string::size_type size_type;
@@ -86,6 +87,13 @@ namespace xsde
str_.truncate (j);
+ string_common::validate_facets (
+ str_.data (), str_.size (), _facets (), _context ());
+ }
+
+ char* token_pimpl::
+ post_token ()
+ {
return str_.detach ();
}
}
diff --git a/libxsde/xsde/cxx/parser/validating/token.hxx b/libxsde/xsde/cxx/parser/validating/token.hxx
index b35fd4f..b6121a3 100644
--- a/libxsde/xsde/cxx/parser/validating/token.hxx
+++ b/libxsde/xsde/cxx/parser/validating/token.hxx
@@ -30,6 +30,9 @@ namespace xsde
virtual void
_characters (const ro_string&);
+ virtual void
+ _post ();
+
virtual char*
post_token ();
diff --git a/libxsde/xsde/cxx/parser/validating/uri-stl.cxx b/libxsde/xsde/cxx/parser/validating/uri-stl.cxx
index 99487a3..43538a9 100644
--- a/libxsde/xsde/cxx/parser/validating/uri-stl.cxx
+++ b/libxsde/xsde/cxx/parser/validating/uri-stl.cxx
@@ -4,6 +4,7 @@
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
#include <xsde/cxx/parser/validating/uri-stl.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -33,8 +34,8 @@ namespace xsde
str_ += s;
}
- std::string uri_pimpl::
- post_uri ()
+ void uri_pimpl::
+ _post ()
{
// According to Datatypes 3.2.17 and RFC2396 pretty much anything
// can be a URI and conforming processors do not need to figure
@@ -43,6 +44,13 @@ namespace xsde
ro_string tmp (str_);
str_.resize (trim_right (tmp));
+ string_common::validate_facets (
+ str_.c_str (), str_.size (), _facets (), _context ());
+ }
+
+ std::string uri_pimpl::
+ post_uri ()
+ {
std::string r;
r.swap (str_);
return r;
diff --git a/libxsde/xsde/cxx/parser/validating/uri-stl.hxx b/libxsde/xsde/cxx/parser/validating/uri-stl.hxx
index 3f6ffcb..16a05ba 100644
--- a/libxsde/xsde/cxx/parser/validating/uri-stl.hxx
+++ b/libxsde/xsde/cxx/parser/validating/uri-stl.hxx
@@ -30,6 +30,9 @@ namespace xsde
virtual void
_characters (const ro_string&);
+ virtual void
+ _post ();
+
virtual std::string
post_uri ();
diff --git a/libxsde/xsde/cxx/parser/validating/uri.cxx b/libxsde/xsde/cxx/parser/validating/uri.cxx
index d649d12..90f55f2 100644
--- a/libxsde/xsde/cxx/parser/validating/uri.cxx
+++ b/libxsde/xsde/cxx/parser/validating/uri.cxx
@@ -6,6 +6,7 @@
#include <xsde/cxx/config.hxx>
#include <xsde/cxx/parser/validating/uri.hxx>
+#include <xsde/cxx/parser/validating/string-common.hxx>
namespace xsde
{
@@ -54,8 +55,8 @@ namespace xsde
}
}
- char* uri_pimpl::
- post_uri ()
+ void uri_pimpl::
+ _post ()
{
// According to Datatypes 3.2.17 and RFC2396 pretty much anything
// can be a URI and conforming processors do not need to figure
@@ -63,6 +64,14 @@ namespace xsde
//
ro_string tmp (str_);
str_.truncate (trim_right (tmp));
+
+ string_common::validate_facets (
+ str_.data (), str_.size (), _facets (), _context ());
+ }
+
+ char* uri_pimpl::
+ post_uri ()
+ {
return str_.detach ();
}
}
diff --git a/libxsde/xsde/cxx/parser/validating/uri.hxx b/libxsde/xsde/cxx/parser/validating/uri.hxx
index b5055ad..463875d 100644
--- a/libxsde/xsde/cxx/parser/validating/uri.hxx
+++ b/libxsde/xsde/cxx/parser/validating/uri.hxx
@@ -30,6 +30,9 @@ namespace xsde
virtual void
_characters (const ro_string&);
+ virtual void
+ _post ();
+
virtual char*
post_uri ();
diff --git a/libxsde/xsde/cxx/parser/validating/xml-schema-pskel.hxx b/libxsde/xsde/cxx/parser/validating/xml-schema-pskel.hxx
index ed0ff4f..a978c6d 100644
--- a/libxsde/xsde/cxx/parser/validating/xml-schema-pskel.hxx
+++ b/libxsde/xsde/cxx/parser/validating/xml-schema-pskel.hxx
@@ -717,13 +717,12 @@ namespace xsde
protected:
string_pskel* string_impl_;
#endif
- // Facets.
- //
- const facets&
+ protected:
+ const string_facets::facets&
_facets () const;
};
- struct normalized_string_pskel: simple_content
+ struct normalized_string_pskel: simple_content, string_facets
{
#ifdef XSDE_STL
virtual std::string
@@ -747,9 +746,12 @@ namespace xsde
protected:
normalized_string_pskel* normalized_string_impl_;
#endif
+ protected:
+ const string_facets::facets&
+ _facets () const;
};
- struct token_pskel: simple_content
+ struct token_pskel: simple_content, string_facets
{
#ifdef XSDE_STL
virtual std::string
@@ -773,9 +775,12 @@ namespace xsde
protected:
token_pskel* token_impl_;
#endif
+ protected:
+ const string_facets::facets&
+ _facets () const;
};
- struct name_pskel: simple_content
+ struct name_pskel: simple_content, string_facets
{
#ifdef XSDE_STL
virtual std::string
@@ -799,9 +804,12 @@ namespace xsde
protected:
name_pskel* name_impl_;
#endif
+ protected:
+ const string_facets::facets&
+ _facets () const;
};
- struct nmtoken_pskel: simple_content
+ struct nmtoken_pskel: simple_content, string_facets
{
#ifdef XSDE_STL
virtual std::string
@@ -825,6 +833,9 @@ namespace xsde
protected:
nmtoken_pskel* nmtoken_impl_;
#endif
+ protected:
+ const string_facets::facets&
+ _facets () const;
};
struct nmtokens_pskel: list_base
@@ -849,7 +860,7 @@ namespace xsde
#endif
};
- struct ncname_pskel: simple_content
+ struct ncname_pskel: simple_content, string_facets
{
#ifdef XSDE_STL
virtual std::string
@@ -873,9 +884,12 @@ namespace xsde
protected:
ncname_pskel* ncname_impl_;
#endif
+ protected:
+ const string_facets::facets&
+ _facets () const;
};
- struct id_pskel: simple_content
+ struct id_pskel: simple_content, string_facets
{
#ifdef XSDE_STL
virtual std::string
@@ -899,9 +913,12 @@ namespace xsde
protected:
id_pskel* id_impl_;
#endif
+ protected:
+ const string_facets::facets&
+ _facets () const;
};
- struct idref_pskel: simple_content
+ struct idref_pskel: simple_content, string_facets
{
#ifdef XSDE_STL
virtual std::string
@@ -925,6 +942,9 @@ namespace xsde
protected:
idref_pskel* idref_impl_;
#endif
+ protected:
+ const string_facets::facets&
+ _facets () const;
};
struct idrefs_pskel: list_base
@@ -949,7 +969,7 @@ namespace xsde
#endif
};
- struct language_pskel: simple_content
+ struct language_pskel: simple_content, string_facets
{
#ifdef XSDE_STL
virtual std::string
@@ -973,9 +993,12 @@ namespace xsde
protected:
language_pskel* language_impl_;
#endif
+ protected:
+ const string_facets::facets&
+ _facets () const;
};
- struct uri_pskel: simple_content
+ struct uri_pskel: simple_content, string_facets
{
#ifdef XSDE_STL
virtual std::string
@@ -999,6 +1022,9 @@ namespace xsde
protected:
uri_pskel* uri_impl_;
#endif
+ protected:
+ const string_facets::facets&
+ _facets () const;
};
struct qname_pskel: simple_content
diff --git a/libxsde/xsde/cxx/parser/validating/xml-schema-pskel.ixx b/libxsde/xsde/cxx/parser/validating/xml-schema-pskel.ixx
index c08fb09..61a862e 100644
--- a/libxsde/xsde/cxx/parser/validating/xml-schema-pskel.ixx
+++ b/libxsde/xsde/cxx/parser/validating/xml-schema-pskel.ixx
@@ -503,7 +503,7 @@ namespace xsde
}
#endif
- inline const string_pskel::facets& string_pskel::
+ inline const string_facets::facets& string_pskel::
_facets () const
{
#ifdef XSDE_REUSE_STYLE_TIEIN
@@ -530,6 +530,18 @@ namespace xsde
}
#endif
+ inline const string_facets::facets& normalized_string_pskel::
+ _facets () const
+ {
+#ifdef XSDE_REUSE_STYLE_TIEIN
+ if (parent_ != 0)
+ return static_cast<const normalized_string_pskel&> (
+ *parent_).facets_;
+ else
+#endif
+ return facets_;
+ }
+
// token_pskel
//
#ifdef XSDE_REUSE_STYLE_TIEIN
@@ -545,6 +557,16 @@ namespace xsde
{
}
#endif
+ inline const string_facets::facets& token_pskel::
+ _facets () const
+ {
+#ifdef XSDE_REUSE_STYLE_TIEIN
+ if (parent_ != 0)
+ return static_cast<const token_pskel&> (*parent_).facets_;
+ else
+#endif
+ return facets_;
+ }
// name_pskel
//
@@ -561,6 +583,16 @@ namespace xsde
{
}
#endif
+ inline const string_facets::facets& name_pskel::
+ _facets () const
+ {
+#ifdef XSDE_REUSE_STYLE_TIEIN
+ if (parent_ != 0)
+ return static_cast<const name_pskel&> (*parent_).facets_;
+ else
+#endif
+ return facets_;
+ }
// nmtoken_pskel
//
@@ -577,6 +609,16 @@ namespace xsde
{
}
#endif
+ inline const string_facets::facets& nmtoken_pskel::
+ _facets () const
+ {
+#ifdef XSDE_REUSE_STYLE_TIEIN
+ if (parent_ != 0)
+ return static_cast<const nmtoken_pskel&> (*parent_).facets_;
+ else
+#endif
+ return facets_;
+ }
// nmtokens_pskel
//
@@ -609,6 +651,16 @@ namespace xsde
{
}
#endif
+ inline const string_facets::facets& ncname_pskel::
+ _facets () const
+ {
+#ifdef XSDE_REUSE_STYLE_TIEIN
+ if (parent_ != 0)
+ return static_cast<const ncname_pskel&> (*parent_).facets_;
+ else
+#endif
+ return facets_;
+ }
// id_pskel
//
@@ -625,6 +677,16 @@ namespace xsde
{
}
#endif
+ inline const string_facets::facets& id_pskel::
+ _facets () const
+ {
+#ifdef XSDE_REUSE_STYLE_TIEIN
+ if (parent_ != 0)
+ return static_cast<const id_pskel&> (*parent_).facets_;
+ else
+#endif
+ return facets_;
+ }
// idref_pskel
//
@@ -641,6 +703,16 @@ namespace xsde
{
}
#endif
+ inline const string_facets::facets& idref_pskel::
+ _facets () const
+ {
+#ifdef XSDE_REUSE_STYLE_TIEIN
+ if (parent_ != 0)
+ return static_cast<const idref_pskel&> (*parent_).facets_;
+ else
+#endif
+ return facets_;
+ }
// idrefs_pskel
//
@@ -673,6 +745,16 @@ namespace xsde
{
}
#endif
+ inline const string_facets::facets& language_pskel::
+ _facets () const
+ {
+#ifdef XSDE_REUSE_STYLE_TIEIN
+ if (parent_ != 0)
+ return static_cast<const language_pskel&> (*parent_).facets_;
+ else
+#endif
+ return facets_;
+ }
// uri_pskel
//
@@ -689,6 +771,16 @@ namespace xsde
{
}
#endif
+ inline const string_facets::facets& uri_pskel::
+ _facets () const
+ {
+#ifdef XSDE_REUSE_STYLE_TIEIN
+ if (parent_ != 0)
+ return static_cast<const uri_pskel&> (*parent_).facets_;
+ else
+#endif
+ return facets_;
+ }
// qname_pskel
//