Заказ на тэги таблиц

 
RU Alesandro #13.09.2004 13:00
+
-
edit
 

Alesandro
Серокой

координатор
★★★
☤☤
Кстати, благородные доны, а как в ТеХе организован ввод таблиц?
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
+
-
edit
 

avmich

координатор

The HTML table model has evolved from studies of existing SGML tables models, the treatment of tables in common word processing packages, and a wide range of tabular layout techniques in magazines, books and other paper-based documents. The model was chosen to allow simple tables to be expressed simply with extra complexity available when needed. This makes it practical to create the markup for HTML tables with everyday text editors and reduces the learning curve for getting started. This feature has been very important to the success of HTML to date.

Из рекомендации по HTML

Простые таблицы делаются просто. Усложняя таблицу, усложняется разметка. Упрощается изучение. Возможно создание таблиц в обычных текстовых редакторах.

Может быть, несколько иная задача ставится?.. Хотя я всё же предпочёл бы уменьшить количество языков, которые приходтся изучать. А HTML, особенно если несложные странички делаются, достаточно прост.
 
+
-
edit
 

avmich

координатор

Но спор опять не в ту степь. Хочется именно простой разметки. Чтобы лепить простенькие таблицы 2*3 клетки. Без отдельного разъяснения незнакомому с HTML пользователю, что такое table/tr/td/th... Я уже молчу про colSpan/rowSpan.
 


1.1 1.2 1.3
2.1 2.2 2.3


Colspan в простых таблицах не используется; а если надо, так и в HTML он достаточно просто введён - сомневаюсь, что можно сильно проще :) . Без th можно тоже обойтись. Достаточно table, tr, td .
 
+
-
edit
 

avmich

координатор

Может, ты хочешь визуальный редактор сделать? :) Интерактивный? Это несколько другой вопрос.
 
+
-
edit
 

avmich

координатор

Да! Хочу обратить внимание на пример того, как был упрощён ввод математических формул. Смотреть здесь . Формула для квадратного трёхчлена, например, записывается так -

`ax2 + bx + c = 0`

а Ы-формула -

`w = sqrt(2k/(k-1)RT_0(1-(p/(p_0))^((k-1)/k)))`
 
+
-
edit
 

Balancer

администратор
★★★★☆
avmich>Да! Хочу обратить внимание на пример того, как был упрощён ввод математических формул.

Если тебе быть последовательным до конца, то нафига нужен этот "упрощённый ввод", если есть TeX :D

Кстати, на Авиабазе LaTeX поддерживается. Тэги [math] ... [/math]
 

Lerm

втянувшийся
Balancer>Но спор опять не в ту степь. Хочется именно простой разметки. Чтобы лепить простенькие таблицы 2*3 клетки. Без отдельного разъяснения незнакомому с HTML пользователю, что такое table/tr/td/th... Я уже молчу про colSpan/rowSpan.
[»]

Для простых таблиц 2*3 всё это и не нужно. И только не уверяй меня, что переставить два столбца или строки в такой таблице - это проблема. :lol:

Ну тогда такое предложение: заключать каждую ячейку в некий разделитель, например, фигурные скобки (ну или кавычки):
{Ячейка 1-1} {Ячейка 1-2} {Ячейка 1-3}
{Ячейка 2-1} {Ячейка 2-2} {Ячейка 2-3}
{Ячейка 3-1} {Ячейка 3-2} {Ячейка 3-3}
You live and learn. Or you don't live long.  
+
-
edit
 

avmich

координатор

Если тебе быть последовательным до конца, то нафига нужен этот "упрощённый ввод", если есть TeX
 


Это да. Эта разметка из ТеХа и выросла, в значительной степени. Мне, правда, кажется, что ТеХ посложнее изучить, но это субъективный вопрос.
 

Balancer

администратор
★★★★☆
Lerm>Ну тогда такое предложение: заключать каждую ячейку в некий разделитель, например, фигурные скобки (ну или кавычки):
Lerm>{Ячейка 1-1} {Ячейка 1-2} {Ячейка 1-3}
Lerm>{Ячейка 2-1} {Ячейка 2-2} {Ячейка 2-3}
Lerm>{Ячейка 3-1} {Ячейка 3-2} {Ячейка 3-3}[»]

вот и приходим к чему-то типа синтакиса таблиц в TikiWiki который я упоминал в первом постинге :)
||Ячейка 1-1|Ячейка 1-2|Ячейка 1-3||
||Ячейка 2-1|Ячейка 2-2|Ячейка 2-3||
||Ячейка 3-1|Ячейка 3-2|Ячейка 3-3||

Собственно этот тпоик был заведён для того, чтобы определить какой из подобных синтаксисов будет оптимальным. А получилось, как всегда, "кит против трамвая" :)
 

Mishka

