Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2012, 16:01   #11
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

там так или иначе идет дерево, его структура примерно такова:
Код:
class Attribute
{
    string name;
    string value;
};

class Element//сам тэг
{
    string name;
    list<Attribute> attributes;
    list<Element> childs;
};
это если кратко.
так там можно многое придумать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.08.2012, 16:08   #12
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
там так или иначе идет дерево, его структура примерно такова:
Код:
class Attribute
{
    string name;
    string value;
};

class Element//сам тэг
{
    string name;
    list<Attribute> attributes;
    list<Element> childs;
};
это если кратко.
так там можно многое придумать.
У атрибутов может быть несколько значений, через пробел
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 28.08.2012, 16:12   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну делаем value списком)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.08.2012, 16:26   #14
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Знаю, а толку. В паутине я найду только принцип строения, но не реализацию.
ftp://ftp.mozilla.org/pub/mozilla.or...source.tar.bz2
Человек_Борща вне форума Ответить с цитированием
Старый 28.08.2012, 16:28   #15
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию

Цитата:
То ответ скорее "да", чем "нет" т.к. для разных стандартов разные кол-ва тегов и атрибутов.
Вот и я думаю, что - да. Но как реализовать.
Levsha100, спасибо огромное.
http://lynx.isc.org/current/ - Исходники Lynx? Круто. Исходники как я понял в папке src. И с чего начинать? Я буду искать, а как появится время направьте меня в нужную сторону. Хотя все равно хотелось бы услышать алгоритм.
http://dev.chromium.org/developers/how-tos/get-the-code - 404. Что там должно было быть?

--

Все теперь 404 пропала.
P.S. пока писал уже несколько сообщений появилось. Буду читать.

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Благодарю

--

Цитата:
это если кратко.
так там можно многое придумать.
Не соображу как на асм это сделать. А не пойму вот почему. Никогда в с++ не пользовался list, потому что не знаю способов применения. Что это вообще такое?(нужно чтобы в гугле почитать). Открою Страуструпа.

Благодарю. Единственный минус - там 60 тысяч файлов. Нет даже предположений куда идти.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог

Последний раз редактировалось _PROGRAMM_; 28.08.2012 в 17:14.
_PROGRAMM_ вне форума Ответить с цитированием
Старый 28.08.2012, 17:14   #16
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

_PROGRAMM_, HTML сродни XML. Во втором программист сам задает имена ветвей, их атрибуты, так же учит читать этот документ.

В HTML все тоже самое древовидное, по тому это Document Object Model.
Хорошо что он имеет опред. набор имен и их атрибутов. В зависимости от параметра, нужно пройтись по атрибутам и в соответствии с ними, словно инструкции, строить объектную модель и отобразить её пользователю.
Только ваши алгоритмы сами должны уметь читать документы и следовать инструкции.


Насущно:
1. Проблема в том, что стандарт написания сайта - не существует, я имею ввиду тот факт, что сейчас есть индивиды ещё с HTML 1.0 и далее, со всем этим мешаются версии JS и прочего что исп. в конечном итоге, и ту уже надо чуть больше чем логика, чтобы предугадать как работать с документом.

2. HTML не самая малая проблема, браузер должен уметь кушать JS, кодировки страниц, символов и т.д.

3. Ещё овер9000 причин, на тему почему за 11 лет никто не создал финальный браузер.

Кстати, как-то смотрел результат импорта библиотеки типов MS HTML, и его многоуровневая классификация очень много рассказала о том, как строится DOM.

Последний раз редактировалось Человек_Борща; 28.08.2012 в 17:19.
Человек_Борща вне форума Ответить с цитированием
Старый 28.08.2012, 17:18   #17
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Не соображу как на асм это сделать. А не пойму вот почему. Никогда в с++ не пользовался list, потому что не знаю способов применения. Что это вообще такое?(нужно чтобы в гугле почитать). Открою Страуструпа.
это std::list(ну и там же std::string еще, ну с ней вроде ясно)
list это двусвязный список.
Цитата:
HTML сродни XML.
похожи, но они разные.
xml строже.

а похожи ибо корни одни.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 28.08.2012 в 17:20.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.08.2012, 17:20   #18
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию

Цитата:
_PROGRAMM_, HTML сродни XML. Во втором программист сам задает имена ветвей, их атрибуты, так же учит читать этот документ.

В HTML все тоже самое древовидное, по тому это Document Object Model.
Хорошо что он имеет опред. набор имен и их атрибутов. В зависимости от атрибута, нужно пропустить через параметры и в соответствии с ними, словно инструкции, строить объектную модель и отобразить её пользователю.
Только ваши алгоритмы сами должны уметь читать документы и следовать инструкции.

Проблема в том, что стандарт написания сайта - не существует, я имею ввиду тот факт, что сейчас есть индивиды ещё с HTML 1.0 и далее, со всем этим мешаются версии JS и прочего что исп. в конечном итоге, и ту уже надо чуть больше чем логика, чтобы предугадать как работать с документом.
Я понимаю, но меня сейчас не так волнуют стандарты. Больше всего меня интересует способ хранения DOM модели
Цитата:
похожи, но они разные.
xml строже.
Ну ведь HTML образовался от XML.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 28.08.2012, 17:37   #19
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Ну ведь HTML образовался от XML.
нет, он образовался от SGML.
ибо HTML допускает явные ошибки с точки зрения xml.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.08.2012, 17:43   #20
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Больше всего меня интересует способ хранения DOM модели
Тот же что и у XML.
1. Каждая нить может иметь атрибуты
2. Каждая нить может содержать другие нити.

Цитата:
Кстати, как-то смотрел результат импорта библиотеки типов MS HTML, и его многоуровневая классификация очень много рассказала о том, как строится DOM.
Во вложении прикрепил результат импорта ActiveX mshtml.tlb в Delphi, может оно вам даст понимание строения DOM.
Вложения
Тип файла: rar MSHTML 4.rar (72.3 Кб, 8 просмотров)
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
принцип работы SaveDialog Form_13 Общие вопросы Delphi 1 20.02.2012 00:24
принцип работы ссылки sbcd Свободное общение 0 03.06.2011 21:50
принцип работы программы sasha14486 Общие вопросы C/C++ 1 22.05.2011 12:36
Принцип работы WH_KEYBOARD_LL wwe2012 Общие вопросы C/C++ 5 01.04.2011 15:46
Принцип работы NS-серверов Ivan_32 Свободное общение 1 31.10.2010 03:38