Page 148 - 4785
P. 148

часто  використовується  -  #PCDATA.  Це  скорочення  отparsed
                            character  data  (розібрані  символьні  дані),  і  воно  означає,  що
                            описуваний  елемент  може  включати  будь-які  дозволені  символьні
                            дані. Якщо  уявити собі SGML  опис  у вигляді структури на зразок
                            генеалогічного дерева, з одним предком нагорі (в нашому випадку,
                            це  буде  <anthology>),  то  майже  завжди,  якщо  слідувати  по  гілках
                            дерева вниз (наприклад, від <anthology> до <poem>, <stanza>, <line>
                            або  <title>),  ми  прийдемо  до  #PCDATA.  У  нашому  прикладі  так
                            визначені <title>  і <line>. Так як в їх моделі вмісту вказано тільки
                            #PCDATA і не названо жодних включаються елементів, то вони не
                            можуть містити інші елементи.
                                 Позначення включення
                                Вищенаведеий  опис  для  <stanza>  встановлює,  що  строфа
                            складається  з  однієї  чи  більше  рядків.  Воно  використовує
                            позначення  включення  (occurence  indicator)  -  знак  плюс  -  для
                            вказівки  того,  скільки  разів  може  зустрічатися  елемент,
                            пойменований  в  моделі  вмісту.  У  синтаксисі  SGML  є  три
                            позначення  включення,  зазвичай  представлених  знаком  плюс,
                            знаком  питання  і  зірочкою.  (Так  само,  як  і  обмежувачі,  ці  знаки
                            мають  формальні  найменування  і  можуть  бути  перевизначені
                            відповідним  SGML  описом.)  Знак  плюс  означає,  що  відповідний
                            елемент  може  зустрічатися  один  або  більше  разів;  знак  питання
                            означає, що може бути не більше одного елемента; зірочка означає,
                            що елемент може або бути відсутнім, або з'являтися один і більше
                            разів. Так, якби модель вмісту для <stanza> була  (LINE  *), були б
                            допустимі  строфи  без  рядків,  так  само,  як  і  з  більш  ніж  одним
                            рядком.  Якби  вона  була  (LINE?),  То  порожні  строфи  були  б  теж
                            допустимі, але жодна строфа не могла б мати більш ніж один рядок.
                            Опис  <poem>  в  прикладі  встановлює,  що  <poem>  не  може  мати
                            більше  одного  заголовка  (але  може  не  мати  жодного)  і  що  воно
                            повинно мати як мінімум одну <stanza> (і може мати декілька).
                            Зв'язки
                                    Модель  вмісту  (TITLE  ?,  STANZA  +)  містить  більше  одного
                            компонента. Тому потрібно  додатково вказати порядок, в якому ці
                            елементи  (<title>  і  <stanza>)  можуть  з'являтися.  Це  впорядкування
                            визначається зв'язкою (group connector) - коми – використаної  між її
                            компонентами.  Існують  три  можливі  зв'язки,  зазвичай  подаються


                                                           146
   143   144   145   146   147   148   149   150   151   152   153