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());
}