Skip to content

Release v1.1.0

Compare
Choose a tag to compare
@beevik beevik released this 02 Feb 20:21
8aee651

New Features

  • New attribute helpers.
    • Added the Element.SortAttrs method, which lexicographically sorts an element's attributes by key.
  • New ReadSettings properties.
    • Added Entity for the support of custom entity maps.
  • New WriteSettings properties.
    • Added UseCRLF to allow the output of CR-LF newlines instead of the default LF newlines. This is useful on Windows systems.
  • Additional support for text and CDATA sections.
    • The Element.Text method now returns the concatenation of all consecutive character data tokens immediately following an element's opening tag.
    • Added Element.SetCData to replace the character data immediately following an element's opening tag with a CDATA section.
    • Added Element.CreateCData to create and add a CDATA section child CharData token to an element.
    • Added Element.CreateText to create and add a child text CharData token to an element.
    • Added NewCData to create a parentless CDATA section CharData token.
    • Added NewText to create a parentless text CharData token.
    • Added CharData.IsCData to detect if the token contains a CDATA section.
    • Added CharData.IsWhitespace to detect if the token contains whitespace inserted by one of the document Indent functions.
    • Modified Element.SetText so that it replaces a run of consecutive character data tokens following the element's opening tag (instead of just the first one).
  • New "tail text" support.
    • Added the Element.Tail method, which returns the text immediately following an element's closing tag.
    • Added the Element.SetTail method, which modifies the text immediately following an element's closing tag.
  • New element child insertion and removal methods.
    • Added the Element.InsertChildAt method, which inserts a new child token before the specified child token index.
    • Added the Element.RemoveChildAt method, which removes the child token at the specified child token index.
  • New element and attribute queries.
    • Added the Element.Index method, which returns the element's index within its parent element's child token list.
    • Added the Element.NamespaceURI method to return the namespace URI associated with an element.
    • Added the Attr.NamespaceURI method to return the namespace URI associated with an element.
    • Added the Attr.Element method to return the element that an attribute belongs to.
  • New Path filter functions.
    • Added [local-name()='val'] to keep elements whose unprefixed tag matches the desired value.
    • Added [name()='val'] to keep elements whose full tag matches the desired value.
    • Added [namespace-prefix()='val'] to keep elements whose namespace prefix matches the desired value.
    • Added [namespace-uri()='val'] to keep elements whose namespace URI matches the desired value.

Bug Fixes

  • A default XML CharSetReader is now used to prevent failed parsing of XML documents using certain encodings. (Issue).
  • All characters are now properly escaped according to XML parsing rules. (Issue).
  • The Document.Indent and Document.IndentTabs functions no longer insert empty string CharData tokens.

Deprecated

  • Element
    • The InsertChild method is deprecated. Use InsertChildAt instead.
    • The CreateCharData method is deprecated. Use CreateText instead.
  • CharData
    • The NewCharData method is deprecated. Use NewText instead.