О чтении и понимании
Нужно обмениваться данными с другой программой. Сделал для ее разработчиков документ с описанием формата на базе 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
no subject
Следующая - когда начинаете удивляться, зачем xml придумали.
no subject
no subject
no subject
Если нужна - JSON (привет веб-сервисам), YAML.
Да, кстати - названные мной форматы по большому счету изоморфны XML.
no subject
К примеру, NMEA-0183 (GPS) - отнюдь не на основе XML, и не вижу смысла в замене его на xml-формат.
no subject
no subject
no subject
no subject
метакласс не написал, что "экпорт будет из НИИ", там таких слов не слышали.
no subject
там таких слов не слышали
обычно все гораздо хуже. у них там СВОЙ xml:)
no subject
no subject
no subject
<!ELEMENT чел (возраст, рост, пол)>
если пол будет перед ростом, то файл невалидный.
no subject
А какой смысл могут нести такие ограничения, если при обработке все равно элементы по имени искать придется?
no subject
вообще хорошо бы увидеть пример в виде такого XML
Такой пойдёт?
<!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
Слышали, что такое DOM, SAX?
no subject
В SAX сделаю три переменных и в вызове обработчика для элемента буду заполнять их, проверяя имя элемента.
И уж всяко не стану надеятся на порядок их расположения в файле - мало ли что там может быть, например комментарий кто-нибудь всунет или еще хрень какую.
no subject
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
Я тоже поначалу думал что это зря, но потом представил себе насколько проще (по загрузке машины) с такой структурой раобтать XSLT процессору. Особенно в случае если элементов с тем же самым названием может быть много.
Ну или вот например если выражение работает не по имени тега а по другим признакам а надо чтобы порядок был, тогда при трансформации чтобы создать упорядоченный список надо процессить ещё раз - грузить машину сортировкой, в то время, как источник данных это прелестно может сделать.
Ну и последнее, чисто пользовательское, вот в банальном HTML приятно будет head искать где угодно или лучше непосредственно перед body?
no subject
Я эту пакость воспринимаю как усложненный вариант БД, а в реляционных БД множество колонок и кортежей не упорядоченное, поэтому всегда сортирую отдельно.
(no subject)
no subject
no subject
no subject
А так насчёт того, что бы товарищи у себя проверяли на валидность xml-я - вполне согласен
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)