модератор
★★☆
avmich>Может, ты хочешь визуальный редактор сделать? :) Интерактивный? Это несколько другой вопрос.[»]

И его хочется. Но вопрос не в мощности языка - HTML вполне себе - а в удобстве его пользования. WYSIWYG - это тоже не плохо. Но хочеться чего-то такого, что, с одной стороны, достаточно высокоуровневое, с другой, достаточно простое. Правда, как я понял, Рома хочет совсем простое.
 
+
-
edit
 

Mishka

модератор
★★☆
Balancer>Собственно этот тпоик был заведён для того, чтобы определить какой из подобных синтаксисов будет оптимальным. А получилось, как всегда, "кит против трамвая" :)[»]

А ты за кого? :P

А вообще-то, удобство переставления столбцов в этом синтаксисе не сильно отличается от HTML. :)
 
+
-
edit
 

avmich

координатор

Это просто HTML. Только вертикальная линия вместо [/td][td] и две вертикальных - вместо , и ещё две вертикальных плюс новая строка - вместо . Повышение наглядности в обмен на усложнение обработки и несколько меньшую терпимость к ошибкам - их хуже видно...
 
+
-
edit
 

Balancer

администратор
★★★★☆
Mishka>А ты за кого? :P
Mishka>А вообще-то, удобство переставления столбцов в этом синтаксисе не сильно отличается от HTML. :)[»]

Так для сложных случаев у меня мой формат остаётся :D
Сабж заведён именно для простых случаев.

avmich>Повышение наглядности в обмен на усложнение обработки

Разве что для обработки на чём-то типа Ассемблера или С++ :)
на Perl или PHP такая обработка ничуть не сложнее обычного выделения HTML.


avmich>и несколько меньшую терпимость к ошибкам - их хуже видно...

Ну да. Вместо вертикальной палки нарисуют косую, например :D То ли дело в цепочке "
" чуть что упустил - сразу заметно! И вероятность допустить опечатку при более долгой писанине меньше :) А ещё пользователи не имеют привычки путать слеши прямые и обратные.

Кстати, вот сейчас для организации ненумерованных списков вместо
у меня пишутся просто звёздочки в начале строки. Наверное, тоже не стоило вводить, т.к.
  • Сложнее обработать
  • Проще допустить ошибку
  • Изобретение велосипеда в виду наличия уже таких конструкций в HTML :)
 
+
-
edit
 

avmich

координатор

Особенно последнее. У тебя и так уже больше одного формата для таблиц наклёвывается. В результате, кроме возможного изучения HTML - он-то много где встречается - приходится один-два(-три?..) формата учить.

Сделай вот как. Оставь возможность набора таблиц на HTML, и сделай дополнительные возможности. Пусть кто как хочет, тот так и набирает.

Хотя, вероятно, тебе это более трудоёмкий вариант...
 
+
-
edit
 

Balancer

администратор
★★★★☆
avmich>Сделай вот как. Оставь возможность набора таблиц на HTML [...]Хотя, вероятно, тебе это более трудоёмкий вариант...

Да, более трудоёмкий. И для меня, в частности, по соображениям безопасности, и для пользователя, т.к. гораздо больше писанины и требуется изучать новые сущности. Для тебя, может, и естественно думать категориями HTML, а для простого пользователя - нет. И в вышеприведённом примере со списком - звёздочка в начале строки похожа на элемент списка, а вот какое-то заклинание вида
- для нормального человека - нет :)
 
+
-
edit
 

avmich

координатор

Трудоёмкость - это довод.

Безопасность при внешнем HTML можно обеспечить.

Изучать приходится новые сущности при нестандартном - т.е. новом, не-HTML-эвском варианте разметки. HTML-то давненько у всех на глазах... а вот заново придуманный вариант разметки изучать с нуля придётся всегда.

Категории HTML, может, и не очень наглядны, зато просты. Он, HTML, с этой идеей и разрабатывался. Успешно.

То что звёздочка в начале списка похожа на заголовок элемента списка, не говорит о том, почему в HTML так не делается :) . Как на Базе тогда в начале элемента звёздочку поставить?..

В общем, расхождения по всем пунктам. Видимо, о разном говорим :( .
 
+
-
edit
 

avmich

координатор

Я просто как-то уж привык колёса без нужды не изобретать. Новый язык разметки, вот уж ненужная вещь... был бы HTML труден, не было бы столько страничек - самых разых, весьма нетехнических людей... Не надо недооценивать, считать людей совсем уж тупыми... А если кто с помощью Базы HTML подучит - что, видимо, получится у человека, которому понадобилось табличку вставить, не такое уж простое сообщение - только хорошо будет.
 
+
-
edit
 

Balancer

администратор
★★★★☆
avmich>Безопасность при внешнем HTML можно обеспечить.

Но сложнее, чем при своём языке разметки. Именно потому, что я простой HTML могу весь просто заиенить на entities, а тут - придётся часть заменять, часть пропускать.

avmich>Изучать приходится новые сущности при нестандартном - т.е. новом, не-HTML-эвском варианте разметки. HTML-то давненько у всех на глазах...

Видимо, мы с тобой в разных мирах живём :) Мой средний пользователь, в т.ч. пользователь Авиабазы, про HTML только слышал, что такой существует. А что какой тэг означает - увольте. Хочешь, опрос на эту тему проведём? :)

