Comments 37
Внесите, пожалуйста, основной текст под кат.
0
Исходники выложу позже...
0
По поводу CDATA, порой встречается достаточно объемные куски кода, заключенные в вышеупомянутые <![CDATA[ код ]]>, имхо это делает код менее читаемым. Можно вставить в самом начале документа (после <xsl:stylesheet ...>), такую конструкцию:
<xsl:output method="[xml][html][svg]" ... cdata-section-elements="tag"/>, где tag, все, что Вы не хотите анализировать, например script style br и т.д.
<xsl:output method="[xml][html][svg]" ... cdata-section-elements="tag"/>, где tag, все, что Вы не хотите анализировать, например script style br и т.д.
0
Предложение интересное. Однако, в данном случае в CDATA заключается материалы модулей: статьи, новости и сообщения форумов. Мне при, чтении XML-кода, нужно лишь знать где контент, а где XML-код документа. С CDATA это сделать проще, т.к. большинство редакторов XML (или поддерживающих синтаксис) блок CDATA выделяют, т.ч. его легко найти.
Кроме того, все теги не предусмотреть.
Кроме того, все теги не предусмотреть.
0
А я бы воспользовался xsl:copy-of. Эта команда копирует кусок исходного дерева в результирующее.
0
CDATA - зло. Ибо она как раз позволяет пихать все что угодно в код, не задумываясь ни о чем. Использую только в крайних случаях, стараюсь избегать.
З.Ы. Вы в XML запихиваете HTML иногда или я неправильно понял?
З.Ы. Вы в XML запихиваете HTML иногда или я неправильно понял?
+1
Весь контент у меня в CMS редактируется через WYSIWYG-редактор и храниться в базе. При формировании XML-документа я блоки этого контента (ели я знаю, что они могут содержать пользовательское форматирование) помещаю в CDATA.
0
А в базе он хранится в виде html? По-хорошему можно настроить WYSIWYG так, чтобы он форматил в XML.
0
Это больная проблема. Я пробовал. Если у вас есть рабочее решение или пример - поделитесь.
0
Я озадачился поиском подобного, есть кое-что на примете. Если то что надо - скину.
0
В PHP есть отличная функция DomDocument->loadHTML($htmlString), которая лишает многих головных болей. Она легко справится с <br/> и <br> и закроет незакрытые теги. Она же конвертирует HTML в валидный XHTML который вы сможете хранить в XML-документе без CDATA (в CDATA попудут только участки CSS, JS и т.п.).
Так же можно будет вырезать все опасные для дизайна и пользователей участки: class, style, script и, как следствие, повысить безопасность…
Так же можно будет вырезать все опасные для дизайна и пользователей участки: class, style, script и, как следствие, повысить безопасность…
0
Я пользовался подобными решениями (не в PHP), однако, от них пришлось отказаться, т.к.:
- пришлось иногда вставлять Flash, баннеры и другой специфический контент.
- вырезание кода часто упирается в человеческий фактор: пользователь может ввести такое форматирование, которое сложно очистить
- больше гемора.
- пришлось иногда вставлять Flash, баннеры и другой специфический контент.
- вырезание кода часто упирается в человеческий фактор: пользователь может ввести такое форматирование, которое сложно очистить
- больше гемора.
0
http://www.wymeditor.org/
Это не WYSIWYG редактор.
Это не WYSIWYG редактор.
0
Вполне возможно подобрать хороший «ви-зи-виг»-редактор, который бы не генерировал мусор, а так же выдавал XHTML или XML.
Всё включать в CDATA не очень хорошо.
А, в общем, спасибо за интересный материал.
Всё включать в CDATA не очень хорошо.
А, в общем, спасибо за интересный материал.
0
все правильно
просто перед сохранением преобразовывайте все в HTML сущности и тогда пусть юзер пихает туда что угодно и с CDATA нет проблем
просто перед сохранением преобразовывайте все в HTML сущности и тогда пусть юзер пихает туда что угодно и с CDATA нет проблем
0
в качестве бонуса - я пользуюсь xslt-шаблонами для генерации html-кода на своей машине, а результат - все html страницы заливаю на сайт по ftp.
Экономия на CMS =)
Экономия на CMS =)
0
Я тоже иногда так делаю, но, в основном, когда нужно просто подготовить материал или сделать типографику текста.
0
А подскажите, пожалуйста, XSL-редактор, желательно с подсветкой, комплитом и прочим, и желательно с процессором.
Решил написать себе XSL для перегонки майнмапов из FreeMind в Todo список.
Ваша статья очень вовремя (:
Решил написать себе XSL для перегонки майнмапов из FreeMind в Todo список.
Ваша статья очень вовремя (:
0
Я конечно понимаю, что "К сожалению, дальше пришлось отказаться от использования браузера для компиляции XSLT."
Но disable-output-escaping в FireFox не поддерживается.
Решение у меня уже есть, но оно полностью не протестировано и не внедрено. Как только - так сразу наверно и сюда выложу.
Но disable-output-escaping в FireFox не поддерживается.
Решение у меня уже есть, но оно полностью не протестировано и не внедрено. Как только - так сразу наверно и сюда выложу.
0
Извините, если не по адресу. Очень нужно быстренько создать свой сайт. Где можно найти бесплатные шаблоны?
0
поиск по слову Template. Тот же самы http://www.templatemonster.com
0
Хотя, я забыл, что http://www.templatemonster.com/ платный.
Есть бесплатные, но адресов я не помню. Но, найти не проблема, если очень надо.
Есть бесплатные, но адресов я не помню. Но, найти не проблема, если очень надо.
0
Насчет компиляции XSLT на стороне сервера
Подскажите, пожалуйста, как без гемороя генерить на сервере и отдавать браузеру уже готовый XHTML
Подскажите, пожалуйста, как без гемороя генерить на сервере и отдавать браузеру уже готовый XHTML
0
Не совсем понятен вопрос. Что означает "без геммороя"? Если вопрос как, то:
- Об этом я и писал в этой и предыдущей статье
- Google
- PHP: XSLT - Manual
- Выполнение XSLT-преобразований в PHP
+1
Only those users with full accounts are able to leave comments. Log in, please.
Практический XSLT. Использование в качестве шаблонизатора. Часть 2