Прошу помощи по созданию xml-файла, для настройки ПО

Тема в разделе "WASM.ZEN", создана пользователем EvilsInterrupt, 28 ноя 2006.

  1. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    Есть множество трубопроводов и есть множество клиентов, которые могут\не могут просматривать значения параметров трубпроводов(температура вещества в трубопроводе). Так вот могут\не могут должно зависить от настройки ПО, которое я сейчас разрабатываю!
    Вот привожу XML-файл того что я уже создал:
    Код (Text):
    1.     <Clients>
    2.     <Client id="0"
    3.         Description="Клиент номер один"
    4.         NetWorkPort="1111"
    5.         Count="1"/>
    6.     <Client id="1"
    7.         Description="Клиент номер два"
    8.         NetWorkPort="2222"
    9.         Count="1"/>
    10.     </Clients>
    11.     <Tubings>
    12.         <Pipe
    13.         Number="0" Name="Респект-давление на рулез объекте"
    14.         <Client id="0" Allow="0"/>
    15.         <Client id="1" Allow="1"/>
    16.         />
    17.         <Pipe
    18.         Number="1" Name="Респект-температура на рулез объекте"
    19.         <Client id="1" Allow="0"/>
    20.         <Client id="0" Allow="1"/>
    21.         />
    22.     </Tubings>
    в коде выше,
    Характеристика клиентов
    тег Clients определяет общие настройки клиентов, кол-во просматриваемых параметров, сетевой порт для получения данных по трубопроводу, название клиент, его идентификатор, возможно добавлю другие!
    Характеристика трубопровдов
    В теге Tubings(он не верен, я привел чтобы пояснить свою мысль), хочу создать однотипный тип тега Pipe в котором я смогу:
    - Указать номер трубопровода
    - Название трубопровода
    - Массив однотипных тегов Client, в каждом из которых можно будет указать Идентификатор клиента(его описание в в п. "Характеристика клиентов"), а также флаг Allow который будет говорить о том, что можно ли данному клиенту высылать информации об изменении параметра данного трубопровода.

    Не получается:
    Создать однотипный тег Client в нутри тега Pipe, который в свою очередь однотипный и входит в Tubings.

    Однотипность мне позволяет в коде парсера который я получаю через XML-Buindings в среде Turbo-Delphi обращаться как будто тег указатель и можно делать метод Next, что значительно упращает код!
     
  2. opennetworks

    opennetworks New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    436
    Тут есть вариант использовать UML
     
  3. opennetworks

    opennetworks New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    436
    Фабрика клиентов
     
  4. opennetworks

    opennetworks New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    436
    Абстрактный клиент
     
  5. opennetworks

    opennetworks New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    436
    Конкретный клиент
     
  6. opennetworks

    opennetworks New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    436
    <off>
    Нафига контент засекретил?
    </off>
     
  7. novice2

    novice2 New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    14
    а почему тег неправилно оформлен. может так надо?
    <Pipe Number="0" Name="Респект-давление на рулез объекте">
    <Client id="0" Allow="0"/>
    <Client id="1" Allow="1"/>
    </<Pipe>
     
  8. opennetworks

    opennetworks New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    436
    А у вас прям правильно:)
     
  9. opennetworks

    opennetworks New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    436
    Ведь есть же продукты типа Rational Rose

    Чё за изврат писать всё в ручную?
     
  10. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    opennetworks
    Такой продукт шибко громоздкий! Очень я скажу!
    Я уже решил проблему!

    Запрещаю по умолчанию то что чаще всего не надо и имею в xml перечень тех труб, что надо открыть клиенту, получается удобно:

    Код (Text):
    1. [b]var[/b]
    2. tmpPipeID : Integer;
    3. tmpClientID : Intger;
    4. [b]begin[/b]
    5. for I := 0 to xmlpipe.count -1 do
    6. begin
    7.   tmpPipeID := xmlfile.Pipe[i].pipeid;
    8.   tmpClientId := xmlfile.pipeid[i].Clientid;
    9.   Array[ClientID].Pipe[tmpPipeID].Allow := True;
    10. end;
    все просто!
     
  11. opennetworks

    opennetworks New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    436
    Ну Umbrello попробуй или эклипс
     
  12. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    opennetworks
    Ты не заметил того что я написал, а написал я: