Skip to content

0.23.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@kaby76 kaby76 released this 25 Apr 09:26
· 195 commits to main since this release
27837c8

Release 0.23.0 changes the way certain CRUD are made.

The main engine used in Trash, currently Eclipse XPath ported to C#, only implements XPath2. It does not contain XQuery, and there are many features in XPath3 that would be valuable. Although the Eclipse XPath code port in C# is being updated, the original code forked from Eclipse is no longer being maintained. Therefore, the XPath engine needs to be replaced. This release moves in this direction.

trquery, which implements a very basic XQuery CRUD, replaces the basic CRUD applications trinsert, trdelete, trmove, etc. Some of the "higher-level" applications, which deal with Antlr4 grammars, are implemented as XQuery scripts in g4-scripts.

Prior to this release, one of the more important features missing is how to "grep" for off-channel tokens. While "whitespace" is integrated in the parse tree (unlike Antlr itself, which does not place any off-channel content in the parse tree), the XPath syntax to access this content was terrible. This release fixes this by adding attribute nodes for off-channel token types, e.g., @WS. It is now possible to move comments, whitespace, etc., around the parse tree.

Changes

  • Update the antlr4 grammar so that it is consistent with grammars-v4: removed labeledLexerElement; reformatted grammar.
  • Remove xalan port.
  • Fix various templates for trgen.
    • Fix Typescript templates compilation issue.
    • Update Antlr4ng template with new requirements.
  • Add column data specification to trperf. Add file name input to output. Add option to display column header names (default is to not display).
  • Add in updates for XPath expressions involving attributes. The problem is that there was no way to address off-channel content in XPath expressions. The solution fixes this using attributes.
    • Fix #434 -- be able to address off-channel tokens as attributes, e.g., @WS.
    • Fix #438 -- fix bug in getting parent of parse tree attributes (e.g., off-channel tokens that are in the parse tree).
  • Fix trfoldlit.
  • Update testing and re-add the workflow tests.
  • Update build and install scripts for Trash for Ubuntu.
  • Replace basic CRUD commands with trquery commands. It's unnecessary to have applications that implement CRUD when when we have trquery, which implements CRUD.
    • Removed trdelabel and trstrip from Trash, and add scripts in g4-scripts.
    • Removed trdelete and trdeltree. These are now implemented using trquery delete.
    • Implement trquery move.
  • Update readme.
  • Fixed https://github.com/kaby76/Domemtech.Trash/pull/437