StoryFragment StoryFragment StoryFragment StoryFragment Class

Definizione

Rappresenta tutto o parte di una storia all'interno di un documento XPS.Represents all or part of a story within an XPS document.

public ref class StoryFragment : System::Collections::Generic::IEnumerable<System::Windows::Documents::DocumentStructures::BlockElement ^>, System::Windows::Markup::IAddChild
[System.Windows.Markup.ContentProperty("BlockElementList")]
public class StoryFragment : System.Collections.Generic.IEnumerable<System.Windows.Documents.DocumentStructures.BlockElement>, System.Windows.Markup.IAddChild
type StoryFragment = class
    interface IAddChild
    interface seq<BlockElement>
    interface IEnumerable
Public Class StoryFragment
Implements IAddChild, IEnumerable(Of BlockElement)
Ereditarietà
StoryFragmentStoryFragmentStoryFragmentStoryFragment
Attributi
Implementazioni

Esempi

L'esempio seguente mostra le <StoryFragment> fa parte di un XML Paper Specification (XPS)XML Paper Specification (XPS) documento.The following example shows the <StoryFragment> part of an XML Paper Specification (XPS)XML Paper Specification (XPS) document.

<StoryFragment StoryName="DocumentBody" FragmentType="Content">
  <SectionStructure>
    <ParagraphStructure>
      <NamedElement NameReference="Pg1Heading1" />
    </ParagraphStructure>

    <ParagraphStructure>
      <NamedElement NameReference="Pg1P1" />
    </ParagraphStructure>

    <ParagraphStructure>
      <NamedElement NameReference="Pg1P2" />
    </ParagraphStructure>

    <ParagraphStructure>
      <NamedElement NameReference="Pg1P3" />
    </ParagraphStructure>

    <ParagraphStructure>
      <NamedElement NameReference="Pg1P4" />
    </ParagraphStructure>

    <ParagraphStructure>
      <NamedElement NameReference="Pg1P5" />
    </ParagraphStructure>

    <ParagraphStructure>
      <NamedElement NameReference="Pg1Heading2" />
    </ParagraphStructure>

    <ParagraphStructure>
      <NamedElement NameReference="Pg1P6" />
    </ParagraphStructure>

    <ParagraphStructure>
      <NamedElement NameReference="Pg1P7" />
    </ParagraphStructure>

    <TableStructure>
      <TableRowGroupStructure>

        <TableRowStructure>
          <TableCellStructure>
            <ParagraphStructure>
              <NamedElement NameReference="R1C1P1" />
            </ParagraphStructure>
          </TableCellStructure>
          <TableCellStructure>
            <ParagraphStructure>
              <NamedElement NameReference="R1C2P1" />
            </ParagraphStructure>
          </TableCellStructure>
        </TableRowStructure>

        <TableRowStructure>
          <TableCellStructure>
            <ParagraphStructure>
              <NamedElement NameReference="R2C1P1" />
            </ParagraphStructure>
          </TableCellStructure>
          <TableCellStructure>
            <ParagraphStructure>
              <NamedElement NameReference="R2C2P1" />
            </ParagraphStructure>
            <ParagraphStructure>
              <NamedElement NameReference="R2C2P2" />
            </ParagraphStructure>
          </TableCellStructure>
        </TableRowStructure>

        <TableRowStructure>
          <TableCellStructure>
            <ParagraphStructure>
              <NamedElement NameReference="R3C1P1" />
            </ParagraphStructure>
          </TableCellStructure>
          <TableCellStructure>
            <ParagraphStructure>
              <NamedElement NameReference="R3C2P1" />
            </ParagraphStructure>
          </TableCellStructure>
        </TableRowStructure>

        <TableRowStructure>
          <TableCellStructure>
            <ParagraphStructure>
              <NamedElement NameReference="R4C1P1" />
            </ParagraphStructure>
          </TableCellStructure>
          <TableCellStructure>
            <ParagraphStructure>
              <NamedElement NameReference="R4C2P1" />
            </ParagraphStructure>
          </TableCellStructure>
        </TableRowStructure>

        <TableRowStructure>
          <TableCellStructure>
            <ParagraphStructure>
              <NamedElement NameReference="R5C1P1" />
            </ParagraphStructure>
          </TableCellStructure>
          <TableCellStructure>
            <ParagraphStructure>
              <NamedElement NameReference="R5C2P1" />
            </ParagraphStructure>
          </TableCellStructure>
        </TableRowStructure>

      </TableRowGroupStructure>
    </TableStructure>
  </SectionStructure>
