/////////////////////////////////////////////////////////////////////// #region Xml Script Block Methods #region Private Xml Script Block Methods private static ReturnCode GetSchemaStream( string schemaXml, ref Stream stream, ref Result error ) { try { Encoding encoding = StringOps.GetEncoding( EncodingType.Default); if (encoding == null) { error = "invalid encoding"; return(ReturnCode.Error); } stream = new MemoryStream(encoding.GetBytes(schemaXml)); return(ReturnCode.Ok); } catch (Exception e) { error = e; } return(ReturnCode.Error); }
/////////////////////////////////////////////////////////////////////// public static ReturnCode GetEncoding( XmlDocument document, bool strict, ref Encoding encoding, ref Result error ) { if (document == null) { error = "invalid xml document"; return(ReturnCode.Error); } try { XmlDeclaration declaration = document.FirstChild as XmlDeclaration; if (declaration == null) { error = "invalid xml declaration"; return(ReturnCode.Error); } string encodingName = declaration.Encoding; if (!String.IsNullOrEmpty(encodingName)) { encoding = Encoding.GetEncoding(encodingName); /* throw */ return(ReturnCode.Ok); } else if (strict) { error = "invalid encoding name"; } else { encoding = StringOps.GetEncoding(EncodingType.Default); return(ReturnCode.Ok); } } catch (Exception e) { error = e; } return(ReturnCode.Error); }