internal Decoder SniffEncoding()
{
Decoder decoder = null;
if (SniffPattern("<?xml"))
{
string version = SniffAttribute("version");
if (version != null)
{
string encoding = SniffAttribute("encoding");
if (encoding != null)
{
try
{
Encoding enc = Encoding.GetEncoding(encoding);
if (enc != null)
{
this.m_encoding = enc;
return enc.GetDecoder();
}
}
catch (ArgumentException)
{
// oh well then.
}
}
SniffTerminator(">");
}
}
if (decoder == null) {
return SniffMeta();
}
return null;
}