imho.ws |
![]() |
![]() |
|
Сообщения:
Перейти к новому /
Последнее
|
Опции темы |
![]() |
# 104 | |
МОД-Оператор ЭВМ
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
|
|
![]() |
![]() |
# 107 |
::VIP::
Регистрация: 02.12.2001
Адрес: Hohland
Сообщения: 2 260
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
RaZEr
Чтоб ты не подумал ничего хорошего я имел ввиду что это соответсвует натуре человека -- чем разобраться в XML и XSL легче конечно взять готовое или написать заново то что уже давно написано ![]() Максимально валидного XML не бывает (бывает валидный или нет). XML по сути не предназначен для правки человеком (хотя и не исключает этого). XML должен создавать программист (через скрипт) а не пользователь. Если прораммист граммотный то XML будет валиден всегда, даже если содержит текст пользователя. Если текст пользователя содержит HTML то его можно автоматом приводить к XHTML либо пропускать через htmlspecialchars(). Я еще не видел написанной кем-то реализации HTML->XHTML, наверное от htmlspecialchars() никто пока не страдал.
__________________
sapienti sat. |
![]() |
![]() |
# 108 | |||||
МОД-Оператор ЭВМ
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
|||||
![]() |
![]() |
# 109 |
Full Member
Регистрация: 29.05.2002
Сообщения: 544
![]() ![]() ![]() ![]() ![]() |
как это я не заметил такую интересную дискуссию?
![]() про валидный xml: есть xml-схема, есть DTD, есть прочее, т.е. проблем с проверкой нету, есть проблема с составлением правил(что обрезать, а что нет). про xslt: предлагается следующее упражнение(типичная задача для вывода каталога): 1. есть некоторый xml-файл с данными(там только данные, как и предложил denver). что-то типа: <catalog> <item> <id>1</id> <title>АААААААА</title> </item> <item> <id>2</id> <title>БББББББББ</title> </item> <item> <id>3</id> <title>ВВВВВВВВв</title> </item> <item> <id>4</id> <title>ГГГГГГГ</title> </item> </catalog> .... 2. есть некоторый шаблон(xslt). 3. есть код на php, который выдает html(ну то есть типа: $xsltInstObj->out("my.xml","my.xsl") ![]() внимание задача ![]() вывести все данные в n-столбцов, отсортированные свверху вниз, т.е. типа: а г ж й б д з в е и за n возьмем - 4(столбца) причем баланс столбцов должен сохраниться, т.е. все столбцы должны содержать максимально возможное равное число элементов(формулу не привожу, т.к. в ней часть решения ![]() если еще усложнить задачку, то вывод должен быть таким: <table> <tr> <td> 1 элемент 1 столбца </td> <td> 1 элемент 2 столбца </td> <td> 1 элемент 3 столбца </td> <td> 1 элемент 4 столбца </td> </tr> </table> по идее в подходе Денвера, это логика вывода, которая ложится на верстальщика. Завтра все приходим на работу и даем задание верстальщикам, о результатах пишем здесь ![]()
__________________
убрано по просьбе администратора ![]() Последний раз редактировалось Sheryld; 08.03.2005 в 14:26. |
![]() |
![]() |
# 110 |
::VIP::
Регистрация: 02.12.2001
Адрес: Hohland
Сообщения: 2 260
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Sheryld
Ну формулой будет ceil(count($items)/$n)) тут долго думать не надо. Особенность реализации зависит от конкретного языка будь то Smarty или XSLT, скорость реализации зависит от знаний/опыта верстальщика в этом языке. Да, XSLT это в язык прораммирования (только вывода). Однако смешно смотреть на сборище снобов пэхапэшников которые так наивно уверены что верстальщик не может (не в состянии, не хватит мозгов, куда там) выучить язык программирования, что это только пэхапэшнику дано, но пэхапэшнику скучно его учить. Почему бы не рассматривать это и так: "нам нужен программер PHP(соотв. +MySQL,+Unix, etc) и программер XSLT(соотв. +HTML, +CSS etc)"? "Программер" XSLT будет ненамного дороже верстальщика HTML, однако в результате это будет настоящее отделение контента от оформления. RaZEr В спецификации PHP тоже не написано что код не предназначен для правки пользователем, тем не менее, ты обычно не советуешь заказчику менять даже константы в коде. Аналогично хочется спросить -- "максимально валидный XML" -- цитата с W3C будет? From RaZEr: Денвер! Личку - в ПС. Демогогию эту устраивай в другом месте!
__________________
sapienti sat. Последний раз редактировалось RaZEr; 08.03.2005 в 21:44. |
![]() |
![]() |
# 112 |
::VIP::
Регистрация: 02.12.2001
Адрес: Hohland
Сообщения: 2 260
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Sheryld
Ну скажем вот решение для n=4: Код HTML:
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <head> <title>Four columns layout</title> </head> <body> <xsl:variable name="maxperrow" select="ceiling(count(//item) div 4)"/> <xsl:variable name="col" select="//item[position() <= $maxperrow]"/> <table border="1" cellpadding="5"> <xsl:for-each select="$col"> <xsl:variable name="current" select="position()"/> <tr> <td><xsl:value-of select="//item[$current+$maxperrow*0]/title"/></td> <td><xsl:value-of select="//item[$current+$maxperrow*1]/title"/></td> <td><xsl:value-of select="//item[$current+$maxperrow*2]/title"/></td> <td><xsl:value-of select="//item[$current+$maxperrow*3]/title"/></td> </tr> </xsl:for-each> </table> </body> </html>
__________________
sapienti sat. Последний раз редактировалось denver; 08.03.2005 в 20:43. |
![]() |
![]() |
# 114 | ||
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Цитата:
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
||
![]() |
![]() |
# 115 | ||
МОД-Оператор ЭВМ
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
![]() Цитата:
![]() |
||
![]() |
![]() |
# 116 | |
::VIP::
Регистрация: 02.12.2001
Адрес: Hohland
Сообщения: 2 260
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Hubbitus
PHP в качестве языка логики оформления ![]() ![]() А если серьезно, то просто возникнет вопрос безопасности, PHP в этом плане шибко мощный. RaZEr Цитата:
ЗЫ. ![]()
__________________
sapienti sat. |
|
![]() |
![]() |
# 117 | |
Full Member
Регистрация: 29.05.2002
Сообщения: 544
![]() ![]() ![]() ![]() ![]() |
тут есть одно фундаментальное преймущество.
xslt реализован на множестве платформ, как следствие имеет большую популярность, документированность и т.д. я вобщем об этом писал, немного выше: Цитата:
__________________
убрано по просьбе администратора ![]() Последний раз редактировалось Sheryld; 09.03.2005 в 14:18. |
|
![]() |
![]() |
# 118 | |
МОД-Оператор ЭВМ
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
|
|
![]() |
![]() |
# 119 |
Full Member
Регистрация: 29.05.2002
Сообщения: 544
![]() ![]() ![]() ![]() ![]() |
я не о php в целом, а о smarty в частности.
если все делать по-человечески, то вся логика отображения и верстка перейдут из php — куда угодно, практически без правок. меняем только бизнес логику и парсер. пример: переезд сайта с php на asp.net.
__________________
убрано по просьбе администратора ![]() |
![]() |