Esempio n. 1
0
        public WebResponse GetResource(Uri absoluteUri)
        {
            WebRequest  request  = new ExtendedHttpWebRequest(absoluteUri);
            WebResponse response = request.GetResponse();

            return(response);
        }
Esempio n. 2
0
        internal void LoadSheet()
        {
            var absoluteUri = this.AbsoluteHref;

            if (absoluteUri == null)
            {
                return;
            }
            if (absoluteUri.IsFile)
            {
                try
                {
                    _succeededDownload = true;
                    StreamReader str = new StreamReader(absoluteUri.LocalPath, Encoding.Default, true);
                    _sheetContent = str.ReadToEnd();
                    str.Close();
                }
                catch
                {
                    _succeededDownload = false;
                    _sheetContent      = string.Empty;
                }
            }
            else
            {
                WebRequest request = new ExtendedHttpWebRequest(AbsoluteHref);
                _triedDownload = true;
                try
                {
                    WebResponse response = request.GetResponse();

                    _succeededDownload = true;
                    StreamReader str = new StreamReader(response.GetResponseStream(), Encoding.Default, true);
                    _sheetContent = str.ReadToEnd();
                    str.Close();
                }
                catch
                {
                    _succeededDownload = false;
                    _sheetContent      = string.Empty;
                }
            }
        }
Esempio n. 3
0
        internal void LoadSheet()
        {
            //WebRequest request = (WebRequest)WebRequest.Create(AbsoluteHref);
            WebRequest request = new ExtendedHttpWebRequest(AbsoluteHref);

            _triedDownload = true;
            try
            {
                WebResponse response = request.GetResponse();

                _succeededDownload = true;
                StreamReader str = new StreamReader(response.GetResponseStream(), Encoding.Default, true);
                _sheetContent = str.ReadToEnd();
                str.Close();
            }
            catch
            {
                _succeededDownload = false;
                _sheetContent      = string.Empty;
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Collect the text in all script elements, build engine and execute.
        /// </summary>
        private void ExecuteScripts()
        {
            Hashtable codeByMimeType = new Hashtable();
            StringBuilder codeBuilder;
            SvgDocument document = (SvgDocument)window.Document;

            XmlNodeList scripts = document.GetElementsByTagName("script", SvgDocument.SvgNamespace);
            StringBuilder code  = new StringBuilder();

            foreach (XmlElement script in scripts)
            {
                string type = script.GetAttribute("type");

                if (GetScriptEngineByMimeType(type) != null)
                {
                    // make sure we have a StringBuilder for this MIME type
                    if (!codeByMimeType.Contains(type))
                    {
                        codeByMimeType[type] = new StringBuilder();
                    }

                    // grab this MIME type's codeBuilder
                    codeBuilder = (StringBuilder)codeByMimeType[type];

                    if (script.HasChildNodes)
                    {
                        // process each child that is text node or a CDATA section
                        foreach (XmlNode node in script.ChildNodes)
                        {
                            if (node.NodeType == XmlNodeType.CDATA || node.NodeType == XmlNodeType.Text)
                            {
                                codeBuilder.Append(node.Value);
                            }
                        }
                    }

                    if (script.HasAttribute("href", "http://www.w3.org/1999/xlink"))
                    {
                        string href = script.GetAttribute("href", "http://www.w3.org/1999/xlink");
                        Uri baseUri = new Uri(((XmlDocument)((ISvgWindow)window).Document).BaseURI);
                        Uri hUri    = new Uri(baseUri, href);
                        ExtendedHttpWebRequestCreator creator = new ExtendedHttpWebRequestCreator();
                        ExtendedHttpWebRequest request        = (ExtendedHttpWebRequest)creator.Create(hUri);
                        ExtendedHttpWebResponse response      = (ExtendedHttpWebResponse)request.GetResponse();
                        Stream rs       = response.GetResponseStream();
                        StreamReader sr = new StreamReader(rs);
                        codeBuilder.Append(sr.ReadToEnd());
                        rs.Close();
                    }
                }
            }

            // execute code for all script engines
            foreach (string mimeType in codeByMimeType.Keys)
            {
                codeBuilder = (StringBuilder)codeByMimeType[mimeType];

                if (codeBuilder.Length > 0)
                {
                    ScriptEngine engine = GetScriptEngineByMimeType(mimeType);
                    engine.Execute(codeBuilder.ToString());
                }
            }

            // load the root element
            ((ISvgWindow)window).Document.RootElement.DispatchEvent(new Event("SVGLoad", false, true));
        }