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-25 12:14 am (UTC)
From: (Anonymous)
>Ну, например, можно лисповскую нотацию взять. Тоже парсер придуман аж полвека назад. Да ещё read macros туда навешать, чтобы юзера скобочками не пугать.

Да не, Виктор. Тогда придется для чтения этого фала уже саму реализацию Common Lisp применять, чтобы read macro пережевать.. Никто на такое не пойдет. Я пишу на Common Lisp и, разумеется, конфигурационные файлы делаю на нем же. Другого и быть не может. Но как только выходим за границы Common Lisp (Си, например), то лисповская нотация s-выражений становится просто голым синтаксическим деревом, для которого придется парсер писать или что-то вроде guile или librep присобачивать (некоторые так и делают). Возможно, это дерево кому-то будет попроще руками править, а кому-то и сложнее (особенно без применения того же emacs, например). Нельзя сказать, что это будет принципиально лучше XML. Можно будет сказать, что равномощно, чуть более понятнее для чтения и правки. См. тот же SXML (ссылка выше).

WBR, Zubok

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

July 2025

S M T W T F S
  12345
6789 1011 12
13141516 17 1819
20212223242526
2728293031  

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 22nd, 2025 08:24 am
Powered by Dreamwidth Studios