Я использую фильтр экспорта XSLT, чтобы извлечь часть моего файла OpenOffice Calc в файл XML. Я основывал свой фильтр на втором ответе в this SO question, и он работал нормально, пока я не добавил еще один лист в файл Calc.Укажите рабочий лист в фильтрах экспорта XSLT для OpenOffice Calc
Теперь фильтр применяется к каждому рабочему листу, а поскольку они совсем другие, то полученный XML является мусором.
Могу ли я указать, какой рабочий лист применять фильтр при экспорте? Например, используя имя или позицию заказа листа?
Edit:
первенствовать выглядит like this.
Как вы можете видеть, есть также второй рабочий лист, к которому я хочу применить другой XSLT-фильтр.
В настоящее время фильтр для таблицы на скриншоте выглядит следующим образом (это хорошо работает, когда есть только одна таблица):
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" exclude-result-prefixes="office table text">
<xsl:template match="/">
<command name="CreateTitle">
<xsl:apply-templates select="/*/office:body" />
</command>
</xsl:template>
<xsl:template match="office:body">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="office:spreadsheet">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="office:spreadsheet/table:table">
<title><xsl:value-of select="table:table-row[2]/table:table-cell[1]/text:p" /></title>
<titleDesc><xsl:value-of select="table:table-row[2]/table:table-cell[2]/text:p" /></titleDesc>
<institute><xsl:value-of select="table:table-row[2]/table:table-cell[3]/text:p" /></institute>
<contractType><xsl:value-of select="table:table-row[2]/table:table-cell[4]/text:p" /></contractType>
</xsl:template>
</xsl:stylesheet>
Это формат ввода http://pastebin.com/tLyFKU4e (своего рода длинный)
Попробуйте изменить ' xsl: template> 'to' xsl: template> 'as попытка обработки на основе позиции. Я не знаком с XML-форматом OpenOffice, поэтому попробуйте сами. –
Спасибо за предложение, но это, к сожалению, не сработало. Я также пытался использовать Google для такого синтаксиса, но ничего не мог найти. –
Выполняет ли изменение ' ' to ' ' улучшить ситуацию? Как я уже сказал, я не знаком с точным XML-форматом, поэтому, если вы не отредактируете вопрос и не покажете нам образец ввода, который он угадывает. –