WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → SGML. SGML - структури. DTD - Реферат

SGML. SGML - структури. DTD - Реферат

вимагаються як способи забезпечення можливості роботи з декількома ієрархіями, так і методи забезпечення надійності такого маркапа і виключення небажаного взаємного впливу. SGML забезпечує ці можливості на різних рівнях - як на найпростішому, колиобов'язок стежити за несуперечністю перетинання структур лягати на користувача, так і на самому верхньому рівні, забезпечуючи можливість застосування різних схем маркапа для того самого документа, тобто, формально, допускають що документ може включати декілька типів документів.
SGML-структури
У цьому параграфі описуються чітка і проста ідея схеми маркапа, використовувана в SGML для ідентифікації структурних елементів у тексті. Також описуються методи, що надає SGML для визначення правил, що описують, які комбінації цих елементів є припустимими для документа.
Елементи
Елемент - термін, використовуваний у SGML для позначення якої-небудь структурної одиниці тексту. Різним типам елементів даються різні імена, але SGML не надає ніякого способу визначення змісту і значення конкретного типу елемента, крім завдання його відносин з іншими елементами. Таким чином, єдине, що можна сказати про елемент (наприклад) - це те, чи можуть екземпляри цього елемента зустрічатися усередині елементів типу , і те, чи може він сам бути декомпозован на елементи типу . Варто підкреслити, що SGML ніяким образом не визначає семантику елементів; по стандарті вона залежить від додатка.Створення SGML-сумісного набору тегів і завдання їхнього змісту саме і є тією задачею, що вирішують додаткові стандарти, такі як HTML і XML, XSL; саме вони задають конкретну схему маркапа й у частині синтаксису роблять це в термінах SGML. При визначенні елемента йому необхідно привласнити ім'я, що відбиває його призначення; таке ім'я називається generic identifier (GI).
У тексті (document instance, екземплярі документа) кожен елемент повинний бути явно позначений деяким чином. Стандарт надає безліч можливостей зробити це, найбільше часто використовуваним є вставка тега на початку елемента (start-tag) і іншого наприкінці (end-tag). Старт- і енд- теги використовуються щоб узяти в дужки текст, що входить в елемент, точно так само, як різні дужки і лапки в звичайній пунктуації. Наприклад, цитата може бути позначена в такий спосіб:
... Rosalind's remarks This is the silliest stuff
that ere I heard of! clearly indicate ...
Як видно з цього приклада, старт-тег має форму , де кутові дужки задають початок і кінець самого старт-тега, а gi - ідентифікатор тега. Енд-тег відрізняється від старт-тега тільки тим, що перед ідентифікатором ставиться коса риса: .
Моделі змісту
Елемент може бути порожній, тобто взагалі не мати вмісту, чи містити простий текст. Однак звичайно елементи одного типу будуть вкладені (будуть цілком міститися) усередині елементів іншого типу і т.д. Таким чином, текст має деревоподібну структуру, у якій елементи рекурсивно входять один в іншій:
Element::=EMPTY | Char+ | Element+
Щоб проілюструвати це, розглянемо вкрай просту структурну модель: припустимо, що в межах антології ми хочемо ідентифікувати тільки вірші, а саме, їхні назви і строфи і рядки, з яких вони складаються. У термінах SGML, тип нашого документа - антологія і вона складається з послідовності віршів. Кожен стих являє собою заголовок, за яким випливає одна чи більш строфа. Строфа складається з послідовності рядків. Цілком розмічений, текст буде виглядати в такий спосіб:
The SICK ROSE
O Rose thou art sick.
The invisible worm,
That flies in the night
In the howling storm:
Has found out thy bed
Of crimson joy:
And his dark secret love
Does thy life destroy.
Пробіли і розриви рядків додані винятково для зручності читання, вони не мають особливого значення для SGML. Рядок
є SGML-коментарем.
У цьому прикладі не робиться ніяких припущень із приводу обмежень накладаються на елементи, наприклад такі, чи може назва розташовуватися не перед першою строфою чи вірша про тім, чи можуть існувати рядка, що не входять у строфу. Саме тому маркап такий багатослівний: у ньому початок і кінець кожного елемента явно позначені, оскільки не задано правил про тім, де і коли може розташовуватися деякий елемент. Однак на практиці можна сформулювати правила, що дозволяють скоротити необхідний обсяг маркапа. Наприклад, у нашій спрощеній моделі вірша, ми можемо задати наступні обмеження:
1. У межах антології містяться вірші і нічого більш.
2. Вірш завжди має єдиний елемент-заголовок, що передує першій строфі і не утримуючих інших елементів.
3. Крім заголовка, вірш містить тільки строфи.
4. Строфи складаються тільки з рядків і будь-який рядок міститься в строфі.
5. За строфою може випливати тільки інша чи строфа кінець вірша.
6. За рядком випливає тільки інший чи рядок початок нової строфи
З цих обмежень можна вивести деякі наслідки:
" З обмежень 5 і 6 випливає, що немає необхідності явно позначати кінці строф і рядків.
" З обмеження 2 випливає, що не потрібно позначати кінець назви - він задається неявно початком першої строфи.
" Аналогічно, з обмежень 1 і 3 випливає, що не обов'язково позначати кінець вірша: оскільки вірші не можуть міститися усередині віршів, але повинні міститися усередині антологій, кінець вірша мається на увазі початком іншого або завершенням антології.
Застосовуючи ці спрощення, ми може розмітити той же вірш у такий спосіб:
The SICK ROSE
O Rose thou art sick.
The invisible worm,
That flies in the night
In the howling storm:
Has found out thy bed
Of crimson joy:
And his dark secret love
Does thy life destroy.
Можливість завдання правил, що визначають, які елементи можуть бути вкладені в інші елементи - одна з найважливіших характеристик SGML. Фактично, SGML дозволяє задати граматику мови маркапа.
Перш ніж розглянути ці правила більш докладно, приведемо конкретні приклади тих можливих дій, які можна виконати з розробленим нами документом-антологією. Проста програма, що індексує, може витягати деякі текстові елементи, наприклад, назви, щоб скласти зміст антології; чи створити список усіх слів (wordlist), використовуваних у віршах. Проста форматуюча програма може вставляти порожні рядки між строфами, можливо нумеруючи останні. Різні частини віршів можуть бути представлені різним форматуванням, наприклад, заголовки - жирним шрифтом. Більш складна програма, що аналізує, може простежити використання розділових знаків стосовно розділів на строфи і метричний малюнок вірша. І звичайно ж, вищенаведений текст може бути перенесений з одного комп'ютера на іншій і оброблений будь-якою чи людиною будь-якою програмою, що розуміють, який зміст мають його теги, без необхідності в різних трансформаціях і перетвореннях, необхідних при переносі файлів різних proprietary текстових
Loading...

 
 

Цікаве