Я пытаюсь использовать текстовый вывод XSLT для генерации файла (в формате файла, который я не контролирую), и хотя он в основном текстовый, он включает непечатаемые символы низкого порядка в качестве флагов, включая символы, которые недопустимы в файле XLST (согласно спецификации XSLT).
Я бы хотел, чтобы что-то вроде приведенного ниже работало, но вместо этого он не является допустимым XSLT-файлом, поскольку он содержит символы, которые не допускаются в XSLT-файлах:
<?xml version="1.0" encoding="US-ASCII" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="text" encoding="US-ASCII"/>
<xsl:template match="/"></xsl:template>
</xsl:stylesheet>
Я получаю следующую ошибку:
[Fatal Error] :4:35: Character reference "" is an invalid XML character.
ERROR: 'Character reference "" is an invalid XML character.'
FATAL ERROR: 'Could not compile stylesheet'
Я тоже пробовал с реальным символом 1, с разделом CDATA или без него, xsl: текстовые элементы, карты символов xslt-2, пара разных кодировок, но я не могу понять, как получить ascii символ с двоичным кодом = 1.
Мне пришлось прибегнуть к постобработке своего вывода, что не идеально.
Можно ли как-нибудь сгенерировать один непечатный символ младшего разряда из XSLT?
Среда: Java 6, встроенный XSL Transformer.