private QilName ParseQNameAttribute(int attNum)
{
bool required = _input.IsRequiredAttribute(attNum);
QilName result = null;
if (!required)
{
_compiler.EnterForwardsCompatible();
}
if (_input.MoveToXsltAttribute(attNum, "name"))
{
string prefix, localName, namespaceName;
if (ResolveQName(/*ignoreDefaultNs:*/true, _input.Value, out localName, out namespaceName, out prefix))
{
result = f.QName(localName, namespaceName, prefix);
}
}
if (!required)
{
_compiler.ExitForwardsCompatible(_input.ForwardCompatibility);
}
if (result == null && required)
{
result = f.QName(_compiler.PhantomNCName, _compiler.CreatePhantomNamespace(), _compiler.PhantomNCName);
}
return result;
}