Как обеспечить html вывод как есть через XSL которым пользуеться движок?

#
Как обеспечить html вывод как есть через XSL которым пользуеться движок?
Движок использует XSL процессор для обработки XML, не будут судить на сколько это усложняет жизнь, просто спрошу у вас реализацию того как с помощью вашего шаблонизатора вывести html код не ломая исходного форматирования, именно html, а не xHTML.

вот пример HTML разметки

   <ul itemscop itemtype="thing">
      <li><h4><a itemprop rel="section" href="">item 1</a></h4>
      <li><h4><a itemprop rel="section" href="">item 2</a></h4>
      <li><h4><a itemprop rel="section" href="">item 3</a></h4>
      <li class="hide"><h4><a rel="section" href="">item 4</a></h4>
         <div class="wrap">
            <ul class="subsection">
               <li><h5><a rel="subsection" href="">subitem 1</a></h5>
               <li><h5><a rel="subsection" href="">subitem 1</a></h5>
            </ul>
         </div>
      <li><h4><a rel="section" href="">item 5</a></h4>
   </ul>


маленький пример возможного кода, при правильном доктайпе с повышаной лояльностью процессор будет ругаться на некорекность входящих данных (хотелось бы знать что сделать что бы не ругался), а ругаться он начнет на не соответствие xml атрибуты без знака равенства, отсутвие ковычек и незакрытые теги.
Ладно к примеру мы смерились с тем что процессору можно скормить только xhtml данные, но опять косяк! при указании должных методов html на выходе всё ровно будет xhtml.

Так вот, дорогие разработчики к вам вопрос, как сделать вывод кода как есть, я да и не только хочу получить HTML код такой который есть в изначальном макете, это не прихоть и необходимость.

ps/ На сколько знаю по опыту редкие процессоры ругаются на вхождение в шаблоне тегов без косой черты <br> они их так же всраивают в дерево и отдают в выводе, но самое главное все они читают атрибуты output и при методе html они хотя бы отдают <br> а не <br /> и самое главное не ругаются на пустые атрибуты которые к слову в HTML5 да и вообще в HTML валидны.
#
Re: Как обеспечить html вывод как есть через XSL которым пользуеться движок?
Indago, давно пора начать верстать в xhtml
Заказов не беру. Консультирую редко.
#
Re: Как обеспечить html вывод как есть через XSL которым пользуеться движок?
да что уж там, html5 можно уже вовсю юзать
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Как обеспечить html вывод как есть через XSL которым пользуеться движок?
toasterec писал(а):
да что уж там, html5 можно уже вовсю юзать

Вот от того и есть смысл ответить на первоначальный вопрос, ведь я поддерживаю семантику, валидную html (html5) но её текущему процессору мало того, что скормить нельзя, так еще он и играет не по правилам когда метод вывода мы обозначаем html.

ps
Kotoff писал(а):
xhtml

ну, ну...

Мне нужен компетентный ответ, возможен ли вывод в этом детище как есть, или хотя бы корректность использования method="html" (text)? Так же для ясности хочеться узнать какой XSL процессор используется, самописный, какая то библиотека или встроенный PHP?
#
Re: Как обеспечить html вывод как есть через XSL которым пользуеться движок?
вам очень непонравится извлекать из XSLT нестрогий html

по сути теги заменяются на экранированные сущности
типа
&lt;strong>
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Как обеспечить html вывод как есть через XSL которым пользуеться движок?
toasterec писал(а):
&amp;lt;strong>

Иметься так же возможным избегать подобных плясок, вроде как UTF-8, а даже спец символы приходиться превращать в сущности в частности пробел-n и -m, ведь по сути своей логика вывода именно исходного текста весьма извращенная из за ошибок в XSL, я в частности имею ввиду хотя бы метод вывода и отказ разбирать дерево если вхождения в html стиле.
#
Re: Как обеспечить html вывод как есть через XSL которым пользуеться движок?
Indago писал(а):
Так же для ясности хочеться узнать какой XSL процессор используется, самописный, какая то библиотека или встроенный PHP?
Используется стандартный PHPшный libxslt, ничего самописного.
Версия XSLT - 1.0

Indago писал(а):
но её текущему процессору мало того, что скормить нельзя,
Совершенно верно, потому что html4 и html5 в общем случае не являются валидными XML документами, а xsl-шаблон - всегда является.

Indago писал(а):
так еще он и играет не по правилам когда метод вывода мы обозначаем html.
А вот тут давайте подробнее.
Не по каким правилам?
С помощью XSL можно одинаково легко получить как HTML так и XHTML.

Примеры:
а) html:
Шаблон
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output method="html" encoding="UTF-8" indent="yes"/>

   <xsl:template match="/">
      <div>
         <br/>
         <img src="" alt=""/>
         <input type="checkbox" checked="checked" name="tetete"/>
      </div>
   </xsl:template>
</xsl:stylesheet>

Вывод
<div>
  <br>
  <img src="" alt="">
  <input type="checkbox" checked name="tetete">
</div>



б) xhtml
Шаблон:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output method="xml" encoding="UTF-8" indent="yes"/>

   <xsl:template match="/">
      <div>
         <br/>
         <img src="" alt=""/>
         <input type="checkbox" checked="checked" name="tetete"/>
      </div>
   </xsl:template>
</xsl:stylesheet>

Вывод:
<div>
  <br/>
  <img src="" alt=""/>
  <input type="checkbox" checked="checked" name="tetete"/>
</div>


Что вас не устраивает?
В шаблоне везде xhtml, а в выводе и html и xhtml.

И да, найдите в шаблонах 10 отличий
Заказов не беру. Консультирую редко.
#
Re: Как обеспечить html вывод как есть через XSL которым пользуеться движок?
Kotoff писал(а):
Что вас не устраивает?


так то и не устраивает что при
<xsl:output method="html" encoding="UTF-8" indent="yes"/>

всё равно
<br/>
#
Re: Как обеспечить html вывод как есть через XSL которым пользуеться движок?
Да не правда же!
Я же привел вам выше примеры чистого вывода XSLT-шаблонизатора.
Не может он в режиме html выдавать вам <br/> - ему этого спецификация не позволит!
Почитайте, например, перевод Стивена Холзнера, или "XSLT в примерах" - отсюда и следующие несколько страниц.

Расскажите, каким образом вы получаете закрывающийся тег?
Заказов не беру. Консультирую редко.
#
Re: Как обеспечить html вывод как есть через XSL которым пользуеться движок?
Kotoff писал(а):
Не может он в режиме html выдавать вам <br/> — ему этого спецификация не позволит!

Я знаю что не может, но говорю что в этой CMS так происходит.
Спецификация и её реализация это две разных вещи, реализация в отличии от даже клиенсткой MSXML библиотеки разница в разы.

Kotoff писал(а):
Расскажите, каким образом вы получаете закрывающийся тег?

Типовая дин страница, в ней XML готовлю, потом обрабатываю через xsl

   <xsl:output
      encoding="utf-8" indent="yes" method="html" />
   <xsl:decimal-format grouping-separator=' '/>
   
   <xsl:template match="/document">

         <div class="link">
            <a href="">все лидеры продаж<br /></a>
         </div>
      </div>
   </xsl:template>
Авторизация