aboutsummaryrefslogtreecommitdiff
path: root/xsd-frontend
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-03-03 15:46:34 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-03-03 15:46:34 +0200
commitca2bc859cf0001848224ff00a92fcc5d60a16e7f (patch)
treef9cc0a6608a7c3cdb069ff0a3411a516a6319ddc /xsd-frontend
parentb99e9f7e2bc39d7a0be0b7910668a14e04cf24c9 (diff)
Handle "superimposed" simple content restriction
Diffstat (limited to 'xsd-frontend')
-rw-r--r--xsd-frontend/parser.cxx15
1 files changed, 14 insertions, 1 deletions
diff --git a/xsd-frontend/parser.cxx b/xsd-frontend/parser.cxx
index b68c189..9137725 100644
--- a/xsd-frontend/parser.cxx
+++ b/xsd-frontend/parser.cxx
@@ -3246,7 +3246,20 @@ namespace XSDFrontend
XML::Element e (next ());
String name (e.name ());
- if (name == L"enumeration")
+ if (name == L"simpleType")
+ {
+ // This is a "superimposed" restriction where the base
+ // content is restricted by specifying another simple
+ // type. The attributes are restricted in the ussual
+ // way. So in effect we have kind of two base classes.
+ // I guess the way to handle this one day would be to
+ // copy all the facets from the base-to-this-type
+ // part of the hierarchy (will need to "know" facets
+ // for the built-in type restrictions as well). For
+ // now just ignore it.
+ //
+ }
+ else if (name == L"enumeration")
{
// Right now our sementic graph cannot represent enumerations
// with attributes so we are going to ignore enumerators for