Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
Вы могли определить параметр для таблицы стилей как так:
<xsl:param name="br">
<xsl:text> </xsl:text>
</xsl:param>
и передача в соответствующем конце символа (символов) строки при помощи вложенного элемента параметрического усилителя в Вашем скрипте Ant. Значение по умолчанию в этом примере было бы новой строкой стиля Unix, конечно. Я думаю для вывода значения, необходимо было бы использовать:
<xsl:copy-of select="$br"/>
Это является подробным, но это работает.
Если Вы называете преобразование от Муравья, то можно протестировать на ОС с помощью условной задачи с тестом для семьи OS:
<condition property="linebreak" value="
">
<os family="windows"/>
</condition>
<condition property="linebreak" value="
">
<os family="unix"/>
</condition>
Тогда передача, что параметр к XSLT для передачи сигналов, какой символ (символы) новой строки Вы хотите использовать.
<xslt in="data.xml" out="${out.dir}/out.xml">
<param name="linebreak" expression="${linebreak}" />
</xslt>
Im, не уверенный, как сделать корректные новые строки автоматически (он может зависеть от xslt процессора, который Вы используете), но можно быть в состоянии вызвать новые строки в содержании текстового узла. \r\n 
 

, \n 

, например, Вы использовали бы:
<xsl:text>foo
bar
</xsl:text>
для получения вывода Вы ищете.