</StoryFragment>

Commenti

Una storia XPS in un XPSXPS documento è quasi equivalente a una storia in un giornale o magazine.An XPS story in an XPSXPS document is roughly analogous to a story in a newspaper or magazine. Si tratta di un brano di testo e contenuto grafico, in genere su un singolo argomento, in un'unica XPSXPS documento.It is a passage of text and graphic content, usually on a single topic, within a single XPSXPS document. In genere, estende su più pagine, ma può essere inferiore a una pagina simile a un'intestazione laterale - boxed storia - nella rivista.Typically, it spans multiple pages, but it can be shorter than a page like a sidebar - boxed story - in a magazine. Una storia può anche essere discontinua, ad esempio una storia di giornale homepage che continua a pagina 4.A story can also be discontinuous like a front page newspaper story that is continued on page 4. Di conseguenza, una determinata pagina può avere più di una storia e parti di più di una storia.Consequently, a given page can have more than one story and parts of more than one story. Un'intestazione o piè di pagina è anche un tipo speciale di storia che è interamente contenuta in una singola pagina.A header or footer is also a special kind of story that is entirely contained on a single page.

Oggetto StoryFragment rappresenta tutto o parte di una storia.A StoryFragment represents all or a portion of a story. Non si può estendere mai più di una pagina, ma può occupare l'intera di una pagina o condividere una pagina con altri frammenti.It can never span more than one page, but it can occupy the whole of a page or share a page with other fragments. Se una storia più di una pagina, ogni parte di esso in ogni pagina è un frammento separato.If a story is on more than one page, each part of it on each page is a separate fragment. Sebbene le storie possono avere discontinue di frammenti, alcun frammento non può essere discontinuo.Although stories can have discontinuous sets of fragments, no fragment can itself be discontinuous.

Solo un StoryFragments elemento può essere un elemento padre di un StoryFragment.Only a StoryFragments element can be a parent of a StoryFragment. Il percorso dei StoryBreak elementi all'interno di un StoryFragment indica se la storia è contenuta in più frammenti, e se i frammenti aggiuntivi precedono o seguono il frammento corrente.The location of the StoryBreak elements within a StoryFragment indicates if the story is contained in multiple fragments, and if the additional fragments either precede or follow the current fragment.

Quando un StoryFragment termina all'interno di un elemento strutturale; ad esempio un <TableRowGroupStructure>, quindi XPSXPS applicazioni alla produzione di documento necessario inserire un tag di fine appropriate per l'elemento (in questo caso </TableRowGroupStructure>) prima di </StoryFragment> tag, anche anche se la struttura in corso continua in un frammento successive.When a StoryFragment ends in the middle of some structural element; say a <TableRowGroupStructure>, then XPSXPS document-producing applications must insert an appropriate end tag for the element (in this case </TableRowGroupStructure>) before the </StoryFragment> tag, even though the structure is being continued in a later fragment. (Questa operazione è necessaria garantire che l'albero degli elementi all'interno di StoryFragment è un XML valido.) Il frammento che prosegue la storia deve iniziare con un tag di apertura per la struttura interrotta.(This is necessary to ensure that the element tree within the StoryFragment is valid XML.) The fragment that continues the story must begin with an opening tag for the interrupted structure. L'intero albero di strutture interrotte deve essere trattato allo stesso modo (con un'eccezione, illustrato di seguito): Per ogni tag di inizio non corrispondenti di sopra il punto di interruzione, è necessario aggiungere i tag di fine.The entire tree of interrupted structures must be treated the same way (with one exception, discussed below): End tags must be added for every unmatched start tag above the point of interruption.

