2017-01-21 1 views
0

Итак, у меня есть этот .xsl-файл и с 3 различными «xsl: value-of select» с разные XPath дать мне в одной и той же линии, даже с линии разрыва пытается отделить их кодXSLT - почему результат 3 разных «значений выбора» с тремя разными xpath дает мне вывод в той же строке?

XSL:.

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" /> 


    <xsl:template match="/"> 
     <html> 
      <head> 
       <title></title> 
      </head> 
      <body> 
       <xsl:value-of select="//Utilizador[@id= 'u_03' ]/Username"/><br/> 

       <xsl:value-of select="count(//Video[contains(@uti_id, 'u_03')])"/><br/> 

       <xsl:value-of select="count(//Comentario[contains(@uti_id, 'u_03')])"/><br/> 
      </body> 
     </html> 
    </xsl:template> 
</xsl:stylesheet> 

и выходной .xhtml:

<?xml version="1.0" encoding="UTF-8"?><html> 
<head> 
<title/> 
</head> 
<body>carlitos<br/>3<br/>0<br/> 
</body> 
</html> 
+1

Элемент 'br' будет отображаться в виде разрыва строки вашим браузером при просмотре полученного HTML-кода. Тебе не являются разрывы строк в самом HTML-коде, поскольку вставка их будет изменять текстовые узлы, окружающие элементы 'br'. Если вы действительно хотите их, вам придется просить их явно, добавив символ символа новой строки как буквенный текст. –

+0

@ michael.hor257k Я попытался использовать « &nl;», но когда я проверяю браузер, он все еще показывает все в одной строке. Новый выходной код .xhtml: ' эй Carlitos ' – Matos

+0

Try ' ' (Unix) или ' ' (Mac) или ' ' (Windows). –

ответ

1

убедитесь, что вы используете <xsl:output method="html"/> в создать Выход xt/html. Если вы хотите создать XHTML, вы можете использовать метод output = "xml", но тогда вам также понадобится пространство имен XHTML http://www.w3.org/1999/xhtml для элементов результата, иначе браузер не сможет распознать HTML.

Смежные вопросы