eclipse / epsilon

Epsilon is a family of Java-based scripting languages for automating common model-based software engineering tasks, such as code generation, model-to-model transformation and model validation, that work out of the box with EMF (including Xtext and Sirius), UML (including Cameo/MagicDraw), Simulink, XML and other types of models.
https://eclipse.org/epsilon
Eclipse Public License 2.0
66 stars 10 forks source link

PlainXML Model - dom.Element method implementations are internal #8

Closed arcanefoam closed 1 year ago

arcanefoam commented 1 year ago

As mentioned in the XML EMC page, all methods of the org.w3c.dom.Element should be available to elements of the PlainXML model.

However, in latest versions of Java, the ElementImpl' class that is undercom.sun.org.apache.xerces.internal.domis no longer accesible via reflection. Thus, calls to any of the Element interface methods fails. The first case of this was reported in #5 (access to getTagName()), but further use has reveal the same issues when accessingappendChild()`. We imagine any other method calls will result in the same issue.

kolovos commented 1 year ago

I've pushed a tweaked version of the content in the pull request to maintain compatibility with Java 8. All XML-related tests now pass with Java 17 without the --add-exports flag.

arcanefoam commented 1 year ago

Works as expected! Thanks.