2013-06-14 2 views
1

Когда мои данные экспортируются из базы данных в правильном формате. Когда я помещаю его в таблицу стилей XSLT, он помещает все в плоскую линию. Есть ли способ исправить это? Спасибо за помощь.XSLT Сохранение формата абзаца

Style Sheet

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="urn:user-scripts" xmlns:aras="http://www.aras.com"> 
     <xsl:output method="html" omit-xml-declaration="yes" standalone="yes" indent="yes" cdata-section-elements="script msxsl:script"></xsl:output> 
     <xsl:template match="Item[@type='Order']"> 
     <html> 
      <body> 
    <!-- Implementation Notes --> 
      <table class="row"> 
       <tr> 
       <td class="section" width="100%"> 
        <b>Implementation Notes</b> 
       </td> 
      </tr> 
      <tr> 
       <td class="fieldValue"> 
        <xsl:value-of select="implementation_notes"></xsl:value-of> 
       </td> 
      </tr> 
     </table> 
      <table class="row" height="10"> 
       <tr> 
       <td></td> 
       </tr> 
      </table> 
     </body> 
     </html> 
    </xsl:template> 
    </xsl:stylesheet> 

данных

<?xml version="1.0" encoding="utf-8"?> 
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> 
     <SOAP-ENV:Body> 
     <Result> 
      <Item type="Order"> 
      <implementation_notes>New Order. 
    1. Instructions A 
    1.1 Instructions A.1 
    2. Instructions B 
    2.1 Instructions B.1 
    3. Instructions C 
    3.1 Instructions C.1 
    </implementation_notes> 
     </Item> 
     </Result> 
     </SOAP-ENV:Body> 
    </SOAP-ENV:Envelope> 

ответ

1

Простой способ сделать это:

Заменить:

   <xsl:value-of select="implementation_notes"></xsl:value-of> 

остроумие ч

   <pre><xsl:value-of select="implementation_notes"/></pre> 

Обратите внимание:

Это не XSLT вопрос вообще. Это HTML один. Наблюдаемое поведение браузера обусловлено тем, что браузер представляет собой группу пробельных символов как одно пространство.

+0

Большое вам спасибо. Я ценю это. – user2100632

+0

@ user2100632, добро пожаловать. –

0

Кажется, вы хотите, чтобы содержимое implementation_notes было как строки в вашей таблице.

Я думаю, вы должны пересмотреть свой вывод DB и иметь тег xml вокруг каждой строки.
Если это невозможно, и вы хотите разделить текст с помощью xslt 1.0 на «конец строки», вам нужно разделить текст на рекурсивные вызовы шаблонов.

Если вам не нужны строки таблицы ретрансляции, разместите hmtl <pre>..</pre> вокруг вашего контента.

<pre> 
    <xsl:value-of select="implementation_notes"/> 
</pre> 
Смежные вопросы