О чтении и понимании
Mar. 31st, 2009 12:27 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Нужно обмениваться данными с другой программой. Сделал для ее разработчиков документ с описанием формата на базе CSV, в котором есть такие строки:
"дата - формат dd.mm.yyyy, с выводом незначащих нулей."
"в первых трех строках последнее поле не указано, поэтому в конце строки стоит ;" (Всего полей шесть, последнее может быть пустым и чтобы парсеру не обрабатывать частные случаи - пустое последнее поле должно быть).
Присылают файл с такими строками:
"10780;11077112;31.03.2009;1.04.2009;1014"
Вопрос, что я объяснил не так?
"дата - формат dd.mm.yyyy, с выводом незначащих нулей."
"в первых трех строках последнее поле не указано, поэтому в конце строки стоит ;" (Всего полей шесть, последнее может быть пустым и чтобы парсеру не обрабатывать частные случаи - пустое последнее поле должно быть).
Присылают файл с такими строками:
"10780;11077112;31.03.2009;1.04.2009;1014"
Вопрос, что я объяснил не так?
no subject
Date: 2009-03-31 09:54 am (UTC)no subject
Date: 2009-03-31 10:02 am (UTC)Следующая - когда начинаете удивляться, зачем xml придумали.
no subject
Date: 2009-03-31 10:12 am (UTC)no subject
Date: 2009-03-31 10:34 am (UTC)no subject
Date: 2009-03-31 10:54 am (UTC)Если нужна - JSON (привет веб-сервисам), YAML.
Да, кстати - названные мной форматы по большому счету изоморфны XML.
no subject
Date: 2009-03-31 10:58 am (UTC)К примеру, NMEA-0183 (GPS) - отнюдь не на основе XML, и не вижу смысла в замене его на xml-формат.
no subject
Date: 2009-03-31 11:30 am (UTC)no subject
Date: 2009-03-31 01:30 pm (UTC)no subject
Date: 2009-03-31 11:00 am (UTC)no subject
Date: 2009-03-31 10:03 am (UTC)метакласс не написал, что "экпорт будет из НИИ", там таких слов не слышали.
no subject
Date: 2009-03-31 10:13 am (UTC)там таких слов не слышали
обычно все гораздо хуже. у них там СВОЙ xml:)
no subject
Date: 2009-03-31 11:20 am (UTC)no subject
Date: 2009-03-31 12:14 pm (UTC)no subject
Date: 2009-03-31 12:31 pm (UTC)<!ELEMENT чел (возраст, рост, пол)>
если пол будет перед ростом, то файл невалидный.
no subject
Date: 2009-03-31 12:50 pm (UTC)А какой смысл могут нести такие ограничения, если при обработке все равно элементы по имени искать придется?
no subject
Date: 2009-03-31 12:53 pm (UTC)вообще хорошо бы увидеть пример в виде такого XML
Такой пойдёт?
Date: 2009-04-01 09:15 am (UTC)<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>title</title>
</head>
<body>
<p>page</p>
</body>
</html>
Используемый http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd предполагает head непосредственно перед body и никак иначе, даже если это кому-то не нравится.
no subject
Date: 2009-03-31 01:39 pm (UTC)Слышали, что такое DOM, SAX?
no subject
Date: 2009-03-31 02:15 pm (UTC)В SAX сделаю три переменных и в вызове обработчика для элемента буду заполнять их, проверяя имя элемента.
И уж всяко не стану надеятся на порядок их расположения в файле - мало ли что там может быть, например комментарий кто-нибудь всунет или еще хрень какую.
no subject
Date: 2009-03-31 02:21 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-03-31 02:55 pm (UTC)Я тоже поначалу думал что это зря, но потом представил себе насколько проще (по загрузке машины) с такой структурой раобтать XSLT процессору. Особенно в случае если элементов с тем же самым названием может быть много.
Ну или вот например если выражение работает не по имени тега а по другим признакам а надо чтобы порядок был, тогда при трансформации чтобы создать упорядоченный список надо процессить ещё раз - грузить машину сортировкой, в то время, как источник данных это прелестно может сделать.
Ну и последнее, чисто пользовательское, вот в банальном HTML приятно будет head искать где угодно или лучше непосредственно перед body?
no subject
Date: 2009-03-31 03:08 pm (UTC)Я эту пакость воспринимаю как усложненный вариант БД, а в реляционных БД множество колонок и кортежей не упорядоченное, поэтому всегда сортирую отдельно.
(no subject)
From:no subject
Date: 2009-03-31 09:49 pm (UTC)no subject
Date: 2009-04-01 08:44 am (UTC)no subject
Date: 2009-04-01 09:00 am (UTC)А так насчёт того, что бы товарищи у себя проверяли на валидность xml-я - вполне согласен
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From: