Библиотека
Скачать PDF

Р 50.1.030-2001. Рекомендации по стандартизации. Информационные технологии поддержки жизненного цикла продукции. Интерактивные электронные технические руководства. Требования к логической структуре базы данных

Государственный комитет Российской Федерации по стандартизации и метрологии · № Р 50.1.030-2001Действующий акт

9.3 Объекты диалога

Рисунок 7 — Кнопка

Атрибут target определяет объект, на который будет осуществлен переход по нажатию этой кнопки (этим объектом может являться объект process).

9.3.4 Поле со списком

Поле со списком представляет собой поле ввода в выпадающим меню возможных значений. Оно описывается объектом choice. Поле со списком содержит объекты item, определяющие перечень возможных значений:

default NUMBER #IMPLIED
             target IDREF        #IMPLIED></pre>

Необязательный атрибут target определяет объект, на который будет осуществлен переход после выбора пользователем значения (этим объектом может являться process).

В случае, если поле со списком (рисунок 8) является целевым объектом атрибута source объекта parameter, в качестве значения передается номер выбранного пользователем значения (нумерация начинается с единицы).

9.3 Объекты диалога

Рисунок 8 — Список

9.3.5 Переключатель

Переключатель представляет собой визуальный объект (рисунок 9), позволяющий выбрать одну из возможных альтернатив. Он описывается объектом radio. Переключатель содержит объекты item, определяющие перечень возможных альтернатив:

<ATTLIST radio %a.node;

            default       NUMBER #IMPLIED>

9.3 Объекты диалога

Рисунок 9 — Переключатель

В случае, если переключатель является целевым объектом атрибута source объекта parameter, в качестве значения передается номер выбранной альтернативы (нумерация начинается с единицы).

9.3.6 Поле ввода

Поле ввода представляет собой визуальный объект, позволяющий ввести текстовые данные (рисунок 10). Оно описывается объектом input. Поле ввода содержит текст, появляющийся по умолчанию:

9.3 Объекты диалога

Рисунок 10 — Поле ввода

В случае, если поле со списком является целевым объектом атрибута source объекта parameter, в качестве значения передается номер выбранного пользователем значения (нумерация начинается с единицы).

9.3.7 Флажок

Флажок представляет собой визуальный объект, позволяющий установить его значение или сбросить (рисунок 11). Он описывается объектом check.

9.3 Объекты диалога

Рисунок 11 — Флажок

В случае, если флажок является целевым объектом атрибута source объекта parameter, в качестве значения передается единица, если флажок установлен, и ноль — в противном случае.

9.3.8 Список значений

Список значений представляет собой визуальный объект (рисунок 12), позволяющий выбрать одно значение из нескольких приведенных. Он описывается объектом selection.

9.3 Объекты диалога

Рисунок 12 — Список значений

В случае, если поле со списком является целевым объектом атрибута source объекта parameter, в качестве значения передается номер выбранного пользователем значения (нумерация начинается с единицы).

9.3.9 Пример использования диалогов

Рассмотрим в качестве примера диалог (рисунок 13), в ходе которого у пользователя запрашиваются параметры неисправности и, в зависимости от указанных параметров, отображаются соответствующие разделы ИЭТР. Например для идентификации неисправности необходимо запросить у пользователя информацию о проведении самотестирования агрегата, информацию о данных на индикаторе и напряжении на контактах ФП-3. Совокупность запрашиваемых данных можно представить в виде диалога следующего вида:

9.3 Объекты диалога

Рисунок 13 — Пример диалога с управляющими объектами

Данный диалог можно ввести в базу данных при помощи описанных выше объектов общего типа. В терминах SGML изображенный выше диалог будет записан следующим образом:

..............................

Параметры неисправности Самотестирование агрегата выполнено На индикаторе: NO SIGNAL OVERFLOW DATA LOST ---------- NORMAL Напряжение на контактах ФП-3 0 Вольт 30 Вольт 60 Вольт Диагностика Индикатор Напряжение

Заметим, что в базе данных должны присутствовать разделы с идентификаторами toSwitch, toLocation, toNoSignal, которые (по смыслу) должны описывать методы устранения неисправностей при заданных параметрах. Объект process должен, в зависимости от параметров, указанных пользователем, осуществлять переход на один из этих разделов.

Данный диалог можно более наглядно представить в виде схемы, представленной на рисунке 14.

9.3 Объекты диалога

Рисунок 14 — Схема диалога

Описанные выше декларации объектов общего типа составляют в совокупности DTD общего типа. Файл DTD общего типа приведен в приложении В.

КРАТКОЕ ОПИСАНИЕ ЯЗЫКА SGML (ИСО 8879)

Под разметкой текста подразумевается внесение в текстовые данные специальных вставок (тегов) с целью выделения и обозначения отдельных информационных объектов.

А.1 Общие сведения о языках разметки

Разбиение текста при разметке заключается в установке в начале выделяемой части специальной вставки, называемой открывающим тегом, и в конце выделяемой части — вставки, называемой закрывающим тегом.

Пример неразмеченного текста:

               ┌───────────────────────────────────────────┐
               │Жегалкин Иван Владимирович Петров Андрей   │
               │Владимирович Введение в языки разметки 1989│
               │год Под языками разметки ....              │
               └───────────────────────────────────────────┘

Пример размеченного текста:
            ┌────────────────────────────────────────────────┐
            │<AUTHOR ID=1>Жегалкин Иван Владимирович</AUTHOR>│
            │<AUTHOR ID=2>Петров Андрей Владимирович</AUTHOR>│
<pre class="legal-pre">            │<TITLE>Введение в языки разметки <TITLE>        │
            │<DATE>1989 год</DATE>                           │
            │<CONTENT>Под языками разметки ....              │</pre>
            └────────────────────────────────────────────────┘

Открывающий тег имеет следующий формат:

<имя_объекта имя_атрибута1=значение_атрибута1 имя_атрибута2=значение_атрибута2 имя_атрибута3=значение_атрибута3 ........>

Закрывающий тег имеет формат:

</имя_объекта>

Объектом является часть размеченного текста, включающая в себя открывающий и закрывающий теги, а также все данные, находящиеся между ними.

Объект может включать в себя другие объекты.

Пример:

a ...... ......

В данном примере объекты B и C входят в объект A, а объект D — в объект B.

Любой корректный SGML документ состоит из двух частей:

  1. DTD — формальное описание (декларация) объектов, их атрибутов и связей;

  2. данные, в которых знаками разметки выделены объекты, объявленные в DTD.

А.2 DTD — описание логической структуры документа

DTD представляет собой обычный текстовый документ, состоящий из некоторого количества записей в определенном формате.

А.2.1 Описание элемента

Объект объявляется (декларируется) в DTD следующим образом:

А.2 DTD - описание логической структуры документа

А.2.2 Правила минимизации

Правила минимизации представляют собой строку из двух символов, разделенных пробелом. Первый символ показывает, обязательно ли в тексте документа должен присутствовать открывающий тег для объекта данного типа: если символ равен «-», то для данного объекта открывающий тег обязателен, если же первый символ равен «О» (прописная буква, а не ноль), то открывающий тег можно опустить. Второй символ аналогичным образом определяет необходимость указания закрывающего тега.

А.2.3 Модель содержания

Модель содержания определяет обязательную структуру сложного, составного объекта и является обязательной частью декларации объекта. Рассмотрим пример:

Правила минимизации показывают, что у элемента techdesc обязательно должны присутствовать открывающий и закрывающий теги. Модель содержания говорит о том, что в объекте techdesc обязательно должны присутствовать объекты title, version и system в указанной последовательности.

А.2.4 Индикаторы

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

«?» — объект может присутствовать, либо нет (0 или 1). «*» — объект может присутствовать неограниченное число раз подряд, но может и не присутствовать вовсе (>= 0). «+» — объект должен присутствовать, по крайней мере, один раз (>= 1).

Можно установить индикатор сразу на группу объектов, выделив группу в скобки:

A.2.5 Конъюнкция объектов

