Использование указанной c версии Saxon в Orbeon - PullRequest
0 голосов
/ 03 апреля 2020

Можно ли использовать указанную c версию Saxon в Orbeon, то есть обойти с помощью встроенной версии и использовать Saxon-HE или Saxon-EE? Как бы я go об этом?

Есть несколько старых сообщений на форуме от 2010 года, предполагающих, что это возможно, но ссылки в нем теперь мертвы.

1 Ответ

0 голосов
/ 07 апреля 2020

Только для XSLT-преобразований это возможно, хотя на данный момент это не документировано и не поощряется.

В WEB-INF/resources/config/processors-local.xml, установите:

<processors xmlns:oxf="http://www.orbeon.com/oxf/processors">

    <processor name="oxf:my-saxon">
        <instantiation name="oxf:generic-xslt-2.0">
            <input name="transformer">
                <config>
                    <class>net.sf.saxon.TransformerFactoryImpl</class>
                </config>
            </input>
            <input name="attributes">
                <attributes xmlns:xs="http://www.w3.org/2001/XMLSchema">
                    <!-- By default, prevent usage of external functions for security purposes -->
                    <attribute as="xs:boolean" name="http://saxon.sf.net/feature/allow-external-functions" value="false"/>
                    <!--
                    <attribute as="xs:boolean" name="http://saxon.sf.net/feature/trace-external-functions" value="false"/>
                    <attribute as="xs:boolean" name="http://saxon.sf.net/feature/timing" value="false"/>
                    <attribute as="xs:integer" name="http://saxon.sf.net/feature/treeModel" value="STANDARD_TREE = 0 / TINY_TREE = 1"/>
                    <attribute as="xs:boolean" name="http://saxon.sf.net/feature/linenumbering" value="false"/>
                    <attribute as="xs:integer" name="http://saxon.sf.net/feature/recoveryPolicy" value="RECOVER_SILENTLY = 0 / RECOVER_WITH_WARNINGS = 1 / DO_NOT_RECOVER = 2"/>
                    <attribute as="xs:boolean" name="http://saxon.sf.net/feature/validation" value="false"/>
                    <attribute as="xs:boolean" name="http://saxon.sf.net/feature/schema-validation" value="false"/>
                    <attribute as="xs:boolean" name="http://saxon.sf.net/feature/validation-warnings" value="false"/>
                    -->
                </attributes>
            </input>
        </instantiation>
    </processor>

</processors>

Также поместите свой Saxon JAR в WEB-INF/lib, конечно.

Затем, при использовании процессора, вы должны использовать oxf:my-saxon (но выберите более подходящее имя).

...