internal XmlSchemaParticle GetParticle(XmlSchemaComplexType ct)
{
if (ct.ContentModel != null)
{
if (ct.ContentModel is XmlSchemaComplexContent)
{
XmlSchemaAnnotated cContent = ((XmlSchemaComplexContent)(ct.ContentModel)).Content;
if (cContent is XmlSchemaComplexContentExtension)
{
return ((XmlSchemaComplexContentExtension)cContent).Particle;
}
else
{
Debug.Assert(cContent is XmlSchemaComplexContentRestriction, "Expected complexContent extension or restriction");
return ((XmlSchemaComplexContentRestriction)cContent).Particle;
}
}
else
{
Debug.Assert(ct.ContentModel is XmlSchemaSimpleContent, "expected simpleContent or complexContent");
return null;
}
}
else
{
return ct.Particle;
}
}