В модели содержания можно снять ограничения на порядок объектов, а также использовать логическую операцию дизъюнкции объектов:

В данном случае, в составе объекта techdesc, объекты version и system могут в произвольном порядке следовать за объектом title.

А.2.6 Дизъюнкция объектов

В данном случае объект techdesc должен содержать два объекта, причем вторым объектом может быть либо version, либо system.

А.2.7 Исключения

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

Данный пример показывает, что в объект techdesc в произвольном месте может входить объект crossref, но не может входить объект drawing.

А.2.8 Ключевые слова

Кроме имен объектов, в модели содержания могут встречаться ключевые слова языка SGML: #PCDATA, ANY и EMPTY.

Ключевое слово #PCDATA означает, что объект может содержать произвольные текстовые данные, например

Ключевое слово ANY означает, что объект может содержать произвольные данные:

Ключевое слово EMPTY означает, что объект не должен содержать другие объекты. Как правило, если модель содержания объявлена как EMPTY, закрывающий тег разрешается опустить:

А.2.9 Атрибуты объектов

Перечень атрибутов объекта определяется записью следующего вида:

<!ATTLIST имя_объекта

    ...............>

Поле имя_объекта указывает имя объекта, для которого задается перечень атрибутов. Далее идут описания атрибутов, где поле имя_атрибута NN задает имя атрибута объекта. Имена атрибутов должны состоять из латинских букв и цифр, причем имя обязательно должно начинаться с буквы.

Атрибут может иметь один из приведенных ниже форматов.

Значение поля по_умолчанию определяет, является ли атрибут обязательным для объекта, а также может задавать значение атрибута по умолчанию. Перечислим возможные значения поля по_умолчанию:

Пример декларации объекта и его атрибутов:

        ┌──────────────────────────────────────────────────┐
<pre class="legal-pre">        │<!ELEMENT image - O EMPTY>                        │
        │<!ATTLIST image                                   │
        │      name        CDATA                  "IMPLIED │
        │      sysid       CDATA                  "REQUIRED│
        │      encoding    (cgm|bmp|jpeg|wmf|gif) 'cgm'    │
        │      minsize     NUTOKEN                "IMPLIED │
        │      x-location  NUMBER                 "REQUIRED│
        │      y-location  NUMBER                 "REQUIRED│
        │      transform   NAME                   "IMPLIED │
        │      >                                           │</pre>
        └──────────────────────────────────────────────────┘

Пример корректного выделения объекта в документе:

A.2.10 Макросы SGML

В языке SGML предусмотрены специальные конструкции, реализующие функции макроподстановки. Указание макроподстановки записывается в следующем виде:

После объявления макроподстановки выражение «&строка 1», обнаруженное в тексте, будет заменено на «строка 2».

Макроподстановки могут использоваться при написании DTD. В этом случае после ключевого слова ENTITY указывается знак процента.

Макроподстановки используются также для включения в DTD ранее декларированных объектов, в частности описанных в других стандартах. Например указание

** %hytime;

объявляет объекты, описанные в ИСО/МЭК 10744 [2].

А.3 Размеченный документ SGML

Размеченный документ SGML представляет собой текстовый файл либо совокупность текстовых файлов, размеченных в соответствии с некоторым DTD. Любой размеченный документ SGML должен начинаться с объявления типа документа:

или

где после ключевого слова DOCTYPE указывается корневой объект документа, затем ставится ключевое слово SYSTEM или PUBLIC и указывается местоположение DTD.

Данные, размеченные в соответствии с ИСО 8879 [1], часто бывает удобно представлять в форме графических диаграмм, отображающих иерархию объектов.

Пример. Следующие две формы представления эквивалентны:

А.3 Размеченный документ SGML

А.4 Комментарии

Для улучшения восприятия размеченного текста разрешается в тело документа вставлять комментарии. Комментарий представляет собой текст, поясняющий смысл размеченных данных, описаний объектов и т.п. Синтаксически комментарий представляет собой произвольные текстовые данные, расположенные между открывающим маркером комментария «».

Наиболее часто комментарии используются в описаниях объектов в DTD.

