Как и где применяют XML

YuriR
Уже с Приветом
Posts: 426
Joined: 31 May 1999 09:01

Как и где применяют XML

Post by YuriR »

Раз тут такие собрались XML спецы - вопрос от xml beginnera. Как правильно выкусить(скопировать) часть xml документа, например все что внутри элемента 'content' включая сам элемент и все внутри as-is. Как я понимаю, просто поиск в тексте по <content> </content> не годится, т.к. можно найти не элемент, а CDATA. Я сделал это, используя SAX - посмотрите plz - правильно или нет.

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">code:</font><HR><pre>
public class MyParser extends DefaultHandler {


public void characters(char[] ch, int start, int length) throws SAXException {
if (copy)
buf.append(ch, start, length);
}


public void endElement(String uri, String localName, String qName) throws SAXException {
if (copy) {
buf.append("</" + qName + ">");
}
if (qName.equalsIgnoreCase("content"))
copy = false;
}


public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
if (qName.equalsIgnoreCase("content"))
copy = true;
if (copy) {
buf.append("<" + qName + addAttributes(attributes) + ">");
}
}


public MyParser(StringBuffer buf) {
super();
this.buf = buf;
}


protected String addAttributes(Attributes attrs) {
if (attrs.getLength() > 0) {
String result = " ";
for (int i = 0; i < attrs.getLength(); i++) {
result += attrs.getQName(i) + "=\"" + attrs.getValue(i) + "\" ";
}
return result;
}
else
return "";
}


private StringBuffer buf;
private boolean copy = false;
}
</pre><HR></BLOCKQUOTE>

[ 09-10-2001: Message edited by: YuriRB ]
User avatar
webdeveloper
Уже с Приветом
Posts: 2049
Joined: 12 Jul 2000 09:01
Location: Madison, Wisconsin USA

Как и где применяют XML

Post by webdeveloper »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by DDD:
<STRONG>To webdeveloper:

" Я что то все никак не въеду, чем он лучше базы данных? "

А меня до сих пор мучает вопрос - чем расческа лучше зубной щетки? [img:bf88aa3441]images/smiles/icon_confused.gif[/img:bf88aa3441] Ведь если писАть на них несмывающимся фломастером, и то, и другое можно использовать как маленький блокнотик...
[img:bf88aa3441]images/smiles/icon_wink.gif[/img:bf88aa3441]</STRONG><HR></BLOCKQUOTE>

Блин, деоло не в этом. Вот как я себе представляю применение XML в web:

1. У тебя есть статические XML файлы и ты хранишь информацию в них. Базы данных нет. - В этом варианте все вроде бы ничего, и по стравнению с обычными текстовыми файлами, например, все выглядит даже лучше. Но только до тех пор, пока размер этих файлов не большой. Иначе все становится медленным. Представь себе что у тебя 10000 записей в XML файле. Это же ужас. Хотя с развитием железа эта проблема конечно сильно уменьшается.

2. У тебя есть база данных и ты прямо из нее вынимаешь XML, в обход ADO. Тоже вроде ничего. Не совсем понятно зачем, но можно. А потом в ASP ты этот XML парсишь и дальше можно показать все что хочешь. А можно и не парсить, если это Intranet, а использовать IE 6.0, например.

3. Самый загадочный вариант. Из базы данных генерируешь XML, который потом парсишь в ASP на сервере и переводишь в HTML. Вот этого я никак не пойму. И никто не может мне объяснить зачем это нужно. Разговор про разделение данных здесь не проходит, т.к. по сравнию с хранением данных в БД, что XML, что HTML одна херня, и можно просто выкинуть этот шаг и сразу все деалть в HTML.

4. Обмен данными между разными базами данных, храниние настроек, и т.д. - вот тут наверное это имеет смысл. по крайней мере данные описывать с помощью XML удобно.

Недавно наша контора закончила большой проект, на котором использовала третий вариант. точнее не сама наша контора а другая фирма которая по каким то причинам убедила нашего босса в его не обходимости. И вот сейчас я сижу и переделываю все то что эти засранцы накуралесили. [img:bf88aa3441]images/smiles/icon_sad.gif[/img:bf88aa3441]
User avatar
Gennadiy
Уже с Приветом
Posts: 11332
Joined: 30 Mar 2000 10:01
Location: Ice Storm Town

