Интересный вопрос, то, что вы спрашиваете, похоже на код, сгенерированный генератором парсера, как Alntlr, создаст.
Я думаю, что вы хотите, возможно, создавая объекты как побочный эффект XSLTпреобразования.Вы можете создавать объекты и вызывать методы для объектов из сценария XSLT, используя такой код:
Создание экземпляра Java-объекта в сценарии XSLT;
<!-- Create object factory. -->
<xsl:variable name="factory" xmlns:java="http://xml.apache.org/xalan/java"
select="java:my.sample.Factory.getInstance()" />
Использование его для создания дерева объектов позжев скрипте:
<xsl:template match="node">
<xsl:variable name="myObject" xmlns:java="http://xml.apache.org/xalan/java"
select="java:getInstance($provider, string(@parent), string(@type))" />
Это вызовет метод getInstance (String, String) для объекта фабрики, созданного статическим методом getInstance () в вашем классе my.sample.Factory.Фабрика также должна сохранять созданные объекты, чтобы после завершения преобразования вы могли получить дерево объектов, созданное преобразованием, из экземпляра фабрики.Вместо создания фабрики в сценарии вы можете создать ее заранее и передать в сценарий в качестве параметра.