private void ParseInterface(URTNamespace parsingNamespace)
{
Util.Log("SdlParser.ParseInterface");
String intfName = LookupAttribute(s_nameString, null, true);
URTInterface parsingInterface = parsingNamespace.LookupInterface(intfName);
if (parsingInterface == null)
{
parsingInterface = new URTInterface(intfName, parsingNamespace.Namespace, parsingNamespace.EncodedNS);
parsingNamespace.AddInterface(parsingInterface);
}
int curDepth = _XMLReader.Depth;
ReadNextXmlElement();
while(_XMLReader.Depth > curDepth)
{
if(MatchingNamespace(s_sudsNamespaceString))
{
String elmName = _XMLReader.LocalName;
if(MatchingStrings(elmName, s_extendsString))
{
String nameValue = LookupAttribute(s_nameString, null, true);
String nameValueNS = ParseQName(ref nameValue);
parsingInterface.Extends(nameValue, nameValueNS, this);
ReadNextXmlElement();
continue;
}
else if(MatchingStrings(elmName, s_requestResponseString))
{
ParseRRMethod(null, parsingInterface);
continue;
}
else if(MatchingStrings(elmName, s_onewayString))
{
ParseOnewayMethod(null, parsingInterface);
continue;
}
}
// Ignore others elements such as annotations
SkipXmlElement();
}
return;
}