Так что большинству пользователей всё придётся учить с нуля. А упрощённая разметка на то и упрощённая, чтобы быть проще оригинального HTML :)

avmich>был бы HTML труден, не было бы столько страничек - самых разых, весьма нетехнических людей...

Странички есть примерно у одного из 1000 пользователей Интернет :)
 
+
-
edit
 

avmich

координатор

Балансер, давай ссылку на материалы типа этого - можно в переводе - дадим? Народ хоть нормальный язычок будет учить. Зачем ему, с нуля, сначала Вижуал Бэйсик подсовывать, когда можно сразу на Схеме...
 
RU Centuriones #25.09.2004 01:34
+
-
edit
 

Centuriones

опытный

Таблицы нужны. Нужны и на форуме, и на самой базе. Использовать HTML для большинства пользователей - просто глупо. Не уверен что половина тех, кто мастерит самопально web-странички знает HTML. Для него есть всякие FrontPage, Macromedia со своими "производными" и куча других оболочек, где создание таблиц вопросов не вызывает. Есть еще и Word :D
По-этому надо ориентироваться исключительно "на дурака". Такого, например, как я, потому что если мне, например, понадобится на сайте сделать таблицу, то я прибегну к FrontPage, а не буду изначально лепить ее в кодах HTML. Если надо, то я посмотрю спецификации HTML и при необходимости подправлю вручную.


Вот мои скромные предложения:

С чего начинается создание таблицы? Наверно с определения числа строк, столбцов, ее номера и названия (если последние необходимы). Следовательно, по логике вещей, должна быть какая-то конструкция типа такой:

[table=<Title>, suptitle=<Suptitle>, col=<Col>, row=<Row>]

это - заголовок и одновременно открывающий тег.

  • Title - заголовок таблицы (может быть пустым);
  • Suptitle - это я так назвал "надзаголовок" (может быть пустым). Обычо это слово "Таблица" или "Таблица 2.18"...
  • Col - число столбцов (1...N);
  • Row - число строк (1...N).


Например:



Ну и соответственно
- закрывающий тег.

Теперь о теле таблицы. Здесь, на мой взгляд, надо просто указывать индексы, описывающую строку и столбец, причем порядок для интерпритации должен быть произвольным. Это просто занесение значений туда, куда надо. Что-то вроде этого:
(row,col=Text)
Вид, в конечном итоге, может быть таким:
(1,1=№ п/п) (1,2=Марка двигателя) (1,3=%СО) ...

Но это совсем просто. Потому я предлагаю небольшое усложнение, но очень полезное и которое позволит создавать таблицы достаточно сложные и без особого умственного напряга. Я имею ввиду следующую запись:
(row1<...row2>,col1<...col2>=Text)
Тут все тоже самое, как и в предыдущем примере, но допускается указывать блоки внутри таблицы.
Нетрудно догадаться, что тогда будет означать следующая запись:
(1...2,1=№ п/п) (1...2,2=Марка двигателя) (1,3...5=Технические характеристики)
(2,3=P, кВт) (2,4=max обороты) (2,5=%СО)
(3,1=1) (3,2=М-412) (3,3=75) (3,4=5600) (3,5=х.з.)
(4,1=2) (4,2=Тойота) (4,3=х.з.) (4,4=х.з.) (4,5=х.з.)

Ну, и в конечном итоге вся запись будет иметь вид:


(1...2,1=№ п/п) (1...2,2=Марка двигателя) (1,3...5=Технические характеристики)
(2,3=P, кВт) (2,4=max обороты) (2,5=%СО)
(3,1=1) (3,2=М-412) (3,3=75) (3,4=5600) (3,5=х.з.)
(4,1=2) (4,2=Тойота) (4,3=х.з.) (4,4=х.з.) (4,5=х.з.)


А сама таблица должна иметь вот такой вид:

[attachmentid=8172]

(х.з. - это общепринятое сокращение, означающее НЕТ ДАННЫХ) :D
Прикреплённые файлы:
Table_1.jpg (скачать) [16,33 кбайт, 10 загрузок] [attach=26842]
 
 
Раньше были времена,
А теперь мгновения.
Раньше поднимался дух,
А теперь давление.
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru