private static string ParseNCName(string qname, ref int position) {
int qnameLength = qname.Length;
int nameStart = position;
XmlCharType xmlCharType = XmlCharType.Instance;
if (
qnameLength == position || // Zero length ncname
! xmlCharType.IsStartNCNameChar(qname[position]) // Start from invalid char
) {
throw XsltException.Create(Res.Xslt_InvalidQName, qname);
}
position ++;
while (position < qnameLength && xmlCharType.IsNCNameChar(qname[position])) {
position ++;
}
return qname.Substring(nameStart, position - nameStart);
}