Интерпретация новых строк с xsl:text?

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
13
задан Mathias Müller 31 March 2014 в 12:28
поделиться

3 ответа

Вы могли определить параметр для таблицы стилей как так:

<xsl:param name="br">
    <xsl:text>&#10;</xsl:text>
</xsl:param>

и передача в соответствующем конце символа (символов) строки при помощи вложенного элемента параметрического усилителя в Вашем скрипте Ant. Значение по умолчанию в этом примере было бы новой строкой стиля Unix, конечно. Я думаю для вывода значения, необходимо было бы использовать:

<xsl:copy-of select="$br"/>

Это является подробным, но это работает.

5
ответ дан 2 December 2019 в 01:22
поделиться

Если Вы называете преобразование от Муравья, то можно протестировать на ОС с помощью условной задачи с тестом для семьи OS:

  <condition property="linebreak" value="&#xD;&#xa;">
      <os family="windows"/>
  </condition>
  <condition property="linebreak" value="&#xa;">
      <os family="unix"/>
  </condition>

Тогда передача, что параметр к XSLT для передачи сигналов, какой символ (символы) новой строки Вы хотите использовать.

 <xslt in="data.xml" out="${out.dir}/out.xml">
   <param name="linebreak" expression="${linebreak}" />
 </xslt>
4
ответ дан 2 December 2019 в 01:22
поделиться

Im, не уверенный, как сделать корректные новые строки автоматически (он может зависеть от xslt процессора, который Вы используете), но можно быть в состоянии вызвать новые строки в содержании текстового узла. \r\n &#xD; &#xA;, \n &#xA;, например, Вы использовали бы:

<xsl:text>foo&#xD;&#xa;bar&#xD;&#xa;</xsl:text> для получения вывода Вы ищете.

1
ответ дан 2 December 2019 в 01:22
поделиться
Другие вопросы по тегам:

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