Dev team,


This has come up so many times now. In Daffodil, in Internal owl tools like
XSAT2, now in the DFDL coverage tool.

Frankly anything that processes XML Schemas hits this or other limitations
of this library.



I think we really should fix this the right way.



So it all boils down to two things:



   1. Add a feature - Modify Xerces so that w3c DOM tree nodes, if downcast
   to an Impl class or interface, have the location information populated and
   available.
   2. Adding enabling of this feature to ws-schema to access to the
   underlying DOM object – which would provide access to the location info, as
   well as solve all the other limitations mentioned in our Daffodil coding
   style wiki article which mentions a number of shortcomings in ws-schema,
   not just file/line info. This should be dead-simple. It just needs to
   invoke Xerces DOM parser with the new feature option turned on.



This all needs to be optional (default off) since it adds to memory use and
could slow things down marginally.



This would make it possible to eventually strip all the XSD traversal logic
hacking out of Daffodil and have it use ws-schema as the way to access the
XSD-flavor of DFDL, paving the way for alternate non-XSD syntax variants to
fit into the design also, which is a priority feature for DFDL v2.0 and all
the XML-haters in the world.



I forked xerces-j to start investigating  this. I already have a fork of
ws-schema.



Collaborators are welcome.



ChatGPT is quite helpful at explaining things about how Xerces J works –
e.g, how to add a new feature flag that works the way the other feature
flags work.

Reply via email to