L'eccezione si applica quando l'interruzione del brano ha luogo immediatamente dopo una </TableCellStructure> applicare un tag, quindi l'applicazione di produzione è necessario inserire una struttura di cella vuota nella tabella (<TableCellStructure></TableCellStructure>) nel punto corrispondente nel frammento che prosegue la storia.The exception applies when the story interruption comes immediately after a </TableCellStructure> tag, then the producing application must insert an empty table cell structure (<TableCellStructure></TableCellStructure>) at the corresponding point in the fragment that continues the story. Questa operazione è necessaria affinché dispendiosa in termini di applicazioni che devono unire tutti i frammenti di una determinata storia possono usare un semplice algoritmo per eseguire questa operazione.This is necessary so that consuming applications that need to merge all fragments of a given story can use a simple algorithm to do this.

Si supponga, ad esempio, che un'applicazione vuole aggiungere il seguente materiale a un XPSXPS documento:Assume, for example, that an application wanted to add the following material to an XPSXPS document:

<SectionStructure>  
   <TableStructure>  
      <TableRowGroupStructure>  
         <TableRowStructure>  
            <TableCellStructure>  
               <ParagraphStructure>  
                  <NamedElement NameReference="SomeContent" />  
               </ParagraphStructure>  
            </TableCellStructure>  
            <TableCellStructure>  
               <ParagraphStructure>  
                  <NamedElement NameReference="MoreContent" />  
               </ParagraphStructure>  
            </TableCellStructure>  
         </TableRowStructure>  
         <TableRowStructure>  
            <TableCellStructure>  
               <ParagraphStructure>  
                  <NamedElement NameReference="EvenMoreContent" />  
               </ParagraphStructure>  
            </TableCellStructure>  
            <TableCellStructure>  
               <ParagraphStructure>  
                  <NamedElement NameReference="LastContent" />  
               </ParagraphStructure>  
            </TableCellStructure>  
         </TableRowStructure>  
      </TableRowGroupStructure>  
   </TableStructure>  
</SectionStructure>  

Se un'interruzione di pagina forza la fine della porzione di subito dopo il </TableCellStructure> per "DelContenuto", l'applicazione deve creare la suddivisione come illustrato nell'esempio seguente:If a page break forces an end to the fragment just after the </TableCellStructure> for "SomeContent", the application must create the split as shown in the following example:

<StoryFragment StoryName="MyStory" FragmentType="Content">  
 <SectionStructure>  
    <TableStructure>  
       <TableRowGroupStructure>  
          <TableRowStructure>  
             <TableCellStructure>  
                <ParagraphStructure>  
                   <NamedElement NameReference="SomeContent" />  
                </ParagraphStructure>   
             </TableCellStructure>  
<!-- lines from here to end of fragment added by producer-->  
          </TableRowStructure>  
       </TableRowGroupStructure>  
    </TableStructure>  
 </SectionStructure>  
</StoryFragment>  

<StoryFragment StoryName="MyStory" FragmentType="Content">  
 <SectionStructure>  
    <TableStructure>  
       <TableRowGroupStructure>  
          <TableRowStructure>  
             <TableCellStructure>   
              <!-- extra cell added by producer-->  
             </TableCellStructure>  
<!-- lines from here to start of fragment added by producer-->  
             <TableCellStructure>  
                <ParagraphStructure>  
                   <NamedElement NameReference="MoreContent" />  
                </ParagraphStructure>  
             </TableCellStructure>  
          </TableRowStructure>  
          <TableRowStructure>  
             <TableCellStructure>  
                <ParagraphStructure>  
                   <NamedElement NameReference="EvenMoreContent" />  
                </ParagraphStructure>  
             </TableCellStructure>  
             <TableCellStructure>  
                <ParagraphStructure>  
                   <NamedElement NameReference="LastContent" />  
                </ParagraphStructure>  
             </TableCellStructure>  
          </TableRowStructure>  
       </TableRowGroupStructure>  
    </TableStructure>  
 </SectionStructure>  
