For the tests... There's something to be said for putting 2.0/3.0 tests into 
the main branch of the test suite and just not invoking then from the 
default/1.0 target until/unless Xalan reaches a point where it can handle them. 
We did want these tests to be usable with other processors...


If we just want to extend the existing Xalan architecture to add more recent 
functionality, it _is_ possible to do that on the main project, simply not 
declaring compatibility with the higher levels until they're complete and 
letting the incremental improvements be available for early experimentation 
(perhaps under control of a switch so the default is still strict 1.0 
compatibility.) Keeping a single code stream does have advantages as well as 
risks.

(IBM's 2.0 processor, as I've said, was a new architecture, built around modern 
compiler design principles -- compile to an abstract instruction set with 
inlined loops over axes, optimize that including invariant lifting and the 
like, then generate code from the abstraction.)

If we're going to start rewriting, I recommend starting by changing the model 
access to an abstraction that can be applied over any back-end document model 
data structure, and make DTM access just one implementation thereof. My 
solution was to expose the model as something similar to the DOM cursor API -- 
in fact, the latter was heavily influenced by my work on the former -- rather 
than as a node tree; that made the axes the primary means if navigation and 
permitted efficient implementation over DTM, DOM, or indeed over non-XML data 
structures with some caveats about how to handle the case of non-tree graphs. 
It's easier to make this cut-over before complicating the data model with the 
type system, I think. And it positions us better for attempting streaming 
optimization, I think.

(DTM was a solution for the needs of the time. Such heavy compression is no 
longer required, though there are some things about DTM which are still 
helpful. Tradeoffs as always.)




--
   /_  Joe Kesselman (he/him/his)
-/ _) My Alexa skill for New Music/New Sounds fans:
   /   https://www.amazon.com/dp/B09WJ3H657/

() Plaintext Ribbon Campaign
/\ Stamp out HTML mail!
________________________________
From: Mukul Gandhi <muk...@apache.org>
Sent: Wednesday, April 12, 2023 10:52:51 AM
To: dev@xalan.apache.org <dev@xalan.apache.org>
Subject: Re: XalanJ new git branches

Hi Joseph,
    Thanks for the thoughts, and I agree with you.

On Wed, Apr 12, 2023 at 7:45 PM Joseph Kesselman <kesh...@alum.mit.edu> wrote:
>
> Why would you fork a new development branch from anything but master/main?

We shall first, make xalan-java repos's master branch's contents same
as that of the branch xalan-j_2_7_1_maint. Then we'll create the
branch xalan-j_xslt3.0 from this newly updated master branch.

For xalan-test repos, we can directly create branch
xalan-j_xslt3.0_tests from the master branch.

Please let us know, if there are any gaps, for the above mentioned steps.


--
Regards,
Mukul Gandhi

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@xalan.apache.org
For additional commands, e-mail: dev-h...@xalan.apache.org

Reply via email to