vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
Читаю сейчас конфигурационный файл утилиты rutilt (конфигуришки для WiFi карточек rt73 под Linux).
И вижу там примерно следующее
<Profile Name="Wagners_home">
    <SSID>Wagners_home</SSID>
    <Mode>2</Mode>
    <Channel>1</Channel>
    <Encryption>
        <Type>1</Type>
        <Key>много шестнацатиричных цифр</Key>
        <Key></Key>
        <Key></Key>
        <Key></Key>
        <AuthenticationType>0</AuthenticationType>
        <DefaultKey>0</DefaultKey>
    </Encryption>
    <IPSettings>
        <How>1</How>
    </IPSettings>
</Profile>
d<Profile Name="Cryptocom">
    <SSID>спрятано</SSID>
    <Mode>2</Mode>
    <Channel>11</Channel>
    <Encryption>
        <Type>3</Type>
        <Key>много шестнадцатиричных цифр</Key>
        <Key></Key>
        <Key></Key>
        <Key></Key>
        <AuthenticationType>2</AuthenticationType>
        <DefaultKey>0</DefaultKey>
 </Encryption>
    <IPSettings>
        <How>1</How>
    </IPSettings>
</Profile>



Не совсем понимаю, зачем ради такого XML городить. Я бы написал так

<Profile priority="0" Name="Wagners_home">
    <SSID visibility="visible">Wagners_home</SSID>
    <card-settings mode="managed" channel="1" />
    <Encryption type="wep" authentication-type="open">
      <key number="0" default="yes" encoding="hex">много шестнадцатиричнх цифр</key>
     </Encryption>
     <IPSettings type="dhcp" />
</Profile>
<Profile priority="1" Name="Cryptocom">
    <SSID visibility="hidden">спрятано</SSID>
    <card-settings mode="manged" channel="11"/>
    <Encryption type="TKIP" authentication-type="WPAPSK">
      <key number="0" default="yes" encoding="ascii">много букв</key>
     </Encryption>
    <IPSettings type="dhcp" />
</Profile>


В данный вариант добавлена информация о том, доступен ли в данной сети SSID для сканирования, которой в оригинале не было. А мне для zero-click solution её надо - должна же программама догадатсья, стоит ли пробовать сконнектиться с этой сетью если скан не показывает её ssid. Ну и приоритеты сетей - в каком порядке пробовать коннектиться


Вообще, я неоднократно сталкивался с ситуацией, когда люди, пытающиеся разработать какую-то DTD совершенно не умеют пользоваться выразительным богатством XML. Наиболее частая проблема - та же, что у автора rutilt - пихают всю информацию в содержимое элементов, не задумываясь о том, что бывают ещё и атрибуты. Попадалось и обратное - что человек в упор не понимал концепции PCDATA и боялся писать текст между тэгами. Всё пихал в атрибуты.

Я, конечно, не буду утверждать что я такой весь из себя большой спец по XML. Я схем-то за свою жизнь сдизайнил не более десятка (правда, были среди них весьма развесистые).

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

Date: 2007-10-24 12:41 pm (UTC)
From: [identity profile] buldozr.livejournal.com
XML сам по себе ничего валидировать не может. Валидируют валидаторы при наличии соответствующего описания в DTD, XML Schema, Relax NG или каком-то другом неизвестном науке формате.
From: [identity profile] fk0.livejournal.com
Валидатор позволяет только валидировать. НО НЕ ПОНИМАТЬ записанное. А каков смысл в валидации XML порождённого и используемого сторонними приложениями?

Вот я и говорю. Единый парсер он смысла никакого не имеет. Тем более, если это парсер такого нечитаемого ужаса. Лучше уж windows ini. Но там ПАРСЕР СЛОЖНЫЙ. (и тем не менее, проще, чем XML...) Нечто вроде /etc/passwd -- другое дело. Если нужен простой конфиг почему бы и не.

Только вот если в конфиге 5 ручек для настройки и для него заводится XML -- это абсолютный ахтунг. Для этого переменных окружения достаточно (кому нужен конфиг -- в файлик запишут и sh-ом считают).
From: [identity profile] buldozr.livejournal.com
А каков смысл в валидации XML порождённого и используемого сторонними приложениями?

Смысл в том, чтобы не создавать свой валидатор, а ограничиться созданием схемы (что полезно и для формализации формата).

Нет, я согласен, что для простых конфигураций, которые не предполагается модифицировать машинным способом, XML это перебор, и есть парсеры ini-форматов (с маленькими различиями в деталях, хе-хе). Но терять время на написание очередного парсера конфигурации, я надеюсь, мне больше никогда не придется.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

August 2025

S M T W T F S
     1 2
3456789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 3rd, 2025 08:07 pm
Powered by Dreamwidth Studios