</StoryFragment>  

Un'applicazione che legge il documento potrebbe essere necessario unire il contenuto.An application that reads the document might need to merge this content. Si consideri, ad esempio, un visualizzatore XPS con un' copia tutto negli Appunti pulsante; o un' stored procedure estese per the Blind applicazione passato storie a un sintetizzatore vocale.Consider, for example, an XPS viewer with a Copy Whole Story to Clipboard button; or an XPS for the Blind application that passed stories to a voice synthesizer. Alcune applicazioni che leggono il documento potrebbe essere necessario eseguire il merge di un subset dei frammenti di una storia.Some applications that read the document may need to merge a subset of the fragments of a story. Ad esempio, una funzionalità che consente di copiare un intero paragrafo negli Appunti facendo triple-necessario eseguire un'unione nell'indice ogni volta che il paragrafo occupate un'interruzione di pagina, perché questo tipo di un paragrafo viene suddiviso tra due StoryFragments.For example, a feature that copies a whole paragraph to the clipboard by triple-clicking it would need to do a merge whenever the paragraph spanned a page break, because such a paragraph would be split between two StoryFragments.

Di tipo merge utilizza questo algoritmo:To merge use this algorithm:

  1. Eliminare il </StoryFragment> dalla fine del primo frammento da unire ed eliminare il <StoryFragment> dall'inizio del secondo.Delete the </StoryFragment> from the end of the first fragment to be merged and delete the <StoryFragment> from the beginning of the second.

  2. Se l'ultimo tag di chiusura del primo frammento è dello stesso tipo del secondo frammento come tag di apertura prima (e non sono <NamedElement> tag), eliminare entrambi.If the last closing tag of the first fragment is of the same type as the first opening tag of the second fragment (and they are not <NamedElement> tags), delete them both.

  3. Ripetere il passaggio 2 fino a quando non inclusi tra i due frammenti entrambi di questi stati:Repeat step 2 until the two fragments are in either of these states:

    • Non è più una corrispondenza di tipo tra l'ultimo tag di fine del frammento il primo tag di inizio del frammento finale iniziale.There is no longer a type match between the last end tag of the leading fragment the first start tag of the trailing fragment.

    • L'ultimo tag di fine del iniziale frammento il primo tag di inizio del frammento finale sono entrambi <NamedElement> tag.The last end tag of the leading fragment the first start tag of the trailing fragment are both <NamedElement> tags.

Nell'esempio precedente, se la cella vuota non è stato aggiunto dall'applicazione di produzione, quindi una fusione dei frammenti produrrà una tabella cui prima riga ha solo una cella che contiene entrambi i riferimenti "DelContenuto" e "PiùContenuto" anziché l'originale prima di tutto righe con due celle, ognuno dei quali contiene un solo riferimentoIn the example above, if the empty cell had not been added by the producing application, then a merger of the fragments would produce a table whose first row had only one cell containing both the "SomeContent" and "MoreContent" references instead of the original first row with two cells, each containing a single reference

Quando sottoposto a merge l'intero brano, l'algoritmo deve essere ripetuto per ogni frammento successivi che fa parte della stessa storia.When the entire story is being merged, the algorithm should be repeated for each subsequent fragment that is part of the same story. I frammenti che appartengono a una storia sono indicizzati nel <Story> elemento.The fragments that belong to a story are indexed in the <Story> element. Vedere la sezione 9.1.15 della XML Paper Specification (XPS)XML Paper Specification (XPS) specifica che è possibile ottenere in stored procedure estese: Download di licenza e specifica.See section 9.1.15 of the XML Paper Specification (XPS)XML Paper Specification (XPS) specification which you can obtain at XPS: Specification and License Downloads. L'ultimo frammento per una determinata storia avrà un StoryBreak elemento come ultimo figlio.The last fragment for a given story will have a StoryBreak element as its last child.