Как и где применяют XML

Post by Gennadiy »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by webdeveloper:
<STRONG>
2. У тебя есть база данных и ты прямо из нее вынимаешь XML, в обход ADO. Тоже вроде ничего. Не совсем понятно зачем, но можно. А потом в ASP ты этот XML парсишь и дальше можно показать все что хочешь. А можно и не парсить, если это Intranet, а использовать IE 6.0, например.

3. Самый загадочный вариант. Из базы данных генерируешь XML, который потом парсишь в ASP на сервере и переводишь в HTML. Вот этого я никак не пойму. И никто не может мне объяснить зачем это нужно. Разговор про разделение данных здесь не проходит, т.к. по сравнию с хранением данных в БД, что XML, что HTML одна херня, и можно просто выкинуть этот шаг и сразу все деалть в HTML.
</STRONG><HR></BLOCKQUOTE>
Зачем XML парсить в ASP? [img:116ae5aa90]images/smiles/icon_sad.gif[/img:116ae5aa90] Это уж точно странно. Для этого есть XSLT процессор, котрый запускается на WebServer и генерит HTML автоматически. Похоже ваши бойцы не очень то хорошо разбираются.
[Безденежный Дон]
Уже с Приветом
Posts: 857
Joined: 09 Jan 2001 10:01
Location: LA, CA, USA

Как и где применяют XML

Post by [Безденежный Дон] »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by webdeveloper:
<STRONG>

1. У тебя есть статические XML файлы и ты хранишь информацию в них. Базы данных нет. - В этом варианте все вроде бы ничего, и по стравнению с обычными текстовыми файлами, например, все выглядит даже лучше. Но только до тех пор, пока размер этих файлов не большой. Иначе все становится медленным. Представь себе что у тебя 10000 записей в XML файле. Это же ужас. Хотя с развитием железа эта проблема конечно сильно уменьшается.</STRONG><HR></BLOCKQUOTE>

По моему - не такой уж и ужас. Если не ошибаюсь - Windows registry - это XML.

Если не ожидается баальших нагрузок и обьемов - стоит ли ставить такую голодную во всех отношениях Дазу Банных?

Мои первые ошушения после прочтения первой книжки оп XML - то ли я такой умный, то ли "дурят нашего брата".

Раньше, когда я был молодой и гарячи, я все конфигурации хранил в ini. Потом поостыл и стал хранить в registry. Потол совсем отмерз - как же я к этим заразам, которые мой сайт держат, в registry залезу? А XML - вот он... Вместе с парсером. Удобно...

Я сейчас пишу кусок проекта. Остальные пишут другие куски. Даза Банных в данном случае - оверкилл. Как нам данными-то обмениваться? А! Надо парсер написать и всем пользоваться... И формат определить и всем обяснить его... Ба! Да вот же он - уже готовый - и формат и парсер. А XSL - это вообще что-то особенного, если взять его как внешний руль управления парсером...

Кароче говоря - пользуйтесь ХМЛ с умом - и будет вам большое щастье.
stockman
Уже с Приветом
Posts: 1731
Joined: 24 Sep 1999 09:01
Location: планета Земля

Как и где применяют XML

Post by stockman »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by Gennadiy:
<STRONG>
Не буду анализировать Privet и полезность (я не пишу НЕОБХОДИМОСТЬ) использования в нем XML технологий. Во первых хозяин Привета меня об этом не просил, а во вторых мне за это денег не платят Я не специалист по форумам, но возможное применение вам уже написали. Могу еще предположить что с помощью XML можно было бы улучшить/упростить поисковую систему, автоматически делать CD-шки с содержимым не привязаные к WebServer-у, уменьшить сетевой трафик за счет тех браузеров что поддерживают XML, и т.д. Опять же говорю что на серьезный анализ нет ни времени ни желания.
</STRONG><HR></BLOCKQUOTE>

