parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Misha v.3 16.12.2005 19:37

работа со связкой xml/xsl вместо html выглядит несколько иначе.

сначала вы формируете xml (парсером например). данные в xml могут следовать в произвольном порядке (не... естественно если это не параграфы с текстом). когда xml готов он трансформируется в html с помощью xslt шаблона. именно xslt шаблон формирует страницу. и уже при формировании <title/> он может слазить в любой элемент вашего xml-я чтобы достать нужный заголовок. не возникает ситуации когда нужно добавить в страницу какие-то данные, которые в данный момент ещё не обсчитаны, ибо когда xml готов, можете считать что все данные уже есть.

но за все приходится платить: трансформация достаточно рессурсоемкая операция, но... очень удобно :)

в результате упоминаемых вами проверок при формировании xml-я оказывается меньше. кроме того один раз написав код, выдающий xml можно лишь исправляя xslt шаблон делать сайты очень сильно различающиеся внешним видом.

к примеру для вашего случая при формировании xml можно сделать так:
^switch[$MAIN:mode]{
	^case[register]{
		<body>^user:register_form[]</body>
		<title>Регистрация<title>
	}
	^case[register_do]{
		<body>^user:register_do[]</body>
		<title>Регистрация<title>
	}
	^case[DEFAULT]{
		<body>Хелло! <a href="?mode=register">Зарегистрируйся!</a></body>
		<title>bla-bla-bla<title>
	}
}
а xml-ем потом найти <title/> и вывести куда следует.

на этом сайте работает связка xml+xslt.