RELEASE_NOTES

Release v1.1.0

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.

Release v1.0.1

Changes

  • Added support for absolute etree Path queries. An absolute path begins with

    / or // and begins its search from the element's document root.

  • Added GetPath

    and GetRelativePath

    functions to the Element

    type.

Breaking changes

  • A path starting with // is now interpreted as an absolute path.

    Previously, it was interpreted as a relative path starting from the element

    whose

    FindElement

    method was called. To remain compatible with this release, all paths

    prefixed with // should be prefixed with .// when called from any

    element other than the document's root.

  • [edit 2/1/2019]: Minor releases should not contain breaking changes.

    Even though this breaking change was very minor, it was a mistake to include

    it in this minor release. In the future, all breaking changes will be

    limited to major releases (e.g., version 2.0.0).

Release v1.0.0

Initial release.

Last updated