Да уж, "не специалист по форумам"!! Это я вас просил, а не хозяин "Привета" на примере того что мы сейчас видим(готовый продукт) показать полезность использования XML на этом форуме. Т.е. как бы сказать Борису: "Ну чего ты его на XML то не написал, столько потерял!" и обяснить что он потерял. В итоге вы начали рассказывать об какой то записи форума на CD(зачем, что бы было и главное при чем здесь xml?) и заключаете какое то бредовое предположении об уменьшении траффика на форуме(за счет чего траффик то уменшится?). В итоге вы не на мои вопросы отвечаете, а с сами с собой бесседуете, да еще и применяя способ додумывания за оппонента(а говорили "мысли читать не умеете") и даже выделяете эти моменты капсом(фраза "ВСЕ знаете", "откуда я знаю ВАШИ задачи")" , наверное что бы наглядней было.

Конец венчает попытка начать рассказ о тех технологиях(SOAP, WSDL) применение XML в которых необходимо, уже хотя бы потому что они на них построенны, не говоря уж для чего они были задуманы. Я это разве оспаривал?

[b:9234deacda]
P.S. А вообще чуть спокойнее будте. Вы как будто с кем то давний спор продолжаете. Мы то вашей предистории не знаем.
[/b:9234deacda]

Я вообще то спокоен как удав. Просто если вы что то заметили ненормального в моей в бесседе с вами, то можете быть уверены на все 100% что это вызвано только тем что вы себя ведете точно так же.
User avatar
Gennadiy
Уже с Приветом
Posts: 11332
Joined: 30 Mar 2000 10:01
Location: Ice Storm Town

Как и где применяют XML

Post by Gennadiy »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by YuriRB:
<STRONG>Раз тут такие собрались XML спецы - вопрос от xml beginnera. Как правильно выкусить(скопировать) часть xml документа, например все что внутри элемента 'content' включая сам элемент и все внутри as-is. Как я понимаю, просто поиск в тексте по <content> </content> не годится, т.к. можно найти не элемент, а CDATA. Я сделал это, используя SAX - посмотрите plz - правильно или нет.

[ 09-10-2001: Message edited by: YuriRB ]</STRONG><HR></BLOCKQUOTE>
В DOM это делается легко. сначала находите нужный элемент затем вызываете
cloneNode(true)
Полученый элемент будет содержать поддерево.
Прицепляете его куда надо. Не забудте заменить документ для этой ноды (если вы копируете ее в другой документ).
Для SAX мождет кто другой посмотрит - мне тяжело через Java код продираться [img:a593553998]images/smiles/icon_biggrin.gif[/img:a593553998]
User avatar
Gennadiy
Уже с Приветом
Posts: 11332
Joined: 30 Mar 2000 10:01
Location: Ice Storm Town

Как и где применяют XML

Post by Gennadiy »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by stockman:
<STRONG>
Да уж, "не специалист по форумам"!! Это я вас просил, а не хозяин "Привета" на примере того что мы сейчас видим(готовый продукт) показать полезность использования XML на этом форуме. Т.е. как бы сказать Борису: "Ну чего ты его на XML то не написал, столько потерял!" и обяснить что он потерял.
</STRONG>
Не хочу [img:d4545e0d17]images/smiles/icon_smile.gif[/img:d4545e0d17] Оставайтесть в неведении [img:d4545e0d17]images/smiles/icon_biggrin.gif[/img:d4545e0d17]
<STRONG>
В итоге вы начали рассказывать об какой то записи форума на CD(зачем, что бы было и главное при чем здесь xml?)
</STRONG>
Тут как то дискусия была о том как бы хорошио записать содержимое сайта на CD.
А с XML его хоть в RTF хоть в PDF загоняй.
<STRONG>
и заключаете какое то бредовое предположении об уменьшении траффика на форуме(за счет чего траффик то уменшится?).
</STRONG>
Посмотрите на HTML код этой страницы - сколько %% занимает сама информация. Вот приблизительно на столько трафик (для XML/XSLT совместимых броузеров) и уменьшится.
<STRONG>
В итоге вы не на мои вопросы отвечаете, а с сами с собой бесседуете, да еще и применяя способ додумывания за оппонента(а говорили "мысли читать не умеете") и даже выделяете эти моменты капсом(фраза "ВСЕ знаете", "откуда я знаю ВАШИ задачи")" , наверное что бы наглядней было.
</STRONG>
Вы подменили исходный тезис топика где и как можно/нужно использовать XML на где вы конкретно в своей задаче должны использовать его. Мне эта постановка задачи не интересна и сремился ее избежать.
<STRONG>
Конец венчает попытка начать рассказ о тех технологиях(SOAP, WSDL) применение XML в которых необходимо, уже хотя бы потому что они на них построенны, не говоря уж для чего они были задуманы. Я это разве оспаривал?
</STRONG>
А это я не для ВАС писал.
<STRONG>

