Нет ошибки: но XSLT-преобразование не происходит через Javax.xml.transform

Это точно правильно, потому что компилятор должен знать, какой тип он предназначен для распределения. Поэтому классы шаблонов, функции, перечисления и т. Д. Должны быть реализованы также в файле заголовка, если он должен быть опубликован или частично из библиотеки (статический или динамический), поскольку файлы заголовков НЕ скомпилированы в отличие от файлов c / cpp, которые находятся. Если компилятор не знает, что тип не может его скомпилировать. В .Net это возможно, потому что все объекты происходят из класса Object. Это не .Net.

0
задан Amit Panasara 16 January 2019 в 11:49
поделиться

1 ответ

Следующие изменения решили проблему (не знаю основную причину)

1. ЛОЖЬ, чтобы установить осведомленность о пространстве имен

dbFactory.setNamespaceAware(false);

2. Удаление идентификатора пространства имен из строки xslt

String sorter="<?xml version=\"1.0\" encoding=\"utf-8\"?>"+
                            "<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\">"+
                            "  <xsl:output method=\"xml\" encoding=\"utf-8\" indent=\"yes\"/>"+
                            "  <xsl:template match=\"@* | node()\">"+
                            "    <xsl:copy>"+
                            "      <xsl:apply-templates select=\"@* | node()\"/>"+
                            "    </xsl:copy>"+
                            "  </xsl:template>"+
                            "  <xsl:template match=\"Row\">"+ //if namespace sensitive then use ss:Row
                            "    <xsl:copy>"+
                            "      <xsl:apply-templates select=\"*\">"+
                            "        <xsl:sort select=\"@Index\" order=\"ascending\" data-type=\"number\"/>"+ //if namespace sensitive then use ss:Index
                            "      </xsl:apply-templates>"+
                            "    </xsl:copy>"+
                            "  </xsl:template>"+
                            "</xsl:stylesheet>";
0
ответ дан Amit Panasara 16 January 2019 в 11:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: