| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- /**
- * Namespace: System.Web.UI.WebControls
- * Class: Xml
- *
- * Author: Gaurav Vaish
- * Maintainer: [email protected]
- * Contact: <[email protected]>, <[email protected]>
- * Implementation: yes
- * Status: 75%
- *
- * (C) Gaurav Vaish (2002)
- */
- using System;
- using System.Xml;
- using System.Xml.Xsl;
- using System.Xml.XPath;
- using System.Web;
- using System.Web.UI;
- namespace System.Web.UI.WebControls
- {
- public class Xml : Control
- {
- private XmlDocument document;
- private string documentContent;
- private string documentSource;
- private XslTransform transform;
- private XsltArgumentList transformArgumentList;
- private string transformSource;
-
- private XPathDocument xpathDoc;
-
- private static XslTransform defaultTransform;
-
- static Xml()
- {
- XmlTextReader reader = new StringReader("<xsl:stylesheet version='1.0' " +
- "xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>" +
- "<xsl:template match=\"\">" +
- "<xsl:copy-of select=\".\"/>" +
- "</xsl:template>" +
- "</xsl:stylesheet>");
- defaultTransform = new XslTransform();
- defaultTransform.Load(reader);
- }
-
- public Xml(): base()
- {
- }
-
- [MonoTODO("Initialize_Document")]
- private void LoadXmlDoc()
- {
- throw new NotImplementedException();
- }
-
- public XmlDocument Document
- {
- get
- {
- if(document == null)
- LoadXmlDoc();
- return document;
- }
- set
- {
- documentSource = null;
- documentContent = null;
- xpathDoc = null;
- document = value;
- }
- }
-
- public string DocumentContent
- {
- get
- {
- return String.Empty;
- }
- set
- {
- document = null;
- xpathDoc = null;
- documentContent = value;
- }
- }
-
- public string DocumentSource
- {
- get
- {
- if(documentSource != null)
- return documentSource;
- return String.Empty;
- }
- set
- {
- document = null;
- documentContent = null;
- xpathDoc = null;
- documentSource = value;
- }
- }
-
- public XslTransform Transform
- {
- get
- {
- return transform;
- }
- set
- {
- transformSource = null;
- transform = value;
- }
- }
-
- public string TransformSource
- {
- get
- {
- if(transformSource != null)
- return transformSource;
- return String.Empty;
- }
- set
- {
- transform = null
- transformSource = value;
- }
- }
-
- public XsltArgumentList TransformArgumentList
- {
- get
- {
- return transformArgumentList;
- }
- set
- {
- transformArgumentList = value;
- }
- }
-
- protected override void AddParsedSubObject(object obj)
- {
- if(obj is LiteralControl)
- {
- DocumentContent = ((LiteralContent)obj).Text;
- return;
- }
- throw new HttpException(HttpRuntime.FormatResourceString("Cannot_Have_Children_of_Type", "Xml", GetType().Name.ToString()));
- }
-
- [MonoTODO("Initialize_xpathDocument")]
- private void LoadXpathDoc()
- {
- if(documentContent != null && documentContent.Length > 0)
- {
- xpathDoc = new XPathDocument(new StringReader(documentContent));
- return;
- }
- if(documentSource == null || documentSource.Length == 0)
- {
- return;
- }
- throw new NotImplementedException();
- }
-
- [MonoTODO("Initialize_Transform")]
- private void LoadTransform()
- {
- throw new ArgumentException();
- }
-
- [MonoTODO]
- protected override void Render(HtmlTextWriter output)
- {
- if(document == null)
- {
- LoadXpathDoc();
- }
-
- LoadTransform();
- if(document == null || xpathDoc == null)
- {
- return;
- }
- if(transform == null)
- {
- transform = defaultTransform;
- }
- if(document != null)
- {
- Transform.Transform(document, transformArgumentList, output);
- return;
- }
- Transform.Transform(xpathDoc, transformArgumentList, output);
- }
- }
- }
|