Программа SatXmlEditor для редактирования файла xml
Обновление 12.11.2023 до версии 2.3.5
- Добавлен перевод на сербский язык.
Как поклонник спутникового приема, мне иногда приходится редактировать файл satellites.xml. Этот файл содержит параметры всех спутников и их транспондеров, которые должны автоматически настраиваться приемником. Возможно, в эпоху BlindScan это немного старомодно. Но даже в этом случае иногда полезно объяснить тупой машине, что и как делать.
Сначала я спросил других энтузиастов отрасли, как они редактируют этот файл. И в большинстве случаев я получал ответ, что вручную в текстовом редакторе. Мне это кажется слишком трудоемким и рискованным. Ведь в этом файле есть свои правила, заданные в формате xml, которые можно легко нарушить, если проявить немного неосторожности. Я хотел использовать программу, которая бы контролировала за мной правильную целостность файла. И к моему удивлению, в сети я не нашел ни одного эффективного средства. Поэтому я решил попробовать написать такую программу. Так родился SatXmlEditor.
Рис. 1 - Внешний вид программы после запуска
Через некоторое время пользователь «doron» в комментарии к английской версии этой статьи спросил меня, что программа умеет редактировать и кабельные трансляции. Поскольку я пользуюсь только спутником, я ничего не знал о кабеле. Я начал расспрашивать и обнаружил, что в моем спутниковом ресивере также есть файлы atsc.xml, cables.xml и terrestrial.xml. Хотя я их не использую, они были заполнены некоторыми примерными данными. Поэтому я подумал, что попробую расширить свою программу, включив в нее их редактирование. И это удалось. Я верю, что моей программой сможет воспользоваться большее количество людей.
Рис. 2а - Главная страница для типа вещания atsc
После запуска программы мы можем сразу приступить к записи данных во внутреннюю базу данных. Там есть совершенно отдельные таблицы для всех четырех видов вещания. Это означает, что мы можем работать со всеми четырьмя типами файлов одновременно. Выбираем тип трансляции слева в меню программы. Информацию о кодировке текста можно увидеть в нижней строке программы. Если мы хотим начать работать в другой кодировке, перед запуском программы изменяем соответствующее значение в файле SatXmlEditor.ini. Элементы транспондера не могут быть получены до тех пор, пока хотя бы один элемент не будет получен в главном окне типа трансляции.
Рис. 2б - Главная страница для типа вещания cables
Другой вариант — открыть существующий файл с диска вашего компьютера или загрузить его непосредственно с приемника Enigma. В обоих случаях программа копирует данные в свою базу данных и не продолжает работать с исходным файлом. При открытии файла с диска нет необходимости различать, какой это тип трансляции. Программа автоматически распознает содержимое файла, загружает данные и переходит на главную страницу обнаруженного типа трансляции. В сетевых обсуждениях я обнаружил, что многие люди используют XML-файл, созданный с разных веб-сайтов. Например http://satellites-xml.org . Загруженный с этого сайта XML-файл сжимается в zip-архив. Программа SatXmlEditor с этим справится, поэтому нет необходимости предварительно куда-то распаковывать xml.
Программа оснащена функцией Drag and Drop. Это означает, что XML- или zip-файл можно открыть следующим образом. Захватите мышкой значок файла данных, перетащите его на значок программы и отпустите. Второй вариант — щелкнуть ПРАВОЙ кнопкой мыши на значке XML- или zip-файла и выбрать в меню «Открыть в программе». При первой попытке программы SatXmlEditor, вероятно, еще не будет в списке, поскольку Windows о ней не знает. Приходится искать его через меню «Выбрать другое приложение».
Рис. 2в - Главная страница для типа вещания satellites
Возможность скачать файл с ресивера находится в меню "Данные - Приемник" в левом меню программы. Эта страница появляется автоматически после запуска программы. В этом случае нам уже предстоит выбрать тип файла, который мы хотим скачать с ресивера. После скачивания программа также автоматически перейдет на главную страницу выбранного типа трансляции.
Рис. 2г - Главная страница для типа вещания terrestrial
После открытия или загрузки файла программа узнает, как закодирован текст (UTF-8, iso-8859-1,...) и записывает эту информацию в нижнюю строку программы. При этом он сохраняет его в файле SatXmlEditor.ini и использует при следующем запуске программы. На главной странице редактируются данные основных узлов xml-файлов. Любые комментарии можно оставить в графе «Комментарий». Эти комментарии всегда сохраняются в файле xml как комментарий в конце строки после основного узла.
Рис. 3 – Открыть окно редактирования
Выбираем любой элемент в окне таблицы и далее работаем с ним с помощью меню на нижней панели. При выборе F5 или F9 открывается окно, где можно внести необходимые изменения. Пока мы не закроем окно, нажав F2 или Esc, остальные функции программы заблокированы. Это защита безопасности, поэтому необходимо всегда прозрачно завершать текущее редактирование. Множественный выбор не разрешен в основных таблицах. Это означает, что вы можете работать только с одним элементом одновременно.
Рис. 4а - Страница транспондера для типа вещания atsc
Переключаться между отдельными типами трансляции можно с помощью главного меню в левой части программы или с помощью вкладок в верхней части главного окна. После выбора главного окна фоновая программа автоматически переключается на соответствующую таблицу транспондеров.
Рис. 4б - Страница транспондера для типа вещания cables
После выбора элемента в главном окне переходим в окно транспондеров, дважды щелкнув по текущему элементу, используя клавишу со стрелкой вправо, щелкнув статусную строку окна в месте с надписью Транспондеры или воспользовавшись меню Транспондеры в меню в левой части программы.
Рис. 4в - Страница транспондера для типа вещания satellites
В таблице показаны все транспондеры, относящиеся к выбранному элементу из главного окна. Их редактирование возможно с помощью меню на нижней панели окна. Мультиселект включен для транспондеров. Это означает, что несколько элементов можно выбрать одновременно обычным способом в Windows. Использование предназначено для удаления или копирования элементов. На данный момент редактирование должно производиться по одному предложению за раз.
Рис. 4г - Страница транспондера для типа вещания terrestrial
Программа SatXmlEditor способна на одну нестандартную функцию. Отдельные транспондеры можно включать и выключать. Это данные первого столбца таблицы. Галочка означает, что транспондер активен и сохраняется в XML-файле обычным способом. Если пункт не отмечен, весь транспондер будет сохранен в xml-файле в виде комментария. Это означает, что получатель его игнорирует, но данные все равно сохраняются в файле. И, просто установив этот флажок, транспондер можно снова активировать. Также есть возможность сохранить отдельный комментарий для каждого транспондера. Текст комментария пишется в последнем столбце таблицы транспондеров.
Вы можете использовать буфер обмена Windows при редактировании транспондеров. Мы можем скопировать выбранные элементы в буфер обмена, а затем вставить их из буфера обмена между любыми другими транспондерами. Копирование и вставка транспондеров может привести к созданию дубликатов, которые программа не решает. Все оставлено на усмотрение пользователя. Данные в буфере обмена представлены в текстовом формате. Поэтому можно копировать транспондеры из других файлов, открытых в обычном текстовом редакторе, через буфер обмена и таким образом создавать свои собственные компиляции из нескольких источников.
Рис. 6 – Страница с вступительным комментарием
В начале всех xml-файлов можно написать отдельный вводный комментарий. Меню «Данные – Вводный комментарий» предназначено для их редактирования в программе. Комментарий может быть любой длины и содержания. Как и в случае с транспондерами, каждый тип вещания имеет собственное окно вступительных комментариев. С помощью вкладок вверху окна можно легко переключаться между вступительными комментариями всех типов трансляций.
Рис. 7 – Страница дампа файла settings
Файл settings содержит данные о настройках входных тюнеров ресивера. В случае спутникового вещания есть значение позиции спутника, которое должно соответствовать положению в файле satellites.xml. Вот почему я добавил возможность просмотра его содержимого. Пока это только в информационных целях. Этот файл нельзя редактировать или сохранять. Однако текст в окне можно скопировать и в дальнейшем обработать в любом текстовом редакторе. Для облегчения ориентации строки, относящиеся к настройкам входного тюнера, окрашены в синий цвет.
Измененные данные можно в любой момент сохранить в файл на диске компьютера или загрузить непосредственно в приемник. Во втором случае ресивер автоматически перезагружается после записи (init 6). На необходимость постоянного сохранения изменений указывает красный цвет текста в нижней строке главных окон отдельных типов трансляций.
При сохранении изменений проверяется программа перед открытием нового файла, перед загрузкой файла с ресивера или перед закрытием программы. В этих случаях вас спросят, хотите ли вы сохранить текущие измененные данные в файл на диске компьютера. В настоящее время данные не могут быть отправлены получателю. Если мы не сохраним или не загрузим внесенные изменения в приемник, они будут безвозвратно утеряны.
Программа переведена на четыре языка – английский, чешский, немецкий и русский. Информация о текущем языке хранится в файле SatXmlEditor.ini. После запуска программы автоматически выбирается последний использованный язык.
Программа также включает руководства на соответствующих языках в файлах PDF. Вы можете найти их в подкаталоге Doc. Разумеется, их можно просмотреть любой программой, предназначенной для файлов pdf. Однако в меню программы также доступно меню «Информация – документация», которое отображает соответствующий файл без необходимости использования внешнего браузера. Руководство содержит несколько более подробное описание программы, чем содержимое данного сайта.
В окне «О программе» вы найдете контактный адрес электронной почты и адреса этих сайтов. Чего вы здесь не найдете, так это номеров счетов для финансовой поддержки, ссылок на спонсоров или рекламы. Я предлагаю эту программу совершенно бесплатно.
Если вы пользуетесь программой, она вам нравится и вы все равно хотите ее каким-либо образом поддержать, пришлите мне отзыв на почту
Желают вам приятного использования программы. Надеюсь, это облегчит вашу работу.
Примечание:
При сохранении в файл или при отправке получателю программа сортирует порядок пунктов по atsc, cables и terrestrial по алфавиту. Файл satellites будет отсортирован по значению «Позиция». Порядок транспондеров будет отсортирован по значению «Частота». Любая другая сортировка в файлах XML не будет сохранена.
Ограничения программы:
- После записей узлов <atsc > <cable > <sat > или <terrestrial > можно разместить только один комментарий. Другие будут потеряны.
- После записи <transponder> можно разместить только один комментарий. Другие будут потеряны.
- Комментарии между концом узлов </atsc> </cable> </sat> или </terrestrial> и началом следующего узла не загружаются и будут потеряны. Это означает, что XML-файлы нельзя разделить с помощью комментариев на отдельные разделы.
Скачать всю программу можно в разделе Файлы для скачивания. Если у вас есть дополнительные предложения по программе или вы сообщите об ошибках в программе, я постараюсь выпустить следующую версию по своим способностям и возможностям.
Известные ошибки, которые будут исправлены в новой версии:
- Просьба добавить редактирование параметра plp_id для наземных Транспондеров.
Журнал изменений:
Версия 2.3.5
- Добавлен перевод на сербский язык.
Версия 2.3.4
- Исправлена ошибка с клавишами «Удалить» и «Вставить», теперь их можно использовать как F8 и F9.
- Загрузка файла *.zip. Если XML-файл сжат в zip-архив, программа с ним справится.
- Функция Drag and Drop, т.е. открытие файла путем перетаскивания его значка на значок программы. Вы также можете использовать функцию Windows: Открыть в программе -> SatXmlEditor.
- Добавлены переводы новых фраз.
Версия 2.3.1
- Добавлено редактирование файлов atsc.xml, cables.xml и terrestrial.xml.
- Исправлена некорректная загрузка при определенной комбинации данных, комментариев и отключенных транспондерах.
- Исправление других мелких ошибок.
Версия 1.1.8
- Добавлено использование буфера обмена Windows, только для транспондеров.
- Добавлена опция множественного выбора, только для транспондеров.
- Добавлена возможность вывода документации из меню программы.
- Исправлено обнаружение отключенного транспондера. Слово "транспондер" уже можно использовать в комментарии.
- Исправить другие мелкие ошибки.
Версия 1.0.7
- Обнаружение кодировки текста в загружаемом файле Satellites.xml (UTF-8, iso-8859-1, ...). Обнаруженная кодировка записывается в нижней строке программы. Сохранение в той же текстовой кодировке.
- Пункт комментария добавлен в таблицу Satellites.
- При загрузке xml текущий спутник отображается в нижней строке. Поэтому, когда возникает ошибка при загрузке xml, вы можете увидеть, для какого спутника произошла ошибка.
- В файл Languages.xml добавлены переводы новых текстов.
Версия 1.0.0
Первая опубликованная версия.