Телефонная книга EltexIPPhoneDirectory формата .xml состоит из двух частей: пролога и корневого элемента.
Пролог содержит объявление XML, указывающее на то, что это XML-документ, а также включает в себя номер версии XML и кодировку:
<?xml version="1.0" encoding="UTF-8" ?> |
Корневой элемент представляет собой описание телефонной книги EltexIPPhoneDirectory, который включает в себя список всех групп, контактов и принадлежащие им номера. Открывающий тег корневого элемента выглядит следующим образом:
<EltexIPPhoneDirectory> |
Значение корневого элемента <EltexIPPhoneDirectory> содержит нижеописанные теги.
Тег <Title> описывает название телефонной книги, в котором указана принадлежность к определенному вендору:
<Title>EltexPhones</Title> |
Следом за ним идет тег <Prompt>, который используется для подсказок, значением параметра может быть любое текстовое сообщение:
<Prompt>Prompt</Prompt> |
Далее расположены парные теги <Grouplist> и </Grouplist>, которые включают в себя самозакрывающиеся теги <Group/>. Они же, в свою очередь, содержат название группы в парах атрибут-значение (name="Разработка"):
<Grouplist>
<Group name="Разработка"/>
<Group name="Тестирование"/>
</Grouplist> |
Вслед за этим идет перечисление контактов. Каждый из них разделен между собой парными тегами — <DirectoryEntry> и </DirectoryEntry>. Внутри тега <Name> указывается значение имени контакта. Ниже, внутри тега <Telephone> задается номер контакта. В случае, если контакту принадлежат 2 или 3 номера, то каждый из них прописывается в новой отдельной строке внутри аналогичного тега <Telephone>. Максимальное количество номеров для одного контакта — 3. Далее, внутри тега <Group> указывается группа, в которую входит контакт. Запись контакта, его номеров и группы, частью которой является данный контакт, представлена ниже:
<DirectoryEntry>
<Name>Федор Антипов</Name>
<Telephone>2000</Telephone>
<Telephone>2001</Telephone>
<Telephone>2002</Telephone>
<Group>Тестирование</Group>
</DirectoryEntry> |
Для всех остальных контактов используется аналогичный синтаксис.
После перечисления всех групп и контактов указывается закрывающий тег корневого элемента, который выглядит следующим образом:
</EltexIPPhoneDirectory> |
Пример телефонной книги EltexIPPhoneDirectory формата .xml:
<?xml version="1.0" encoding="UTF-8" ?>
<EltexIPPhoneDirectory>
<Title>EltexPhones</Title>
<Prompt>Prompt</Prompt>
<Grouplist>
<Group name="Разработка"/>
<Group name="Тестирование"/>
</Grouplist>
<DirectoryEntry>
<Name>Иван Сидоров</Name>
<Telephone>1001</Telephone>
<Telephone>1002</Telephone>
<Telephone>1003</Telephone>
<Group>Разработка</Group>
</DirectoryEntry>
<DirectoryEntry>
<Name>Федор Антипов</Name>
<Telephone>2000</Telephone>
<Telephone>2001</Telephone>
<Telephone>2002</Telephone>
<Group>Тестирование</Group>
</DirectoryEntry>
<DirectoryEntry>
<Name>Василий Кузнецов</Name>
<Telephone>8002</Telephone>
<Telephone>6008</Telephone>
<Group>Разработка</Group>
</DirectoryEntry>
<DirectoryEntry>
<Name>Виктор Игнатов</Name>
<Telephone>4020</Telephone>
<Group>Тестирование</Group>
</DirectoryEntry>
</EltexIPPhoneDirectory> |
Телефонная книга VendorIPPhoneBook другого вендора формата .xml начинается с пролога, он же начальный тег.
В начальном теге элемента описана принадлежность книги определенному вендору, а также содержится атрибут xmlns, который используется для определения пространства имен. Определение пространства имен для элемента означает, что все дочерние элементы с одинаковым префиксом связаны с одним и тем же пространством имен.
<VendorIPPhoneBook xmlns:b="urn:crystal-reports:schemas:report-detail"> |
Тег <Title> описывает название телефонной книги, в котором указана принадлежность к определенному вендору:
<Title>Vendor</Title> |
Далее идет описание первой группы в телефонной книге.
Заглавным тегом для обозначения группы контактов является тег <Menu>, который содержит название группы в парах атрибут-значение (Name="Job"):
<Menu Name="Job"> |
Вслед за этим идет перечисление контактов. Каждый из контактов разделен между собой самозакрывающимся тегом <Unit/>, который имеет пары атрибут-значение:
Ниже приведена полная запись информации для одного контакта:
<Unit Phone3="8782" default_photo="Resource:" Name="Алексеев Олег Владимирович" Phone1="4467" Phone2="7621"/> |
Для всех остальных контактов используется аналогичный синтаксис.
После перечисления всех контактов в данной группе указывается закрывающий тег, который выглядит следующим образом:
</Menu> |
Для всех остальных групп контактов используется аналогичный синтаксис.
Завершает структуру телефонной книги закрывающий тег, который выглядит следующим образом:
</VendorIPPhoneBook> |
Пример телефонной книги VendorIPPhoneBook формата .xml:
<VendorIPPhoneBook xmlns:b="urn:crystal-reports:schemas:report-detail"> <Title>Vendor</Title> <Menu Name="Job"> <Unit Phone3="" default_photo="Resource:" Name="Boss-group" Phone1="2517" Phone2=""/> <Unit Phone3="8782" default_photo="Resource:" Name="Алексеев Олег Владимирович" Phone1="4467" Phone2="7621"/> <Unit Phone3="2081" default_photo="Resource:" Name="Иванова Мария Федоровна" Phone1="86338531113" Phone2="2080"/> <Unit Phone3="" default_photo="Resource:" Name="Максимов Сергей Иванович" Phone1="2214" Phone2="2215"/> <Unit Phone3="" default_photo="Resource:" Name="Петров Станислав Николаевич" Phone1="8003" Phone2="8004"/> <Unit Phone3="" default_photo="Resource:" Name="Харитонов Леонид Юрьевич" Phone1="9010" Phone2=""/> <Unit Phone3="" default_photo="Resource:" Name="Шишкин Павел Степанович" Phone1="9120" Phone2="9809"/> <Unit Phone3="4752" default_photo="Resource:" Name="Юров Владимир Константинович" Phone1="2931" Phone2="7820"/> <Unit Phone3="8432" default_photo="Resource:" Name="Яволов Аркадий Борисович" Phone1="1010" Phone2="8600"/> </Menu> </VendorIPPhoneBook> |
Телефонная книга EltexIPPhoneDirectory формата .csv состоит из двух частей: заголовка (опционально) и строк, которые состоят из отдельных столбцов. Каждая строка — это отдельная строка таблицы, а столбцы отделены один от другого специальными символами-разделителями.
При наличии заголовка в первой строке файла указывается перечисление следующих полей:
Name,Group,Phone1,Phone2,Phone3 |
Значения заголовков:
Ниже приведена полная запись информации для одного контакта с использованием заголовка:
Name,Group,Phone1,Phone2,Phone3 Михаил,Руководство,4002,4004,4006 |
Для всех остальных контактов используется аналогичный синтаксис.
Не только символ запятой (,) может являться разделителем значений колонок. Телефонные книги формата .csv дополнительно поддерживают следующие символы в качестве разделителей: (;), (.), (:), (|) и знак табуляции.
Пример использования символа двоеточие (:) в качестве разделителя:
Степан:Охрана:7021:7022:7023 |
Для всех остальных контактов используется аналогичный синтаксис.
Пример телефонной книги EltexIPPhoneDirectory формата .csv:
Name,Group,Phone1,Phone2,Phone3 Григорий,Руководство,7020,9020, Михаил,Руководство,4002,4004,4006 Степан,Охрана,7021,7022,7023 Илья,ВЭД,7008,7009,7010 |