Esempio n. 1
0
        ///////////////////////////////////////////////////////////////////////

        #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);
        }
Esempio n. 2
0
        ///////////////////////////////////////////////////////////////////////

        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);
        }