skip navigation
  • Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • AI Coding Assistants
    • Embedded Reporting
    • Document Processing Libraries
    • SSO Account Sign-in

    Web

    Kendo UI UI for Angular UI for Vue UI for jQuery KendoReact UI for Blazor UI for ASP.NET Core UI for ASP.NET MVC UI for ASP.NET AJAX

    Mobile

    UI for .NET MAUI

    Document Management

    Telerik Document Processing

    Desktop

    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF

    Reporting

    Telerik Reporting Telerik Report Server

    Testing & Mocking

    Test Studio Telerik JustMock

    CMS

    Sitefinity

    AI Productivity Tools

    AI Coding Assistants

    UI/UX Tools

    ThemeBuilder Design System Kit Templates and Building Blocks

    Debugging

    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Everywhere Reporter FiddlerCore

    Free Tools

    KendoReact Free VB.NET to C# Converter Testing Framework
    View all products
  • Overview
  • Demos
    • What's New
    • Roadmap
    • Release History
  • Support and Learning

    • Support and Learning Hub
    • First Steps
    • Docs
    • Demos
    • Virtual Classroom
    • Forums
    • Videos
    • Blogs
    • Accessibility
    • Submit a Ticket

    Productivity and Design Tools

    • Visual Studio Extensions
    • Visual Studio Templates
    • Embedded Reporting
  • Pricing
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Downloads
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Interface IDocumentFragment

DocumentFragment
is a "lightweight" or "minimal"
Document
object. It is very common to want to be able to

extract a portion of a document's tree or to create a new fragment of a document. Imagine implementing a user command like cut or rearranging a document by moving fragments around. It is desirable to have an object which can hold such fragments and it is quite natural to use a Node for this purpose. While it is true that a

Document
object could fulfill this role, a
Document
object can potentially be a heavyweight object, depending on the underlying implementation. What is really needed for this is a very lightweight object.

DocumentFragment
is such an object.

Furthermore, various operations -- such as inserting nodes as children of another

Node
-- may take
DocumentFragment
objects as arguments; this results in all the child nodes of the
DocumentFragment
being moved to the child list of this node.

The children of a

DocumentFragment
node are zero or more nodes representing the tops of any sub-trees defining the structure of the document.
DocumentFragment
nodes do not need to be well-formed XML documents (although they do need to follow the rules imposed upon well-formed XML parsed entities, which can have multiple top nodes). For example, a
DocumentFragment
might have only one child and that child node could be a
Text
node. Such a structure model represents neither an HTML document nor a well-formed XML document.

When a

DocumentFragment
is inserted into a
Document
(or indeed any other
Node
that may take children) the children of the
DocumentFragment
and not the
DocumentFragment
itself are inserted into the
Node
. This makes the
DocumentFragment
very useful when the user wishes to create nodes that are siblings; the
DocumentFragment
acts as the parent of these nodes so that the user can use the standard methods from the
Node
interface, such as
insertBefore
and
appendChild
.

See also the Document Object Model (DOM) Level 2 Core Specification.

Inherited Members
INode.InsertBefore(INode, INode)
INode.ReplaceChild(INode, INode)
INode.RemoveChild(INode)
INode.AppendChild(INode)
INode.HasChildNodes()
INode.CloneNode(Boolean)
INode.Normalize()
INode.IsSupported(String, String)
INode.HasAttributes()
INode.NodeName
INode.NodeValue
INode.NodeType
INode.ParentNode
INode.ChildNodes
INode.FirstChild
INode.LastChild
INode.PreviousSibling
INode.NextSibling
INode.Attributes
INode.OwnerDocument
INode.NamespaceURI
INode.Prefix
INode.LocalName
Namespace: Telerik.WinForms.Documents.FormatProviders.Html.Parsing.Dom
Assembly: Telerik.WinControls.RichTextEditor.dll

Syntax

public interface IDocumentFragment : INode

Extension Methods

SvgExtentions.Traverse<T>(T, Func<T, IEnumerable<T>>)
SvgExtentions.TraverseDepthFirst<T>(T, Func<T, IEnumerable<T>>)
Getting Started
  • Install Now
  • Demos
  • Step-by-Step Tutorial
  • Sample Applications
  • SDK Samples
  • Visual Studio Extensions
Support Resources
  • Code Library
  • Knowledge Base
  • Videos
Community
  • Forums
  • Blogs
  • Feedback Portal
  • Document Processing Feedback Portal

Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.