[b:d4545e0d17]
P.S. А вообще чуть спокойнее будте. Вы как будто с кем то давний спор продолжаете. Мы то вашей предистории не знаем.
[/b:d4545e0d17]

Я вообще то спокоен как удав. Просто если вы что то заметили ненормального в моей в бесседе с вами, то можете быть уверены на все 100% что это вызвано только тем что вы себя ведете точно так же.</STRONG><HR></BLOCKQUOTE>
За сим оставляю за вами право на последнее слово и отвечать ВАМ больше не буду.
Selifan
Уже с Приветом
Posts: 193
Joined: 06 Sep 2001 09:01
Location: Tula->South Side

Как и где применяют XML

Post by Selifan »

пипл!

данные надо хранить в Базе Данных.
по запросу Клиента доставать их, обрабатывать
и посылать. (если вас конечно интересует быстродействие)
[Безденежный Дон]
Уже с Приветом
Posts: 857
Joined: 09 Jan 2001 10:01
Location: LA, CA, USA

Как и где применяют XML

Post by [Безденежный Дон] »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by Selivan Dorofeev:
<STRONG>пипл!

данные надо хранить в Базе Данных.
по запросу Клиента доставать их, обрабатывать
и посылать. (если вас конечно интересует быстродействие)</STRONG><HR></BLOCKQUOTE>

Что, оба интеджера?!!! А Даза Банных такое потянет? [img:d95079dffa]images/smiles/icon_biggrin.gif[/img:d95079dffa] [img:d95079dffa]images/smiles/icon_confused.gif[/img:d95079dffa]
User avatar
Gennadiy
Уже с Приветом
Posts: 11332
Joined: 30 Mar 2000 10:01
Location: Ice Storm Town

Как и где применяют XML

Post by Gennadiy »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by [Безденежный Дон]:
<STRONG>

Что, оба интеджера?!!! А Даза Банных такое потянет? [img:a1f3b60c2b]images/smiles/icon_biggrin.gif[/img:a1f3b60c2b] [img:a1f3b60c2b]images/smiles/icon_confused.gif[/img:a1f3b60c2b]</STRONG><HR></BLOCKQUOTE>

Потянет - если Oracle на кластере [img:a1f3b60c2b]images/smiles/icon_biggrin.gif[/img:a1f3b60c2b]
stockman
Уже с Приветом
Posts: 1731
Joined: 24 Sep 1999 09:01
Location: планета Земля

Как и где применяют XML

Post by stockman »

<BLOCKQUOTE><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><HR>Originally posted by Seryi:
<STRONG>stockman -
например вам надо чтобы форум Привет имел интерфейс на 2-ух (3, 4, 5) языках. Для этого наряду с БД очень-таки удобно использовать XML.</STRONG><HR></BLOCKQUOTE>

И? Использование XML тут просто ни к чему. Я три месяца назад делал корпоративный сайт на 4 языках и даже несмотря на то что тех. задание мне писали приверженцы XML, даже они решили эту задачу вполне красиво и без использования XML. Сайт кстати имел не только интерфейс на 4 языках, он и еще контент менял в зависимости от выбранного пользователем языка.
Хотя для конфигураций сайта, таких как коннекшены к базе и некоторых ньюансов в админской части писатели тех. задания конечно же не упустили момент использовать XML.
К тому же вы все таки добавили другие задачи к уже имеющимся, а я просил сказать зачем тут на форуме применение XML в той задаче в которой он уже существует.

[ 09-10-2001: Message edited by: stockman ]

Return to “Вопросы и новости IT”