Пример:

НАБОР ОБЪЕКТОВ ДЛЯ ПРЕДСТАВЛЕНИЯ МАТЕМАТИЧЕСКИХ ФОРМУЛ

В данном приложении приведены декларации объектов, предназначенных для представления математических формул.

Б.1 Объект «формула»

Объект «формула» включает в себя набор всевозможных комбинаций объектов, составляющих формулу. Эти объекты задаются макросом formula:

Объект «формула» объявляется с использованием указанной макроподстановки следующим образом:

Для обеспечения вариантности используется объект «альтернативная формула»:

Б.2 Нижний и верхний индексы

Верхний и нижний индексы определяются объектами sup и sub соответственно:

Б.3 Надсимвольные и подсимвольные знаки

Надсимвольные и подсимвольные знаки определяются объектами heap, over и under.

Пример:

Надсимвольный знак выражениевыражение

Подсимвольный знак выражениевыражение

Б.4 Дробь

Дробные выражения определяются объектами frac, over.

Пример

числительзнаменатель

Б.5 Корень

Корень определяется объектом sqrt.

Пример

выражение

Б.6 Квадрат

Квадрат определяется объектом square.

Пример

выражение

Б.7 Степень

Степенные выражения определяются объектами power, degree,of.

Пример

степеньвыражение

Б.8 Степенной корень

Степенной корень определяется объектами root, degree,of.

Пример

степеньвыражение

Б.9 Интеграл

Интеграл определяется объектами integral, from,to,of.

Пример

выражениевыражениевыражение

Б.10 Сумма, произведение, объединение, пересечение

Сумма, произведение, объединение, пересечение определяются объектами plex, from,to,of.

Пример

символвыражениевыражениевыражение

В качестве символа могут выступать знаки суммы, произведения, объединения или пересечения.

Б.11 Матрица

Матрица определяется объектами matrix, col и above. Матрица задается последовательностью столбцов:

Пример

выражениевыражениевыражение...

.......

Б.12 Скобки

Скобки задаются объектом fence.

Атрибут type определяет вид скобок:

