public QNameValue(string prefix, string localName, string ns, XmlNameTable nameTable)
{
if (prefix == null)
throw new NullReferenceException("prefix");
if (localName == null)
throw new NullReferenceException("localName");
if (ns == null)
throw new NullReferenceException("ns");
if (nameTable == null)
throw new NullReferenceException("nameTable");
if (prefix != "" && ns == "")
throw new XQueryException(Properties.Resources.FOCA0002,
String.Format("{0}:{1}", prefix, localName));
try
{
localName = XmlConvert.VerifyNCName(localName);
}
catch(XmlException)
{
throw new XQueryException(Properties.Resources.FORG0001, localName, "xs:QName");
}
Prefix = nameTable.Add(prefix);
LocalName = nameTable.Add(localName);
NamespaceUri = nameTable.Add(ns);
}