Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > Как написать протокол на базе XML ?


Автор: A... 15.11.2004, 17:20
Привет всем.
Кто может подсказать

1. Что означает протокал на базе XML ?
2. Что можно почитать чтоб сделать такое ?

Зарание спасибо.

Автор: Ignat 15.11.2004, 17:45
В общем случае - это протокол, созданный в соответствии со стандартом XML.
Стандарт этот очень широкий, поэтому встречный вопрос, а что за протокол?

Автор: A... 15.11.2004, 20:21
Передомной стоит задача написать протокол на базе XML, для передачи данных с сервера клиенту (если зто имеет значение сервер я должен напистаь на С++, а клиент на Java и зто все должно работать под Linux).

Автор: LSD 15.11.2004, 20:42
XML это всего лишь формат представления данных. В первую очередь надо определиться, какие данные должны передаваться, а затем уже пытаться представить их в виде XML.
Если знаешь, что за данные должны передаваться то опиши их, там видно будет.

Автор: Sardar 15.11.2004, 21:13
С начала обдумываем что мы будем отсылать(общими словами).
Затем какую сервисную инфу, что бы программы работали(различные команды и т.д.)
Читаем основы XML, как представить твои данные в XML структуре.
Генерим XML файл любыми средставми и пересылаем его клинту/серверу smile

Автор: A... 15.11.2004, 21:14
Да конечно знаю вот

Код


2004-08-31 14:07:49.906000,18.0999984741210938,8392705
2004-08-31 14:08:09.906000,18.0999984741210938,8392705
2004-08-31 14:08:29.906000,18.0999984741210938,8392705
2004-08-31 14:08:49.906000,18.0999984741210938,8392705
2004-08-31 14:09:09.906000,18.0999984741210938,8392705
2004-08-31 14:09:29.906000,18.0999984741210938,8392705
2004-08-31 14:09:49.906000,18.0999984741210938,8392705
2004-08-31 14:10:09.906000,18.0999984741210938,8392705
2004-08-31 14:10:29.906000,18.0999984741210938,8392705
2004-08-31 14:10:49.906000,18.0999984741210938,8392705
2004-08-31 14:11:09.906000,18.0999984741210938,8392705
2004-08-31 14:11:29.906000,18.0999984741210938,8392705
2004-08-31 14:11:49.906000,18.0999984741210938,8392705
2004-08-31 14:12:09.906000,18.0999984741210938,8392705
2004-08-31 14:12:29.906000,18.0999984741210938,8392705
2004-08-31 14:12:49.906000,18.0999984741210938,8392705
2004-08-31 14:13:09.906000,18.0999984741210938,8392705
2004-08-31 14:13:29.906000,18.0999984741210938,8392705
2004-08-31 14:13:49.906000,18.0999984741210938,8392705
2004-08-31 14:14:09.906000,18.0999984741210938,8392705
2004-08-31 14:14:29.906000,18.0999984741210938,8392705
2004-08-31 14:14:49.906000,18.0999984741210938,8392705
2004-08-31 14:15:09.906000,18.0999984741210938,8392705
2004-08-31 14:15:29.906000,18.0999984741210938,8392705
2004-08-31 14:15:49.906000,18.0999984741210938,8392705
.........
.........



тут 25 строк, а на самом деле таких срточек 5000. Да скажу что зти данные в MySQL.

Автор: Sardar 15.11.2004, 21:32
А что мешает отсылать это всё в таком виде, поделеном на пакеты да еще и в сжатом виде?

Если из принципа, то 1 тег record, на каждуюколонку по тегу, в атрибуты кидаем атрибуты колонки. Получившиеся данные отсылаем текстом, размер хорошо увеличится smile

Автор: A... 15.11.2004, 22:40
Так получается что фраза "написать протокол на базе XML" означает что нужно представить данные в XML структуре. Сгенерировать XML файл любыми средставми и послать его клинту/серверу smile

Автор: Ignat 16.11.2004, 10:50
Цитата(A @ 15.11.2004, 22:40)
Так получается что фраза "написать протокол на базе XML" означает что нужно представить данные в XML структуре. Сгенерировать XML файл любыми средставми и послать его клинту/серверу

Именно, только нужно, чтобы получатель понял твои данные - т.е. знал твое XML-дерево.

Автор: Sardar 16.11.2004, 11:00
Протокол это набор соглашений понимаемый всеми кто принял эти соглашения. Общими словами протокол это: формат передаваемых данных, допустимые значения, допустимые комманды если они нужны, допустимые правила что бы распозновать новые допустимые команды и данные.

Автор: LSD 16.11.2004, 20:32
Таблицу в виде XML можно представить например такой схемой:
Код
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <xsd:element name="ROWSET">
   <xsd:complexType>
     <xsd:sequence maxOccurs="20" minOccurs="1">
       <xsd:element name="ID">
         <xsd:simpleType>
           <xsd:restriction base="xsd:integer">
             <xsd:minInclusive value="0"/>
             <xsd:maxInclusive value="2147483647"/>
           </xsd:restriction>
         </xsd:simpleType>
       </xsd:element>
       <xsd:element name="NAME" nillable="true">
         <xsd:simpleType>
           <xsd:restriction base="xsd:string">
             <xsd:minInclusive value="0"/>
             <xsd:maxLength value="100"/>
           </xsd:restriction>
         </xsd:simpleType>
       </xsd:element>
       <xsd:element name="DATE" type="xsd:dateTime" nillable="true" minOccurs="0"/>
     </xsd:sequence>
   </xsd:complexType>
 </xsd:element>
</xsd:schema>

тут предполагается что, в таблице 3 колонки:
  • ID - число, от 0 до 2147483647, не нулевая, обязательная
  • NAME - строка, длинна от 0 до 100, нулевая, обязательная
  • DATE - дата-время, нулевая, не обязательная
всего одиним XML документом, может быть переданно от 1 до 20 колонок.
Добавлено @ 20:34
Недостатком данной схемы является, то что при измененни в структуре таблиц ее тоже придется переделывать. Можно разработать более универсальную схему, но тогда анализ ее будет сложнее.

Автор: ZAVS 17.11.2004, 15:04
Zjablik jan aper mi hat xml-i patcharov es inch shuxur es drel
harcneir kasei eli
imast@ en a vor xml-@ generacnum es u uxarkum es serverin(kam hakarak@)
server@ xml-@ prs a anum(kardum haskanum a smile) u generacnum a patasxan xml-@

es ameninch@ nshanakum a vor tcp-ip-i vra avelanum a mi hat nor level xml-i hashvin
es el xml-i bazaji vra qo pratakol-@
isk xi pratakol@ vortev et qo xml-i strukturaji kanonner@ petq a ham klient hamel server cragrer@
imanan
isk et kanonner@ (tvjal depqum tegeri anunner@) voroshum es du
vse


ete petq a irar het daseri vaxt kanenq:)

Автор: A... 17.11.2004, 15:59
ок, спасибо всем..smile

Автор: ZAVS 17.11.2004, 17:53
ara isq-t miacru

Автор: Ignat 18.11.2004, 18:29

 ! 
 
ZAVS, пишите, пожалуйста, по-русски или давайте перевод


PS. Если вы хотите, чтобы вас не поняли другие - пишите в ПМ

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)