LINUX.ORG.RU

xml - jsp (кошерно или нет?)


0

0

Такая ситуация. Есть пользовательские теги для работы с БД:
получение соединения из пула, запрос выдача результат по строкам и 
столбцам, освобождение соединения. Писал я это для формирования html документов. Нужно использовать это для формирования xml? Дело в том,
что в html файле есть много лишних пробелов, пустых строк.
Текст документа фрагментирован. Иначе нельзя - в jsp странице
не разобраться если не делать переносов строк. Может плохо объяснил,
но думаю поймете!
Так вот как повлияет наличие пустых строк на
обработку xml (на скорость), разбирать страницу и формировать html
на стороне клиента (javascript) и вставлять этот кусок html кода
в страницу (аля ajax). Может стоит применять xslt преобразование,
но пока не знаю как сделать для mozilla, в IE через ActiveX.
Ткните носом в хорошую статейку или поделитесь своим опытом.
Спасибо! 

Не совсем врубился...

Раньше у тебя JSP генерил HTML и отдавал клиенту, а теперь
ты хочешь, чтобы JSP делал XML, который при передаче клиенту
будет преобразовываться в HTML?

Если так, то IMHO лучше будет использовать XSLT именно на сервере
(Xalan, или лучше что-нибудь на Java). XSLT преобразование "на
лету" умеет только IE (опять же IMHO, поправьте, если ситуация уже
изменилась). Если у тебя сайт не заточен только на использование IE,
то может получиться не хорошо.

Overhead'a особого на сервере не будет.

Пробельные символы между тегами дадут лишние текстовые узлы в дереве
XML. Обработку XSL это, конечно, замедлит, но не на столько, чтобы ты
это почувствовал.

Короче, внятнее объясни, чего ты хочешь :)

blackice
()

>Может стоит применять xslt преобразование, но пока не знаю как сделать для mozilla

просто берёшь и делаешь, никаких активиксов

Pi ★★★★★
()
Ответ на: комментарий от blackice

В принципе хочу универсальности т.е. использования xml. Но интересовал именно вопрос, как ( как вообщем ясно), но насколько сильно повлияет на скорость обработки, но и как-то некрасиво иметь пустые строки (несколько подряд) в xml файле. Можно написать сервлет, где использовать стандартные средства java для построения xml документа, но много менять прийдется. Читал, что xslt преобразование на стороне клиента штука небыстрая! А если делать преобразование на сервере, так я могу сразу отсылать готовый html. Получив его на стороне клиента через XMLHttpRequest (Ms2.XMLHTTP), используя функцию responseText вместо responseXML, но как потом, просто вставить это в нужное место страницы?

flyer
() автор топика
Ответ на: комментарий от Pi

Попробовал несколько примеров, но что-то не работает в mozilla.
Консоль JavaScript ругается на невозможность конвертации
обьектов в стоке 7.

1 var xmlDoc = document.implementation.createDocument("", "doc", null);
2 var s = xmlDoc.load("ex01-1.xml");
3
4 var xslDoc = document.implementation.createDocument("", "doc", null);
5 var st = xslDoc.load("ex01-1.xsl");
6
7 var xsltProcessor = new XSLTProcessor();
8 xsltProcessor.importStylesheet(st);

Может приведешь примерчик от себя, это ведь всего несколько строк!?
Спасибо!

flyer
() автор топика
Ответ на: комментарий от flyer

Извиняюсь! В строке 8, конечно же!

flyer
() автор топика
Ответ на: комментарий от Pi

а... аякс... ну тогда проще на сервере трансформировать

Pi ★★★★★
()
Ответ на: комментарий от Pi

Так как без javascript сделать преобразование?
Т.е. преобразование работает и в IE и нормальных броузерах
включением в xml строки

<?xml-stylesheet type="text/xsl" href="ex01-1.xsl"?>

Но не доганяю КАК вставить это потом в страницу?
Страница полностью не обновляется, в этом весь смысл!

flyer
() автор топика
Ответ на: комментарий от Pi

Во-во, я это сразу говорил. Пусть сервер на своей стороне,
используя XSLT-процессор, сделает HTML и отдаст его
на XMLHTTPRequest клиента. А клиент просто тупо встроит
полученный ответ в DOM-дерево документа.

blackice
()
Ответ на: комментарий от blackice

Да так и сделаю! нашел хорошую статеуку на эту тему, как разделить
логику и оформление JSP приложения.
а в примере javascript была ошибка, потому и не работал,
вставив alert(st = xslDoc.load("ex01-1.xsl")), увидел что
возвращает тип boolean (true), который никак не преобразовать в stylesheet!
так что на стороне клиента тоже можно, но медлено работает.
всем спасибо!

flyer
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.