aboutsummaryrefslogtreecommitdiff
path: root/xsde/cxx/hybrid/elements.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-10-13 15:38:11 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-10-13 15:38:11 +0200
commit6f395f9f769866a04f6949cb7ed14f93d90cf728 (patch)
treed1f8343e7b41fc1895676ad4248a5e4942f9172b /xsde/cxx/hybrid/elements.hxx
parentc1f49aa87678c512ac37575365a6676727e5f20a (diff)
Map anySimpleType to a string
Diffstat (limited to 'xsde/cxx/hybrid/elements.hxx')
-rw-r--r--xsde/cxx/hybrid/elements.hxx19
1 files changed, 15 insertions, 4 deletions
diff --git a/xsde/cxx/hybrid/elements.hxx b/xsde/cxx/hybrid/elements.hxx
index 7bd8bd1..50f0931 100644
--- a/xsde/cxx/hybrid/elements.hxx
+++ b/xsde/cxx/hybrid/elements.hxx
@@ -798,7 +798,9 @@ namespace CXX
//
//
- struct StringType: Traversal::Fundamental::String,
+ struct StringType: Traversal::AnySimpleType,
+
+ Traversal::Fundamental::String,
Traversal::Fundamental::NormalizedString,
Traversal::Fundamental::Token,
Traversal::Fundamental::Name,
@@ -816,6 +818,12 @@ namespace CXX
}
virtual Void
+ traverse (SemanticGraph::AnySimpleType&)
+ {
+ r_ = true;
+ }
+
+ virtual Void
traverse (SemanticGraph::Fundamental::String&)
{
r_ = true;
@@ -1098,9 +1106,12 @@ namespace CXX
}
virtual Void
- traverse (SemanticGraph::AnySimpleType& t)
+ traverse (SemanticGraph::AnySimpleType&)
{
- type (t);
+ if (stl || use_ != base)
+ string_type ();
+ else
+ os << xs_ns_ << "::any_simple_type_base";
}
// Boolean.
@@ -1688,7 +1699,7 @@ namespace CXX
virtual Void
traverse (SemanticGraph::AnySimpleType& t)
{
- type (t);
+ string_type (t);
}
// Boolean.