интервал (...| - open left
интервал [...) - open right

Центральный разделитель в скобках задается объектом separator:

Пример

выражениевыражение

Б.13 Пример использования элементов математических формул

Рассмотрим в качестве примера, математическое выражение формула .

В терминах вышеперечисленных объектов на языке SGML описание приведенной формулы имеет вид:

fH= x&laysin;X ∑ i=1n e2i 0i cos πx i dx =1,n=3...10

DTD ОБЩЕГО ТИПА

Настоящее приложение содержит пример полного DTD общего типа.

<!ENTITY %a.node

«id ID #IMPLIED
        Cdm        NAME    #FIXED    'node-seq'
        Ref        IDREF   #CONREF"></pre>
„id ID #IMPLIED
        Cdm        NAME    #FIXED    'node-alts'
        Ref        IDREF   #CONREF"></pre>
id ID #IMPLIED
      colspan      NUMBER  #IMPLIED
      rowspan      NUMBER  #IMPLIED></pre>
x-location NUMBER #IMPLIED
      y-location   NUMBER  #IMPLIED
      source       ENTITY  #REQUIRED></pre>
default NUMBER #IMPLIED
      target IDREF   #IMPLIED></pre>

(рекомендуемое)

МЕТОДИКА
РАЗРАБОТКИ DTD КОНТЕКСТНОГО ТИПА

Г.1 Представление модели содержания в виде дерева

При создании визовых DTD применяются различные визуальные методы представления взаимосвязи объектов. Наиболее распространенным является метод представления иерархии объектов в виде дерева, основанный на декомпозиции модели содержания (приложение А). Для визуального представления используются следующие обозначения:

Г.1 Представление модели содержания в виде дерева - недекомпозируемый (терминальный) объект;
Г.1 Представление модели содержания в виде дерева - макрос SGML;
Г.1 Представление модели содержания в виде дерева - декомпозируемый объект;
Г.1 Представление модели содержания в виде дерева - объект с дополнительными атрибутами;
Г.1 Представление модели содержания в виде дерева - корневой объект базы данных.

Соединители описывают последовательное вхождение, дизъюнкцию и конъюнкцию объектов:

Г.1 Представление модели содержания в виде дерева - последовательное вхождение;
Г.1 Представление модели содержания в виде дерева - конъюнкция объектов;
Г.1 Представление модели содержания в виде дерева - дизъюнкция объектов.

Индикаторы задаются следующими обозначениями:

Г.1 Представление модели содержания в виде дерева - простое вхождение (нет индикаторов);
Г.1 Представление модели содержания в виде дерева - один или более раз (+);
Г.1 Представление модели содержания в виде дерева - необязательный объект (?);
Г.1 Представление модели содержания в виде дерева - ноль или более раз (*).

Пример использования обозначений

Г.1 Представление модели содержания в виде дерева

Данное представление эквивалентно следующей записи модели
содержания:

Г.2 Пример DTD контекстного типа

Ниже приведен пример DTD контекстного типа, содержащий декларации объектов, необходимых для представления технического описания изделия/подсистемы/узла:

<!ENTITY % system«system|system-alts»>
<!ENTITY % descinfo«descinfo|descinfo-alts»>
<!ENTITY % task«task|task-alts»>
<!ENTITY % reqcond«reqeond|reqcond-alts»>
<!ENTITY % inputs«inputs|inputs-alts»>
<!ENTITY % person«person|person-alts»>
<!ENTITY % equip«equip|equip-alts»>
<!ENTITY % refmat«refmat|refmat-alts»>
<!ENTITY % expend«expend|expend-alts»>
<!ENTITY % consum«consum|consum-alts»>
<!ENTITY % alert«alert|alert-alts»>
<!ENTITY % step«step|step-alts»>
<!ENTITY % follow-on«follow-on|follow-on-alts»>
<!ENTITY % partinfo«partinfo|partinfo-alts»>
<!ENTITY % partbase«partbase|partbase-alts»>
<!ENTITY % connection«connection|connection-alts»>
<!ENTITY % attach-part«attach-part|attach-part-alts»>
<!ENTITY % location«location|location-alts»>
<!ENTITY % faultinf«faultinf|faultinf-alts»>
<!ENTITY % test«test|test-alts»>
<!ENTITY % outcome«outcome|outcome-alts»>
<!ENTITY % fltstate«fltstate|fltstate-alts»>
<!ENTITY % fault«fault|fault-alts»>
<!ENTITY % rect«rect|rect-alts»>
<!--Данная декларация представляет собой корневой объект технического описания-->
<!ELEMENT techinfo — - (version+, (%system;)+)>
<!ATTLIST techinfo%a.node;>

<!ATTLIST consum %a.node; quantity NUTOKEN #REQUIRED

<!ATTLIST partinfo %a.node;

<!ATTLIST partbase %a.node;

<--Объект attach-part соответствует простому шаблону. Объект указывает перечень деталей, присоединяемых к детали partinfo.-->

<--Объект location соответствует простому шаблону и содержит информацию о местоположении детали (узла) в координатах x, y, z.->

<!ATTLIST location %a.node;

<!ELEMENT location-alts - - (location)+>
<!ATTLIST location-alts %a.node-alts;>

БИБЛИОГРАФИЯ

[1] ИСО 8879-86 <*> Обработка информации. Текстовые и офисные системы. Стандартный обобщенный язык разметки (SGML)
[2] ИСО/МЭК 10744-98 <*> Информационная технология. Язык структурирования гипермедийной информации на основе разметки по времени (HyTime)
[3] REC-CSS2-19980512 <**> Cascading Style Sheets, level 2

<*> Оригиналы международных стандартов ИСО/МЭК — во ВНИИКИ Госстандарта России.

<**> Данный документ доступен в Интернете по адресу: http://www.w3c.org.

УДК 656.072:681.3:006.354ОКС 25.040.40П87ОКСТУ 4002
Ключевые слова: интерактивное техническое руководство, техническое руководство, эксплуатационная документация, электронное руководство, электронный технический документ