Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce equality comparers for OpenXmlElement #1476

Merged
merged 18 commits into from
Jul 9, 2023
Merged

Introduce equality comparers for OpenXmlElement #1476

merged 18 commits into from
Jul 9, 2023

Commits on Jun 29, 2023

  1. OpenXmlElement implements IEquatable

    Problem:
    The current way to determine equality for two OpenXmlElements seems to
    be x.OuterXml.Equals(y.OuterXml) (based on StackOverflow top answer).
    
    This performs horribly due to allocation of strings and XmlWriter.
    
    Solution:
    Make OpenXmlElement support quality via the IEquatable interface.
    
    Notes:
    For unparsed OpenXmlElement the order of the given XML element matters, this insn't the case for parsed ones. This both happens for child elements order and attributes.
    The order of ExtendedAttributes order always matters.
    Mads Gram committed Jun 29, 2023
    Configuration menu
    Copy the full SHA
    213bb72 View commit details
    Browse the repository at this point in the history
  2. Add equals benchmark

    Mads Gram committed Jun 29, 2023
    Configuration menu
    Copy the full SHA
    16d9dd5 View commit details
    Browse the repository at this point in the history
  3. Fix potential nullref and remove namespace.URI check until we know if…

    … it is valid
    Mads Gram committed Jun 29, 2023
    Configuration menu
    Copy the full SHA
    8d62cc1 View commit details
    Browse the repository at this point in the history
  4. Make tests account for parsed state.

    Mads Gram committed Jun 29, 2023
    Configuration menu
    Copy the full SHA
    9ef79a4 View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2023

  1. Use IEqualityComparer instead

    Mads Gram committed Jul 2, 2023
    Configuration menu
    Copy the full SHA
    bbf89f6 View commit details
    Browse the repository at this point in the history
  2. Add comparer fiels

    Mads Gram committed Jul 2, 2023
    Configuration menu
    Copy the full SHA
    7194c11 View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2023

  1. Address code review comments

    Mads Gram committed Jul 3, 2023
    Configuration menu
    Copy the full SHA
    b133410 View commit details
    Browse the repository at this point in the history
  2. Fix some code analysis problems

    Mads Gram committed Jul 3, 2023
    Configuration menu
    Copy the full SHA
    e9d425c View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2023

  1. Fix more multi-target issues

    Mads Gram committed Jul 4, 2023
    Configuration menu
    Copy the full SHA
    0a68dcb View commit details
    Browse the repository at this point in the history
  2. Code analysis in tests

    Mads Gram committed Jul 4, 2023
    Configuration menu
    Copy the full SHA
    9320d6e View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2023

  1. Fix build errors

    Mads Gram committed Jul 5, 2023
    Configuration menu
    Copy the full SHA
    575f59a View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2023

  1. Configuration menu
    Copy the full SHA
    3aa8e52 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    10ecc4e View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2023

  1. use shim

    twsouthwick committed Jul 8, 2023
    Configuration menu
    Copy the full SHA
    6c6a0ca View commit details
    Browse the repository at this point in the history
  2. Code review comments

    Mads Gram committed Jul 8, 2023
    Configuration menu
    Copy the full SHA
    35284ce View commit details
    Browse the repository at this point in the history
  3. Merge branch 'EquatableOpenXmlElement' of https://github.com/PhDuck/O…

    …pen-XML-SDK into EquatableOpenXmlElement
    Mads Gram committed Jul 8, 2023
    Configuration menu
    Copy the full SHA
    8d4e141 View commit details
    Browse the repository at this point in the history
  4. Code review comments

    Mads Gram committed Jul 8, 2023
    Configuration menu
    Copy the full SHA
    9341e35 View commit details
    Browse the repository at this point in the history
  5. More code review comments

    Mads Gram committed Jul 8, 2023
    Configuration menu
    Copy the full SHA
    267e789 View commit details
    Browse the repository at this point in the history