Costruttori

StoryFragment() StoryFragment() StoryFragment() StoryFragment()

Inizializza una nuova istanza della classe StoryFragment.Initializes a new instance of the StoryFragment class.

Proprietà

FragmentName FragmentName FragmentName FragmentName

Ottiene o imposta il nome del frammento del brano.Gets or sets the name of the story fragment.

FragmentType FragmentType FragmentType FragmentType

Ottiene o imposta il tipo di frammento.Gets or sets the type of fragment.

StoryName StoryName StoryName StoryName

Ottiene o imposta il nome del brano.Gets or sets the name of the story.

Metodi

Add(BlockElement) Add(BlockElement) Add(BlockElement) Add(BlockElement)

Aggiunge un blocco al frammento di blocco di contenuto.Add a block to the story fragment.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

IAddChild.AddChild(Object) IAddChild.AddChild(Object) IAddChild.AddChild(Object) IAddChild.AddChild(Object)

Questo membro supporta l'infrastruttura .NET Framework e non è possibile usarlo direttamente dal codice.This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

IAddChild.AddText(String) IAddChild.AddText(String) IAddChild.AddText(String) IAddChild.AddText(String)

Aggiunge il contenuto di testo di un nodo all'oggetto.Adds the text content of a node to the object.

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Questo metodo non è stato implementato.This method has not been implemented.

IEnumerable<BlockElement>.GetEnumerator() IEnumerable<BlockElement>.GetEnumerator() IEnumerable<BlockElement>.GetEnumerator() IEnumerable<BlockElement>.GetEnumerator()

Questo metodo non è stato implementato.This method has not been implemented.

Metodi di estensione

CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>)

Restituisce un oggetto DataTable che contiene copie degli oggetti DataRow, dato un oggetto IEnumerable<T> di input dove il parametro generico DataRow è T.Returns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Copia gli oggetti DataRow nell'oggetto DataTable specificato, dato un oggetto IEnumerable<T> di input dove il parametro generico T è DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Copia gli oggetti DataRow nell'oggetto DataTable specificato, dato un oggetto IEnumerable<T> di input dove il parametro generico T è DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Consente la parallelizzazione di una query.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.Converts an IEnumerable to an IQueryable.

Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>)

Restituisce una raccolta di elementi che contiene i predecessori di ciascun nodo nella raccolta di origine.Returns a collection of elements that contains the ancestors of every node in the source collection.

Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName)

Restituisce una raccolta di elementi filtrati che contiene i predecessori di ciascun nodo nella raccolta di origine.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Solo gli elementi che hanno un oggetto XName corrispondente vengono inclusi nella raccolta.Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>)

Restituisce una raccolta di nodi discendenti di ciascun documento ed elemento nella raccolta di origine.Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>)

Restituisce una raccolta di elementi che contiene gli elementi discendenti di ciascun elemento e documento nella raccolta di origine.Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName)

Restituisce una raccolta filtrata di elementi che contiene gli elementi discendenti di ciascun elemento e documento nella raccolta di origine.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Solo gli elementi che hanno un oggetto XName corrispondente vengono inclusi nella raccolta.Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>)

Restituisce una raccolta di elementi figlio di ciascun elemento e documento nella raccolta di origine.Returns a collection of the child elements of every element and document in the source collection.

Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName)

Restituisce una raccolta filtrata degli elementi figlio di ciascun elemento e documento nella raccolta di origine.Returns a filtered collection of the child elements of every element and document in the source collection. Solo gli elementi che hanno un oggetto XName corrispondente vengono inclusi nella raccolta.Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>)

Restituisce una raccolta di nodi che contiene tutti i nodi nella raccolta di origine ordinati in base all'ordine con cui sono riportati nel documento.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>)

Restituisce una raccolta di nodi figlio di ciascun documento ed elemento nella raccolta di origine.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>)

Rimuove ciascun nodo nella raccolta di origine dal nodo padre.Removes every node in the source collection from its parent node.

Si applica a

Vedi anche