summaryrefslogtreecommitdiff
path: root/cpp/src/slice2xsd/Gen.cpp
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2002-01-15 16:41:25 +0000
committerMatthew Newhook <matthew@zeroc.com>2002-01-15 16:41:25 +0000
commit42a1a37f11ee65e6af59bba06b8175040f800ccc (patch)
treea57f129c0ec9ff057b765cb128bac22d3f6d37d6 /cpp/src/slice2xsd/Gen.cpp
parentmore connected udp stuff (diff)
downloadice-42a1a37f11ee65e6af59bba06b8175040f800ccc.tar.bz2
ice-42a1a37f11ee65e6af59bba06b8175040f800ccc.tar.xz
ice-42a1a37f11ee65e6af59bba06b8175040f800ccc.zip
updates.
Diffstat (limited to 'cpp/src/slice2xsd/Gen.cpp')
-rw-r--r--cpp/src/slice2xsd/Gen.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/cpp/src/slice2xsd/Gen.cpp b/cpp/src/slice2xsd/Gen.cpp
index 145672c1a1c..79161fa1d8b 100644
--- a/cpp/src/slice2xsd/Gen.cpp
+++ b/cpp/src/slice2xsd/Gen.cpp
@@ -450,7 +450,8 @@ Slice::Gen::visitDictionary(const DictionaryPtr& p)
end(); // xs:appinfo
- O << nl << "<xs:element name=\"e\" type=\"tns:" << internalId << scopeId << p->name() << "ContentType\"/>";
+ O << nl << "<xs:element name=\"e\" type=\"tns:" << internalId << scopeId << p->name() << "ContentType\""
+ << " minOccurs=\"0\" maxOccurs=\"unbounded\"/>";
end(); // xs:sequence
end(); // xs:complexType
@@ -609,5 +610,19 @@ Slice::Gen::toString(const SyntaxTreeBasePtr& p)
s = "tns:" + internalId + scopeId + en->name() + "Type";
}
+ SequencePtr sq = SequencePtr::dynamicCast(p);
+ if (sq)
+ {
+ string scopeId = containedToId(sq);
+ s = "tns:" + internalId + scopeId + sq->name() + "Type";
+ }
+
+ DictionaryPtr di = DictionaryPtr::dynamicCast(p);
+ if (di)
+ {
+ string scopeId = containedToId(di);
+ s = "tns:" + internalId + scopeId + di->name() + "Type";
+ }
+
return s;
}