private static bool AddExternalLink( DocumentDefBuilder docBuilder, Uri externalLinkUrl, StringBuilder externalLinkDescription) { Contract.Requires(docBuilder != null); Contract.Requires(externalLinkUrl != null); string description = null; if (externalLinkDescription != null) { description = externalLinkDescription.ToString().Trim(); if (description.Length == 0) { description = null; } } ExternalLinkElement linkEl = new ExternalLinkElement(externalLinkUrl, description); docBuilder.AddToParagraph(linkEl); return(true); }
private void ProcessParagraphContents(ParagraphElement paragraphEl) { Contract.Requires(paragraphEl != null); foreach (IDocumentElement el in paragraphEl.Children) { TextElement textEl = el as TextElement; InternalLinkElement internalLinkEl = el as InternalLinkElement; ExternalLinkElement externalLinkEl = el as ExternalLinkElement; if (textEl != null) { ProcessTextElement(textEl); } else if (internalLinkEl != null) { ProcessInternalLinkElement(internalLinkEl); } else if (externalLinkEl != null) { ProcessExternalLinkElement(externalLinkEl); } else { throw new NotImplementedException("todo next:"); } } }
protected override void OnExternalLinkElement(ExternalLinkElement linkEl) { writer.AddAttribute(HtmlTextWriterAttribute.Href, linkEl.Url.ToString()); writer.RenderBeginTag(HtmlTextWriterTag.A); if (linkEl.LinkDescription != null) { writer.WriteEncodedText(linkEl.LinkDescription); } else { writer.Write(linkEl.Url); } writer.RenderEndTag(); }
private void ProcessExternalLinkElement(ExternalLinkElement linkEl) { Contract.Requires(linkEl != null); OnExternalLinkElement(linkEl); }
protected virtual void OnExternalLinkElement(ExternalLinkElement linkEl) { Contract.Requires(linkEl != null); }