Генерация Excel из XSL проблема - PullRequest
0 голосов
/ 09 ноября 2010

Я пытаюсь сгенерировать файл Excel из xsl, но xslo автоматически генерирует атрибут xmlns для каждого корневого элемента узла шаблона, который называется:

<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">
  <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
    <LastAuthor>Harold</LastAuthor>
    <Created>2010-11-09T09:41:05Z</Created>
    <LastSaved>2010-11-09T09:41:05Z</LastSaved>
    <Version>11.5606</Version>
  </DocumentProperties>
  <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
    <WindowHeight>12780</WindowHeight>
    <WindowWidth>18795</WindowWidth>
    <WindowTopX>240</WindowTopX>
    <WindowTopY>315</WindowTopY>
    <ProtectStructure>False</ProtectStructure>
    <ProtectWindows>False</ProtectWindows>
  </ExcelWorkbook>
<Styles xmlns="">

проблема:

  <Styles xmlns="">
.....

Есть идеи ?????

1 Ответ

2 голосов
/ 09 ноября 2010

проблема:

<Styles xmlns="">

Это декларация сброса пространства имен по умолчанию (в XML 1.1 вы могли сбросить декларацию префиксных пространств имен).Зачем?Поскольку пространство имен по умолчанию, объявленное в буквальном элементе результата Workbook, распространяется на потомка в таблице стилей , но Styles не является потомком в таблице стилей и находится под нулевым пространством именURI.

Решение: объявить пространство имен по умолчанию для всех литеральных результирующих элементов общего предка в таблице стилей.Хорошей практикой является объявить это в корневом элементе xsl:stylesheet.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...