Pull to refresh

Comments 37

Внесите, пожалуйста, основной текст под кат.
проглючило Firefox... исправил. Но в карму уже насрали.
пасибо
PS не я :)
я и не говорю. Обычно это происходит молча....
UFO just landed and posted this here
Видимо, всю уже просрал *-)
По поводу CDATA, порой встречается достаточно объемные куски кода, заключенные в вышеупомянутые <![CDATA[ код ]]>, имхо это делает код менее читаемым. Можно вставить в самом начале документа (после <xsl:stylesheet ...>), такую конструкцию:
<xsl:output method="[xml][html][svg]" ... cdata-section-elements="tag"/>, где tag, все, что Вы не хотите анализировать, например script style br и т.д.
Предложение интересное. Однако, в данном случае в CDATA заключается материалы модулей: статьи, новости и сообщения форумов. Мне при, чтении XML-кода, нужно лишь знать где контент, а где XML-код документа. С CDATA это сделать проще, т.к. большинство редакторов XML (или поддерживающих синтаксис) блок CDATA выделяют, т.ч. его легко найти.

Кроме того, все теги не предусмотреть.
А я бы воспользовался xsl:copy-of. Эта команда копирует кусок исходного дерева в результирующее.
CDATA - зло. Ибо она как раз позволяет пихать все что угодно в код, не задумываясь ни о чем. Использую только в крайних случаях, стараюсь избегать.

З.Ы. Вы в XML запихиваете HTML иногда или я неправильно понял?
Весь контент у меня в CMS редактируется через WYSIWYG-редактор и храниться в базе. При формировании XML-документа я блоки этого контента (ели я знаю, что они могут содержать пользовательское форматирование) помещаю в CDATA.
А в базе он хранится в виде html? По-хорошему можно настроить WYSIWYG так, чтобы он форматил в XML.
Это больная проблема. Я пробовал. Если у вас есть рабочее решение или пример - поделитесь.
Я озадачился поиском подобного, есть кое-что на примете. Если то что надо - скину.
В PHP есть отличная функция DomDocument->loadHTML($htmlString), которая лишает многих головных болей. Она легко справится с <br/> и <br> и закроет незакрытые теги. Она же конвертирует HTML в валидный XHTML который вы сможете хранить в XML-документе без CDATA (в CDATA попудут только участки CSS, JS и т.п.).
Так же можно будет вырезать все опасные для дизайна и пользователей участки: class, style, script и, как следствие, повысить безопасность…
Я пользовался подобными решениями (не в PHP), однако, от них пришлось отказаться, т.к.:
- пришлось иногда вставлять Flash, баннеры и другой специфический контент.
- вырезание кода часто упирается в человеческий фактор: пользователь может ввести такое форматирование, которое сложно очистить
- больше гемора.
http://www.wymeditor.org/
Это не WYSIWYG редактор.
Вполне возможно подобрать хороший «ви-зи-виг»-редактор, который бы не генерировал мусор, а так же выдавал XHTML или XML.
Всё включать в CDATA — не очень хорошо.

А, в общем, спасибо за интересный материал.
все правильно
просто перед сохранением преобразовывайте все в HTML сущности и тогда пусть юзер пихает туда что угодно и с CDATA нет проблем
в качестве бонуса - я пользуюсь xslt-шаблонами для генерации html-кода на своей машине, а результат - все html страницы заливаю на сайт по ftp.

Экономия на CMS =)
Я тоже иногда так делаю, но, в основном, когда нужно просто подготовить материал или сделать типографику текста.
А чем перегоняету, к примеру, готовый сайт со страницами арзложенными по разным папкам?
не поделитесь?
Своей CMS-кой. Было нужно только пару раз:
- сверстать код с типографикой
- залить на сервер все в статике, т.к. MySQL временно глючил, а клиенту нужно было все срочно показывать.
А подскажите, пожалуйста, XSL-редактор, желательно с подсветкой, комплитом и прочим, и желательно с процессором.

Решил написать себе XSL для перегонки майнмапов из FreeMind в Todo список.

Ваша статья очень вовремя (:
Altova XMLSpy можно попробывать... и подсветка кода есть и помошь при наборе и "компилить" можно
Я пользуюсь для XSL notepad++, а для работы с кодом CMS HomeSite. Я бы с удовольствием оставил один HomeSite, но последний плохо работает в кодировке UTF-8.
Компил в редакторе я не использую. В XMLSpy, предложенном все есть. Он, кстати, рекомендован разработчиками XML как основной редактор.
Я конечно понимаю, что "К сожалению, дальше пришлось отказаться от использования браузера для компиляции XSLT."
Но disable-output-escaping в FireFox не поддерживается.
Решение у меня уже есть, но оно полностью не протестировано и не внедрено. Как только - так сразу наверно и сюда выложу.
Было бы очень кстати.
Извините, если не по адресу. Очень нужно быстренько создать свой сайт. Где можно найти бесплатные шаблоны?
Хотя, я забыл, что http://www.templatemonster.com/ платный.

Есть бесплатные, но адресов я не помню. Но, найти не проблема, если очень надо.
Насчет компиляции XSLT на стороне сервера
Подскажите, пожалуйста, как без гемороя генерить на сервере и отдавать браузеру уже готовый XHTML
Не совсем понятен вопрос. Что означает "без геммороя"? Если вопрос как, то:
  1. Об этом я и писал в этой и предыдущей статье

  2. Google
    - PHP: XSLT - Manual
    - Выполнение XSLT-преобразований в PHP
Все зависит от конкретного языка. Я использую Parser и там также все просто
Спасибо! Последней ссылки раньше не видел. Думаю, это какраз то, что нужно.
P.S. Поставил бы вам пару плюсов, еслиб мог.
Sign up to leave a comment.

Articles