Пространства имен и схемы 70 Сегментация проблемы 71


Использование указателей в ссылках



жүктеу 3,64 Mb.
бет65/150
Дата17.01.2022
өлшемі3,64 Mb.
#33337
түріПротокол
1   ...   61   62   63   64   65   66   67   68   ...   150
Лекции 2

Использование указателей в ссылках

Указатели, основанные на схеме, используются точно так же, как и простые указатели. Они записываются в атрибутах элементов-ссылок после пути к файлу и отделяются от него"решеткой":



xlink:href="mydoc.xml#element(color/3) "/>


Понятие схемы в языке XPointer

Слово "схема" в языке XPointer получило новое значение. Это запись вида

element (color/3)

похожая на запись функции и состоящая из имени схемы и данных, записанных в скобках.

Схемы, записанные в указателе, просматриваются последовательно до тех пор, пака не будет найдена точка в документе, отвечающая какой-либо схеме. После этого просмотр указателя прекращается, оставшиеся схемы не рассматриваются. В приведенном выше примере, если будет найден элемент section, то схема element (color/3) рассматриваться уже не будет.

Имя схемы- это уточненное имя типа Qname, состоящее из необязательного префикса, связанного с идентификатором пространства имен, и локальной части, отделенной от префикса двоеточием.

Имена без префиксов зарезервированы за схемами, которые определяются в рекомендациях консорциума W3C. Каждая схема, предложенная консорциумом, описывается отдельной рекомендацией. Разработчики могут вводить свои семы, снабжая их имена префиксами.

Смысл и правила записи данных зависят от вида схемы. Есть только одно общее правило, вытекающее из того, что данные записываются в скобках - все скобки, относящиеся к данным, должны быть парными или предваряться символом «каре» («крышечкой»): xxx^(yyy или yyy^)xxx. Если же в данных встречается символ каре, то его следует удваивать: xxx^^yyy.

Разумеется, схема- это не функция, она ничего не вычисляет и не выдает никакого результата. Это просто форма записи, несколько неожиданная и непривычная для языков, основанных на XML.

Схема element()

Схема element() реализует потребность ссылаться на элемент документа XML примерно в таком стиле: «сослаться на второй абзац третьего параграфа договора №5». Реализация очень проста и выглядит следующим образом:

element(/1/3/2)

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

Запись вида /1/3/2 называется последовательностью вложений. Она напоминает запись пути к файлу. Наклонная черта отмеча­ет вложенный элемент подобно вложенному каталогу файловой системы, но вместо имени вложенного каталога или файла стоит натуральное число. Число, записанное за наклонной чертой, показывает порядковый номер не­посредственно вложенного элемента. Отсчет элементов начинается с 1.

Поскольку в хорошо оформленном документе XML может быть только один корневой элемент, последовательность вложений обычно начинается с на­клонной черты и единицы: /l. За следующей наклонной чертой перечисляются элементы, непосредственно вложенные в корневой элемент и т. д.

Перед последовательностью вложений может стоять простой указатель. В этом случае вложения отсчитываются не от корневого элемента, а от элемента, помеченного этим указателем. Применяя простой указатель, предыдущий пример можно записать так:

element (sect3a/2)

Наконец, данные в схеме element () могут состоять только из простого указателя:

element (sect3a)

Это эквивалентно написанию простого указателя без всякой схемы.


жүктеу 3,64 Mb.

Достарыңызбен бөлісу:
1   ...   61   62   63   64   65   66   67   68   ...   150




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау