Ejemplo n.º 1
0
        public override Tag CreateTag(TagData tagData, CompositeTagData compositeTagData)
        {
            string link     = ExtractLink(compositeTagData.StartTag, tagData.UrlBeingParsed);
            int    mailto   = link.IndexOf("mailto");
            bool   mailLink = false;

            if (mailto == 0)
            {
                // yes it is
                mailto   = link.IndexOf(":");
                link     = link.Substring(mailto + 1);
                mailLink = true;
            }
            int  javascript     = link.IndexOf("javascript:");
            bool javascriptLink = false;

            if (javascript == 0)
            {
                link           = link.Substring(11); // this magic number is "javascript:".length()
                javascriptLink = true;
            }
            string accessKey  = GetAccessKey(compositeTagData.StartTag);
            string myLinkText = compositeTagData.Children.ToString();

            LinkTag linkTag = new LinkTag(tagData, compositeTagData,
                                          new LinkData(link, myLinkText, accessKey, mailLink, javascriptLink));

            linkTag.ThisScanner = this;
            return(linkTag);
        }
 /// <summary> Constructor takes in tagData, compositeTagData
 /// </summary>
 /// <param name="">tagData
 /// </param>
 /// <param name="">compositeTagData
 ///
 /// </param>
 public FormTag(TagData tagData, CompositeTagData compositeTagData) : base(tagData, compositeTagData)
 {
     this.formURL       = compositeTagData.StartTag["ACTION"];
     this.formName      = compositeTagData.StartTag["NAME"];
     this.formMethod    = compositeTagData.StartTag["METHOD"];
     this.formInputList = compositeTagData.Children.SearchFor(typeof(InputTag));
 }
Ejemplo n.º 3
0
 /// <summary> Constructor creates a LinkTag object, which basically stores the location
 /// where the link points to, and the text it contains.
 /// <p>
 /// In order to get the contents of the link tag, use foreach (... this).
 /// <p>
 /// The following code will get all the images inside a link tag.
 /// <pre>
 /// ImageTag imageTag;
 /// foreach (Node node in linkTag.LinkData()) {
 /// if (node instanceof ImageTag) {
 /// imageTag = (ImageTag)node;
 /// // Process imageTag
 /// }
 /// }
 /// </pre>
 /// There is another mechanism available that allows for uniform extraction of images. You could do this to
 /// get all images from a web page :
 /// <pre>
 /// Vector imageCollectionVector = new Vector();
 /// foreach (Node node in parser) {
 ///     node.CollectInto(imageCollectionVector,ImageTag.IMAGE_FILTER);
 /// }
 /// </pre>
 /// The link tag processes all its contents in CollectInto().
 /// </summary>
 /// <param name="tagData">The data relating to the tag.
 /// </param>
 /// <param name="compositeTagData">The data regarding the composite structure of the tag.
 /// </param>
 /// <param name="linkData">The data specific to the link tag.
 /// </param>
 /// <seealso cref="">#linkData()
 ///
 /// </seealso>
 public LinkTag(TagData tagData, CompositeTagData compositeTagData, LinkData linkData)
     : base(tagData, compositeTagData)
 {
     this.link           = linkData.Link;
     this.linkText       = linkData.LinkText;
     this.accessKey      = linkData.AccessKey;
     this.mailLink       = linkData.MailLink;
     this.javascriptLink = linkData.JavascriptLink;
 }
        public override Tag CreateTag(TagData tagData, CompositeTagData compositeTagData)
        {
            string formUrl = ExtractFormLocn(compositeTagData.StartTag, tagData.UrlBeingParsed);

            if (formUrl != null && formUrl.Length > 0)
            {
                compositeTagData.StartTag["ACTION"] = formUrl;
            }
            if (!(stack.Count == 0) && (this == stack.Peek()))
            {
                stack.Pop();
            }
            return(new FormTag(tagData, compositeTagData));
        }
 /// <summary> You must override this method to create the tag of your choice upon successful parsing. Data required
 /// for construction of your tag can be found within tagData and compositeTagData
 /// </summary>
 public abstract Tag CreateTag(TagData tagData, CompositeTagData compositeTagData);
Ejemplo n.º 6
0
 public Bullet(TagData tagData, CompositeTagData compositeTagData) : base(tagData, compositeTagData)
 {
 }
Ejemplo n.º 7
0
 public Div(TagData tagData, CompositeTagData compositeTagData) : base(tagData, compositeTagData)
 {
 }
Ejemplo n.º 8
0
 public CompositeTag(TagData tagData, CompositeTagData compositeTagData) : base(tagData)
 {
     this.childTags = compositeTagData.Children;
     this.startTag  = compositeTagData.StartTag;
     this.endTag    = compositeTagData.EndTag;
 }
 public TitleTag(TagData tagData, CompositeTagData compositeTagData) : base(tagData, compositeTagData)
 {
 }
Ejemplo n.º 10
0
 public Html(TagData tagData, CompositeTagData compositeTagData) : base(tagData, compositeTagData)
 {
 }
 public CustomTag(TagData tagData, CompositeTagData compositeTagData) : base(tagData, compositeTagData)
 {
     this.tagData = tagData;
 }
 public override Tag CreateTag(TagData tagData, CompositeTagData compositeTagData)
 {
     return(new AnotherTag(tagData, compositeTagData));
 }
 public override Tag CreateTag(TagData tagData, CompositeTagData compositeTagData)
 {
     return(null);
 }
Ejemplo n.º 14
0
 public HeadTag(TagData tagData, CompositeTagData compositeTagData) : base(tagData, compositeTagData)
 {
 }
 public override Tag CreateTag(TagData tagData, CompositeTagData compositeTagData)
 {
     return(new BulletList(tagData, compositeTagData));
 }
 public AnotherTag(TagData tagData, CompositeTagData compositeTagData) : base(tagData, compositeTagData)
 {
 }
 public override Tag CreateTag(TagData tagData, CompositeTagData compositeTagData)
 {
     Enclosing_Instance.url = tagData.UrlBeingParsed;
     return(base.CreateTag(tagData, compositeTagData));
 }
 public override Tag CreateTag(TagData tagData, CompositeTagData compositeTagData)
 {
     return(new Html(tagData, compositeTagData));
 }
Ejemplo n.º 19
0
 public BodyTag(TagData tagData, CompositeTagData compositeTagData) : base(tagData, compositeTagData)
 {
 }