private void processSimpleType(XmlNode simpleTypeNode)
{
ClassBuilder cb = new ClassBuilder();
XmlNodeList children = simpleTypeNode.ChildNodes;
foreach (XmlNode child in children)
{
cb.Name = simpleTypeNode.Attributes["name"].Value.Replace("cs:", "");
if (child.Name.Equals("xs:annotation"))
{
XmlNode docmentation = getChild("xs:documentation", child);
if (docmentation != null)
{
cb.Description = docmentation.Value;
}
}
else if (child.Name.Equals("xs:restriction"))
{
XmlAttribute base_ = child.Attributes["base"];
if (base_ != null)
{
cb.Base_ = base_.Value.Replace("cs:", "");
}
XmlNode pattern = getChild("xs:pattern", child);
if (pattern != null)
{
cb.RegExp = pattern.Attributes["value"].Value;
}
}
else if (child.Name.Equals("xs:list"))
{
}
else if (child.Name.Equals("xs:union"))
{
XmlNodeList gcs = child.ChildNodes;
foreach (XmlNode gc in gcs)
{
if (gc.Name.Equals("xs:simpleType"))
{
processSimpleType(gc);
}
}
}
else if (child.Name.Equals("xs:enumeration"))
{
cb.addEnumeration(child.Attributes["value"].Value);
}
else
{
}
}
Console.WriteLine(cb.writeClass());
}