<?xml version="1.0" encoding="UTF-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <teiHeader>
        <fileDesc>
            <titleStmt>
                <title>ЕЛЕКТРОНЕН МОДЕЛ ЗА ИЗДАНИЕ НА ДАННИ ПО ОНОМАСТИКА <lb/>
(В. МИКОВ И КНИГАТА МУ ОТ 1943 г.)</title>
                <author>
                    <persName>
                        <forename>Цветелиана</forename>
                        <surname>Петкова</surname>
                    </persName>
                </author>
                <respStmt>
                    <resp>Написано в XML от</resp>
                    <name>Цветелиана Петкова</name>
                </respStmt>
                <funder>
                    <ref target="http://www.slav.uni-sofia.bg/">Факултет по славянски филологии</ref>
                </funder>
            </titleStmt>
            <publicationStmt>
                <publisher>
                    <name>
                        <ref target="http://www.slav.uni-sofia.bg">Факултет по славянски филологии на Софийския университет</ref>
                    </name>
                </publisher>
                <pubPlace>
                    София
                </pubPlace>
                <availability>
                    <licence target="https://creativecommons.org/licenses/by/3.0/">
                        <p>The (CC BY-SA 3.0)-License applies to this document.</p>
                        <p>You are allowed to share (copy and redistribute the material in any medium or format) and adapt (remix, transform, and build upon the material) for any purpose, even commercially.</p>
                        <p>You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.</p>
                        <p>ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.</p>
                    </licence>
                </availability>
                <date when-iso="2018">2018</date>
            </publicationStmt>
            <sourceDesc>
                <p>Born digital.</p>
                <p>Написано от <name>Цветелиана Петкова</name>. Трансформирано в XML с LibreOffice.</p>
            </sourceDesc>
        </fileDesc>
    </teiHeader>
    <text>
        <front>
            <titlePage>
                <docTitle>
                    <titlePart type="main">ЕЛЕКТРОНЕН МОДЕЛ ЗА ИЗДАНИЕ НА ДАННИ ПО ОНОМАСТИКА <lb/>(В. МИКОВ И КНИГАТА МУ ОТ 1943 г.)</titlePart>
                    <lb/>
                    <titlePart type="alt">Магистърска теза</titlePart>
                </docTitle>
                <docAuthor>Цветелиана Петкова</docAuthor>
                <figure>
                    <graphic url="/antetka.png"/>
                </figure>
                <docImprint>Магистърска програма „Компютърна лингвистика. Интернет технологии в хуманитаристиката“ <lb/>
                    <name type="place">София</name>
                    <lb/>
                    <date>2018</date>
                </docImprint>
            </titlePage>
        </front>
        <body>
            <div>
                <head>Увод</head>
                <div>
                    <p>Настоящата работа е посветена на книгата на Васил Миков „Произход и значение на имената на нашите градове, села, реки, планини и места“. Основната ѝ цел е създаване на електронен модел за издание на данни по ономастика. В следващите страници ще се запознаете с целите и начина на работа по темата, а след това с отговори на въпросите: „Кой е Васил Миков?“ и „Какво е допринесъл за историята на българската ономастика?“. Същинската част е посветена на подробно изложение на основния фокус на този труд. Той съдържа технологична част, а именно описание на модела на електронното издание на книгата.  </p>
                    <p>Ще бъдат разгледани основните състояния на компютърните езици, които са използвани за платформата и написването на електронния модел. Това са: XML, XSLT, HTML, CCS, JS, XQuery, Bootstrap и eXist database. За всеки един от тях ще бъде дадена информация за какво служи, кога и как се използва и как ни е послужил в проекта. Също така ще намерите информация за основните характеристики на всеки един език и как ни е послужила технологията. На места ще бъдат използвани схеми за улесняване и възприемане на информацията. Целта е създаване на единна електронна среда за публикуване и обработка на научната информация. Това не бе самоцел. Предложеният подход би могъл да послужи при издание на значими научни трудове и представя една линия в дигиталната хуманитаристика с приложение при направлението, свързано с опазване и популяризиране на културното наследство.</p>
                    <p>Основната цел на работата е запознаване с моделите и начините за създаване на електронното издание, като за илюстрация на този подход е избрана една от книгите на изтъкнатия археолог. Самият електронен вариант може да видите на адрес http://slav.uni-sofia.bg/proizhod. В него освен с текста от книгата, можете да се запознаете с информация за всеки един град, село, крепост, пещера, и т. н., изобщо всяка една местност, която е упомената от Васил Миков. Начинът на разработване и достигане до тази опция, а именно поставяне на мишката върху думата и препращането към съответната информация, е дело на модела, представен тук. Също така проектирахме отвеждане към конкретната локация за всеки един топоним. Друга интересна възможност от електронния модел е така наречената търсачка. Освен общото търсене в целия корпус, чрез нея могат да бъдат групирани и изваждани на показ от цялото съдържание на книгата например думи, които се характеризират с определен словообразувателен модел, напр. завършват на -ище, - ица -градъ, -ник и т.н.</p><!-- <p>.<note place="foot" xml:id="ftn1" n="1">
                        <p rend="footnote text"> </p>
                    </note>
                </p>
                -->
                    <div>
                        <head>Начин на работа</head>
                        <p>Текстът на книгата е взет от сайта <ref target="http://macedonia. kroraina.com/vmpi/index.htm">http://macedonia. kroraina.com/vmpi/index.htm</ref>. Бе направена пълна сверка и редакция спрямо изданието от 1943 г., след което се пристъпи към трансформацията на данните в XML формат. Бяха маркирани интересуващите ни части от текста.</p>
                        <p>Бе решено да се предложат два формата – единият представя книгата в цялостен вид. Той е предназначен за традиционно четене. При другия разделихме книгата на отделните ѝ глави с цел по-бързото намиране на отделните части при търсенето. </p>
                        <p>В областта на дигиталната хуманитаристика и електронното публикуване съществуват редица модели и подходи. Затова голяма част от времето бе посветена на намиране на адекватен модел за представяне на научната информация, заложена в книгата. Избрахме моделите, прилагани от <ref target="https://www.oeaw.ac.at/acdh/">Австрийския Център за дигитална хуманитаристика</ref>. Особено подходящ ни се стори подходът прилаган при изданието на кореспондецията на Лео фон Тун-Хоенщайн (Andorfer 2017). За основа бе взето именно това приложение, като идея и софтуерни решения. Отделните топоними в книгата бяха маркирани, а след това бе съставен отделен списък, в който се въведоха данни за мястото – класификация според типа топоним, данни за географската ширина и дължина, връзки към карти и т.н. </p>
                        <p>Една от целите на тази работа е да предложи не просто електронно издание на една книга, а да се илюстрира как чрез използването на модерни технологии, стандарти и добри практики може да се осъществи приложение, почиващо на продукти с отворен код, което да послужи за модел при осъществяването на проекти в областта на дигиталната хуманитаристика и опазването на културното наследство в България. </p>
                        <p>Акцент в тази работа са именно технологичните решения в областта. Оставихме настрана въпросите за редица спорни етимологични решения на Васил Миков. Подобен коментар на този етап ни се стори излишен. При едно бъдещо развитие те биха били уместни в уводните думи към изданието или като дискусия под линия, без да се нарушава целостта на оригиналния текст.</p>
                        <p>Полезните езикови данни от книгата на В. Миков също не са били специален обект на интерес. Тяхното значение е било подчертавано неведнъж (Балабанов 1996; Герасимова 2000; Коев 2015). Един бъдещ задълбочен подход в тази насока би обогатил предлаганото в тази магистърска теза софтуерно решение. </p>
                        <p>За целите на работата ни се стори особено ценно изготвянето на списък с наименования на топоними, срещани в книгата на Васил Миков. Техният брой постепенно нарастна на повече от 1300. Това обаче далеч не са всички срещани в труда наименования. В редица случаи изпитахме трудности да решим за кой точно топоним говори Миков. Особено мъчно това се оказа за случаите, в които на едно и също название отговарят селищно име и река, наличието на селища с едни и същи наименования, които в течение на годините са си сменили името, голяма част от микротопонимите. Понякога този проблем можеше да бъде решен с помощта на списък с алтернативни названия. Така се стигна до идеята всички случаи в текста да водят към списък, чиято основна терминологична единица е съвременното име на топонима, а старите или алтернативни имена да се прилагат отделно. Консултацията с многобройни справочници (вж. Използвана литература) бе от огромна полза в това отношение. Така можеше в редица случаи да се избегнат омонимичните неуредици. При наличие на едни и същи названия се допълваше и районът или областта, в които се среща топонимът. Пълната обработка на топонимите от книгата ще продължи. Надяваме се, че демонстрираният подход ще допринесе за това и ще бъде полезен за бъдещи издания и проучвания в областта.</p>
                        <div>
                            <head>Сверяване със съвременните изследвания</head>
                            <p>За да се сравнят имената на населените места, споменати в книгата със съвременните им названия, бяха използвани няколко справочника: <ref target="#Коледаров1973">Коледаров и Мичев 1973</ref>, <ref target="#Мичев1989"> Мичев и Коледаров 1989</ref>, <ref target="#Андреев2002">Андреев 2002</ref>,  <ref target="#Мичев2005">Мичев 2005</ref>. </p>
                            <p>Беше направено всичко възможно да се сравнят и проверят данните от книгата на Васил Миков с по-новите проучвания в тази област. Тук ще изброим само посочки към отделни изследвания, подредени според местата: </p>
                            <list>
                                <item>Ардинско: <ref target="#Христов2009">Христов 2009</ref>
                                </item>
                                <item>Беленско: <ref target="#Ковачев2009">Ковачев 2009</ref>
                                </item>
                                <item>Босилеградско: <ref target="#Кацарова2009">Кацарова-Папа 2009</ref>
                                </item>
                                <item>Брезнишко: <ref target="#Велев2009">Велев 2009</ref>
                                </item>
                                <item>Елипелинско: <ref target="#Близнашка2013">Близнашка-Янева 2013</ref>
                                </item>
                                <item>Елховско: <ref target="#Мишева2013">Мишева 2013</ref>
                                </item>
                                <item>Ивайловградско: <ref target="#Бечева2010">Бечева 2010</ref>
                                </item>
                                <item>Карловско: <ref target="#Първанова2011">Първанова-Грьошел 2011</ref>
                                </item>
                                <item>Карнобатско: <ref target="#Момчилов2013">Момчилов 2013</ref>
                                </item>
                                <item>Кулско: <ref target="#Заяков2012">Заяков 2013</ref>
                                </item>
                                <item>Ловешко: <ref target="#Ковачев2013">Ковачев 2013</ref>
                                </item>
                                <item>Луковитско: <ref target="#Иванова2009">Иванова 2009</ref>
                                </item>
                                <item>Малкотърновско: <ref target="#Райчевски2012">Райчевски 2012</ref>
                                </item>
                                <item>Никополско: <ref target="#Цанков2010">Цанков 2010</ref>
                                </item>
                                <item>Пазарджишко: <ref target="#Балкански2013а">Балкански 2013а</ref>
                                </item>
                                <item>Пернишко: <ref target="#Велев2010">Велев 2010</ref>
                                </item>
                                <item>Плевенско: <ref target="#Петкова2010">Петкова 2010</ref>
                                </item>
                                <item>Пловдивско: <ref target="#Михайлов2010">Михайлов 2010</ref>
                                </item>
                                <item>Родопите: <ref target="#Христов2010">Христов 2010</ref>
                                </item>
                                <item>Русенско: <ref target="#Минева2010">Минева-Ковачева 2010</ref>
                                </item>
                                <item>Сливенско: <ref target="#Дечев2012">Дечев 2012</ref>
                                </item>
                                <item>Стара планина: <ref target="#Райчевски2007">Райчевски 2007</ref>
                                </item>
                                <item>Тополовградско: <ref target="#Лалчев2010">Лалчев 2010</ref>
                                </item>
                                <item>Тутраканско: <ref target="#Балкански2011">Балкански 2011</ref>
                                </item>
                                <item>Харманлийско: <ref target="#Кокаличева2011">Кокаличева 2011</ref>
                                </item>
                                <item>Югозападна България: <ref target="#Чолева2002">Чолева-Димитрова 2002</ref>
                                </item>
                                <item>Ямболско: <ref target="#Петрова2013">Петрова 2013</ref>
                                </item>
                            </list>
                            <p/>
                        </div>
                    </div>
                    <div>
                        <head>Васил Миков Вълов</head>
                        <figure>
                            <graphic url="/Vasil_Mikov.jpg"/>
                        </figure>
                        <p>Васил Миков е роден в град Ябланица (по негово време село) на 4.04.1891 г., но по-късно семейството му се премества в Бяла Слатина. Той е български археолог и праисторик. Учил е в Брюксел, както и в Софийски университет история със специалност география. Дейността му се свързва с ръководство на над 40 археологически и праисторически експедиции. Работил е като е частен доцент в Софийския университет, а по-късно в Археологическия институт при БАН. Като член на Върховния читалищен съюз е награден със специална грамота от Комитета за култура и два ордена „Кирил и Методий“. През 1966 г. става почетен член на Югославското археологическо дружество. По-известните му публикации са „Предисторически селища и находки в България„“ (1933), „Идолната пластика през новокаменната епоха в България“ (1935), „Произход и значение на имената на нашите градове, села, реки, планини и места“ (1943), „Античната гробница при Казанлък“ (1954) и др.</p>
                        <p>Атанас Коев (Коев 2015) дава по-подробна информация за Миков като пише за него статия на тема „Един от видните български археолози и праисторици“ в информационно-просветителски, аполитичен, познавателен сайт „Патриотичен десант". Електронното издание цели да запознае широката аудитория с малко известни страници от българската история, интересни личности, с културно-историческото ни наследство, непознати и красиви места в България, както и със съвети за здравето, семейството, дома и стопанството.</p>
                        <p>Васил Миков е бил мобилизиран и взима участие в Балканските войни. Работил е в Народния археологически музей като асистент на големия наш археолог Рафаил Попов, доброволен асистент по праистория в Софийския университет, назначен за ръководител на секцията по праистория в обединения Археологически институт с музей към него. Той допринася с богато научно наследство, състоящо се от над 240 научни изследвания и повече от 60 научнопопулярни статии. Успоредно с всичко това, Миков извършва и друга забележителна дейност – той успява да събере повече от 40 000 местни названия и да проучи над 10 000 лични и фамилни имена. </p>
                        <p>В книгата „Произход и значение на имената на нашите градове, села, реки, планини и места“ авторът разглежда местни названия от историческо и етнографско гледище. Съдържа: Предговор, Съкращения, Увод – общи бележки, Класификация на местните имена по групи, Литература и Показалец на имената.</p>
                        <p>В първата част Миков дава обяснение, че благодарение на работата му в музея, той е имал възможност да пропътува, както пише, „по всички посоки по-голяма част от българските земи, като според специалните ми интереси започнах да събирам и топографски имена“. Във времето Миков събира над 25 000 топонима. Класификацията на местните имена е по форма и значение, по езиков произход. Ето и какво споделя той по време на създаването на имената: "дойдох до заключение, че населението както в миналото, така и днес, независимо от неговия народностен произход, е давало поразително верни и безпогрешни наименования на местността“, като дава за пример „Гложене“, не от глог – не от растението Crateagus, а от реконструирана от него старобългарска дума със значение шумно, във връзка с шума на водите на р. Вит и на вятъра по негов тесен пролом.</p>
                        <p>В уводната част на книгата се откроява въпроса за трайността на местните имена, които съобщават кои и какви народи са живеели по нашите земи и определят етнографските им граници. По този начин сами разказват историята си, а читателят има възможността да проследи културните влияния от един народ на друг и, най-вече, топографските названия от славянски произход, а именно запазените в страната и извън нея на Балканите – в Гърция, Албания, Румъния, Тракия и Македония. </p>
                        <p>Николай Ковачев в статията си „Една обобщаваща книга по топонимията на археолога Васил Миков Вълков“ от поредицата „Състояние и проблеми на българската ономастика“ (Ковачев 1996) подчертава думите на праисторика за бъдещите и съществени задачи на топонимията ни. „Събирането на тези ценни материали трябва да се подеме по-скоро и не от един или двама, а от много, и от по-добре подготвени работници. Предстоят още много години докато се съберат всички топографски имена от всички кътове на българските земи. И едва след като се съберат всичките названия ще може да се пристъпи към тяхното тълкуване и издаване в няколко по-големи книги“ (Ковачев 1996: 318). Идеята му е добре започната и начертана, но за съжаление, все още незавършена.</p>
                        <p>Същинската част на книгата „Произход и значение на имената на нашите градове, села, реки, планини и места“ е разделена по групи: Народни тълкувания на имената; Промени в селищните и местните имена; Изчезнали и забравени имена; Преведени имена; Видоизменени и осмислени имена; Запазени названия; Пренесени имена; Тракийски имена; Илирийски имена; Имена от гръцки произход; Названия от латински и булгаро-латински; Славянски наименования; Названия от чужд произход със славянски наставки; Имена с наставки -щица; Прабългарски и печенежко-кумански имена;Турски имена; Названия с турски изговор; Албански названия; Имена, свързани с народност; Названия, свързани с обществения живот; Имена- с войни, бунтове, войници, грабежи; Също така с привилегии, правдини, задължения, данъци; Имена, свързани с лица, с понятията – жена, мома, мъж; Имена, свързани със занятия, град, крепост, кула, село, постройка, стар път, граница, както и във връзка с храмове, църкви, манастири, джамии, светии; Във връзка със самодиви, змейове, зли духове, езически вярвания; С вода, поток, извор, река, езеро, блато, мочур, безводие, бани; С изложение на мястото на слънцето – топло и студено, сянка, вятър; Имена, свързани със земеповърхни форми – пещери, пропасти, ями, вдлъбнатини; По състав на почвата – във връзка с растения, с животински мир; Във връзка с външен вид – големина, малко, високо, ниско, тясно, широко, горно, долно, средно, старо, ново; Имена, свързани с цвят; Както и във връзка с количество; – свързани с миризма и вкус; Отглаголни съществителни; Названия, свързани с различни предмети и Неопределени названия.</p>
                        <p>Класификацията му е богата и разнообразна, с цел да се обхване по-голям кръг от значения, следващи предначертана логика и изпълнени с прецизност. Книгата на Васил Миков завършва един етап от развитието на нашата ономастична наука.</p>
                        <p>В друга статия от поредицата „Състояние и проблеми на българската ономастика“ Тодор Балкански разказва за българската ономастика, като споменава, че нейната предистория започва с отделянето на проф. Й. Заимов от Секцията за общо и балканско езикознание и създаването Група за издаване на стари паметници. Основната им цел е описание топонимията на България според административното деление на околии през 1960 г. Така започва създаването на книги с тематика местните имена в различни райони. Така новосъздадената група цели продължаването на делото на Васил Миков. В заключение на статията си Тодор Балкански набляга на това, че българската ономастика означава довършване на онази част от частното българско езикознание, която в науката за останалите славянски езици може да се каже, че е на привършване (Балкански 1996). Няма национална лингвистична наука без национална ономастика. </p>
                    </div>
                </div>
                <div>
                    <head>Глава 1. Използваната технология. XML или eXtensible Markup Language</head>
                    <figure>
                        <graphic url="/XML.png"/>
                    </figure>
                    <div>
                        <head>1.1. Значение</head>
                        <p>XML (eXtensible Markup Language), най-често превеждан на български като разширяем маркиращ език, е език, предназначен да изведе структурата на един документ чрез отбелязване с етикети (англ. tags), без да влага предварителна семантика при обозначаването с отделните маркери. Именно поради това той може да служи и като метаезик, т.е. език за описание на друг език. Неговите предимства можем да обобщим по следния начин. </p>
                        <p>1. Езикът следва да се употребява навсякъде където е нужна многократна употреба на една и съща или подобна структура на документите;</p>
                        <p>2. Където се изисква преносимост на съдържанието и неговото съхранение във времето;</p>
                        <p>3. Това се постига чрез стандартизация в развитието на кодиране на информацията (по Birnbaum 1995).</p>
                        <p>ХML се използва в много аспекти на съставянето и обработката на електронната информация – от електронния документ, през метаданните за данните за него, до сложните описания и каталогизация на различни обекти. Основните единици на маркиране да бъдат текст, атрибути, елементи или смес от изброените. Също така съществуват и празни елементи, които могат да имат само атрибути. Имената на елементите могат да съдържат букви, цифри, тирета, долни черти, но не и интервали.</p>
                        <p>Функциите на XML се базират на улесняване при споделянето на данни, опростяване на техния пренос, опростяване промените в платформата и наличността на данни. Важен принос на XML е, че синтаксисът (структурирането) на документите се измисля само веднъж, а специализираните маркиращи езици само дефинират семантиката, т.е. набора от маркиращи етикети и тяхното значение.</p>
                        <p>XML също улеснява разширяването или надстройването до нови операционни системи, нови приложения или нови браузъри, без да губи данни. XML данните могат да бъдат достъпни за всички видове "четящи машини" като хора, компютри, гласови машини, новинарски емисии и др.</p>
                    </div>
                    <div>
                        <head>1.2. ХМL елементи</head>
                    </div>
                    <div>
                        <head>1.2.1. Общи елементи</head>
                        <p>Използвани са схемите и упътванията на консорциума <emph>Text Encoding Initiative </emph>(TEI).</p>
                        <p>Следващите редове съдържат обяснение на отделните части от <emph>XML,</emph> приложени в магистърската теза. Най-напред документът започва с:</p>
                        <p rend="pre">
                            <code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;</code>
                        </p>
                        <p>Така се отбелязва използваната версия на <emph>XML </emph>от препоръките за езика на консорциума W3 (<emph>XML</emph>) и начина за кодиране на знаците (за формата UTF-8 вж. RFC 3629). Следва коренният (основният) елемент:</p>
                        <p rend="pre">
                            <code>&lt;TEI&gt; &lt;/TEI&gt;</code>
                        </p>
                        <p>Всеки един валиден <emph>TEI </emph>документ се състои от две части: <emph>teiHeader</emph> и <emph>text.</emph>
                        </p>
                        <p>
                            <emph>TEI </emph>е съкращение от <emph>Text Encoding Initiative</emph>, инициатива за текстово кодиране.Той съдържа един единствен документ, комбиниращ <emph>TEI </emph>заглавието с един или повече членове от модела. Именно това заглавие е задължителния елемент.</p>
                        <p rend="pre">
                            <code>&lt;teiHeader&gt;</code>
                        </p>
                        <p>Следва елементът</p>
                        <p rend="pre">
                            <code>&lt;fileDesc&gt;</code>
                        </p>
                        <p>което е съкращение от <emph>file description</emph>, а именно описание на файла. Функцията му е резултатът от търсенето да възпроизвежда всеки пример от файла в насоки. Той съдържа пълно библиографско описание на електронния файл. Следващият елемент е заглавното изявление или </p>
                        <p rend="pre">
                            <code>&lt;titleStmt&gt;</code>
                        </p>
                        <p>
                            <emph>(title statement). </emph>Този елемент дава информация за заглавието на произведението и тези, които отговарят за съдържанието му. Непосредствено го следва </p>
                        <p rend="pre">
                            <code>&lt;title&gt;</code>
                        </p>
                        <p>а именно самото заглавие. Името му се вмъква между отварящия елемент, в случая 
                                <code>&lt;title&gt;</code> и задължително неговия затварящ етикет, който се бележи с <code>/</code>, например 
                            <code>&lt;/title&gt;</code>.</p>
                        <p>Ако един елемент е отворен, но не е затворен по този начин, то програмата ще даде сигнал за грешка. Логично след него следва елементът </p>
                        <p rend="pre">
                            <code>&lt;author xml:id="vm"&gt;</code>
                        </p>
                        <p>Този елемент в библиографска справка, съдържа името (имената) на автор, личен или корпоративен, на произведение; например в същата форма като тази, предоставена от признат орган за библиографско наименование. Атрибутът задава името на автора на книгата, а именно Василъ Миковъ, което е упоменато в следващите поделементи:</p>
                        <p rend="pre">
                            <code>&lt;forename xmlns:tei="http://www.tei-c.org/ns/1.0" type="male"&gt;Василъ&lt;/forename&gt;</code>
                        </p>
                        <p>и</p>
                        <p rend="pre">
                            <code>&lt;surname&gt;Миковъ&lt;/surname&gt;
                                </code>
                        </p>
                        <p>
                            <code>&lt;persName&gt;</code> или <emph>personal name</emph> съдържа собствено съществително име или собствена фраза, отнасяща се до лице, евентуално включващо едно или повече от имената, фамилното име, почетните имена, добавените имена и т.н. Линкът, който е поставен в елемента ни препраща към <emph>Virtual International Authority File</emph>, или Виртуален международен файл на автора, той изглежда така: </p>
                        <p rend="pre">
                            <code>&lt;persName key="http://viaf.org/viaf/193896348"&gt;</code>
                        </p>
                        <p>Следващият елемент съдържа допълнителна информация за отговорността за библиографски обект, например името на лице, институция или организация (или повече), действащи като издател, компилатор, преводач и др.</p>
                        <p rend="pre">
                            <code>&lt;editor xml:id="ab"&gt;</code>
                        </p>
                        <p>Библиографските справки обикновено включват заглавието на цитираните произведения и имената на тези, които са интелектуално отговорни за тях. За статии в списания или колекции такива изявления трябва да се появяват както на аналитичното, така и на монографичното ниво. Предлагат се следните елементи за маркиране на елементите за търсене: </p>
                        <p rend="pre">
                            <code>
                           &lt;title&gt;&lt;author&gt;
                            &lt;editor&gt;
                            &lt;respStmt&gt;
                          &lt;resp&gt;&lt;name&gt;</code>
                        </p>
                        <p>Респективно след <code>&lt;editor&gt;</code> следват:</p>
                        <p rend="pre">
                            <code>&lt;respStmt&gt;&lt;resp&gt;XML вариант от &lt;/resp&gt;&lt;persName xml:id="cp"&gt;
                            &lt;forename&gt;Цветелиана&lt;/forename&gt;&lt;surname&gt;Петкова&lt;/surname&gt;&lt;/persName&gt;&lt;/respStmt&gt;</code>
                        </p>
                        <p>
                            <emph>Responsibility information </emph>или <emph>информация за отговорността </emph> съдържа информация за отговорността за интелектуалното съдържание на даден текст, издание, запис или серия, в които автор на специализирани елементи, редактор са недостатъчни или неточни; също полезни за предоставяне на информация на лица или организации, участващи в производството или разпространението на библиографски обект. </p>
                        <p rend="pre">
                            <code>&lt;resp&gt;</code>
                        </p>
                        <p>
                            <emph>Responsibility </emph>или в превод <emph>отговорност</emph> съдържа фраза, която описва естеството на интелектуалната отговорност на дадено лице или ролята на организацията при произвеждането или разпространението на произведение. Логично в този елемент са зададе отново елементите:</p>
                        <p rend="pre">
                            <code>&lt;persName&gt;&lt;firstname&gt;&lt;surname&gt;</code>
                        </p>
                        <p>Следващият елемент <emph>publication statement</emph> или <emph>оповестяване за публикуване</emph> включва информация за публикуването или разпространението на електронен или друг текст.</p>
                        <p rend="pre">
                            <code>&lt;publicationStmt&gt;</code>
                        </p>
                        <p>Друг важен елемент е:</p>
                        <p rend="pre">
                            <code>&lt;publisher&gt;</code>
                        </p>
                        <p>
                            <emph>издател</emph>, като показва името на организацията, отговорна за публикуването и разпространението на библиографски обект. Логично след това се опоменава и мястото на издаване и дата:</p>
                        <p rend="pre">
                            <code>&lt;pubPlace&gt;</code>
                        </p>
                        <p>и</p>
                        <p rend="pre">
                            <code>&lt;date&gt;</code>
                        </p>
                        <p>Следващият елемент предоставя информация за наличието на текст, като например ограничения за използване или разпространение, лицензиране и т.н.</p>
                        <p rend="pre">
                            <code>&lt;availability&gt;&lt;licence target="https://creativecommons.org/licenses/by/4.0/" notBefore="2016-08-02"&gt;</code>
                        </p>
                        <p>След което се въвежда текст, чието съдържание е този лиценз. Описанието бива поставено в елемента <code>&lt;p&gt;</code>. Той отбелязва параграф в текста на прозата. Съдържанието на книгата също е поставена в такива параграфи. </p>
                        <p>
                            <emph>Source description </emph>или <emph>описание на източниците </emph>описва източника, от който се получава електронният текст. Обикновено библиографско описание в случай на цифров текст или термин като "роден цифров" за текст, който е достъпен само в електронна форма.</p>
                        <p rend="pre">
                            <code>&lt;sourceDesc&gt;</code>
                        </p>
                        <p>Веднага след него следват елементите</p>
                        <p rend="pre">
                            <code>
                            &lt;biblStruct&gt;
                            &lt;monogr&gt;
                            &lt;author&gt;</code>
                        </p>
                        <p>
                            <emph>structured bibliographic citation или структурирана библиографска цитировка, </emph>която съдържа структурирана библиографско цитиране, в което се появяват само библиографски поделементи и то в определен ред. <emph>Мonographic level или монографично ниво</emph> съдържа библиографски елементи, описващи части на нивото на цялата книжна единица (книга, списание или сборник от статии). Следващият елемент е група или групи информация, свързана с публикуването или разпространението на библиографска единица.</p>
                        <p rend="pre">
                            <code>&lt;imprint&gt;</code>
                        </p>
                        <p>Следват елементите <emph>encoding description, editorial practice declaration</emph>, <emph>quotation</emph>. <emph>Oписание на кодирането (encoding description)</emph> документира връзката между електронния текст и източника. <emph>Декларацията за редакционна практика (editorial practice declaration)</emph> предоставя подробности за редакционните принципи и практики по време на кодирането на текст. <emph>Цитатът (quotation) </emph>уточнява редакционната практика, приета по отношение на употребата на формалните методи на употреба на цитирането (например кавичките) в оригинала.</p>
                        <p rend="pre">
                            <code>&lt;encodingDesc&gt;&lt;editorialDecl&gt;&lt;quotation&gt;</code>
                        </p>
                        <p>
                            <emph>Text-profile description или описание на текстовия профил</emph> предоставя подробно описание на небиблиографските аспекти на текста, по-специално използваните езици и класификация на термините или ситуацията, в която са били създадени, участниците в проектите и условията за създаването на проекта.</p>
                        <p rend="pre">
                            <code>&lt;profileDesc&gt;</code>
                        </p>
                        <p>
                            <emph>Text classification или класификация на текст, </emph>която описва естеството или темата на текста по отношение на стандартна схема за класификация, тезаурус и т.н.</p>
                        <p rend="pre">
                            <code>&lt;textClass&gt;</code>
                        </p>
                        <p>
                            <emph>Keywords </emph>съдържа списък с ключови думи или фрази, а <emph>term – </emph>дума или словосъчетание, което се счита за технически термин.</p>
                        <p rend="pre">
                            <code>&lt;keywords&gt;
                            &lt;term&gt;</code>
                        </p>
                        <p>
                            <emph>Revision description </emph>или <emph>описание на промените </emph>обобщава историята на корекциите за даден файл.</p>
                        <p rend="pre">
                            <code>&lt;revisionDesc&gt;</code>
                        </p>
                        <p>
                            <emph>ListChange </emph>групира редица описания на промените, свързани с създаването на изходен текст или ревизия на кодиран текст. A <emph>Change </emph>e описание на промяната, направена по време на изготвянето на документа или по време на преразглеждането и редакцията на електронно досие.</p>
                        <p rend="pre">
                            <code>&lt;listChange&gt;
                            &lt;change&gt;</code>
                        </p>
                        <p>
                            <emph>Text </emph>съдържа текст от всякакъв вид, независимо дали е единичен или композитен, например поема или драма, колекция от есета, роман, речник или проба от корпус.</p>
                        <p rend="pre">
                            <code>&lt;text&gt;</code>
                        </p>
                        <p>
                            <emph>Front</emph> е предназначен да представи материал, който е в началото на електронния документ (заглавки, резюмета, заглавна страница, предговори, посвещения и др.), преди главното тяло.</p>
                        <p rend="pre">
                            <code>&lt;front&gt;</code>
                        </p>
                        <p>
                            <emph>Title page </emph>съдържа заглавната страница на текст, който се появява в предната или в задната част.</p>
                        <p rend="pre">
                            <code>&lt;titlePage&gt;</code>
                        </p>
                        <p>
                            <emph>Document title </emph>съдържа заглавието на документ, включително всички негови съставни части, както е посочено на заглавната страница.</p>
                        <p rend="pre">
                            <code>&lt;docTitle&gt;</code>
                        </p>
                        <p>
                            <emph>TitlePart </emph>съдържа подраздел или подразделение на заглавието на произведението, както е посочено на заглавната страница.</p>
                        <p rend="pre">
                            <code>&lt;titlePart&gt;</code>
                        </p>
                        <p>
                            <emph>Byline</emph> съдържа основната декларация за отговорност, дадена за работа на заглавната страница или в началото или в края на произведението.</p>
                        <p rend="pre">
                            <code>&lt;byline&gt;</code>
                        </p>
                        <p>
                            <emph>Document author </emph>съдържа името на автора на документа, както е посочено на заглавната страница (често, но не винаги, съдържаща се в библиотеката).</p>
                        <p rend="pre">
                            <code>&lt;docAuthor&gt;</code>
                        </p>
                        <p>
                            <emph>Document imprint </emph>съдържа израза за отпечатване (място и дата на публикуване, име на издателя), както е дадено (обикновено) в подножието на заглавната страница.</p>
                        <p rend="pre">
                            <code>&lt;docImprint&gt;</code>
                        </p>
                        <p>
                            <emph>Name </emph>съдържа име, в случая на издателя и печатницата.</p>
                        <p rend="pre">
                            <code>&lt;name&gt;</code>
                        </p>
                        <p>
                            <emph>Document date</emph> съдържа датата на документа, посочен на заглавна страница или в дати.</p>
                        <p rend="pre">
                            <code>&lt;docDate&gt;</code>
                        </p>
                        <p>
                            <emph>Epigraph </emph>съдържа котировка, анонимна или присвоена, която се появява в началото или в края на секция или на заглавна страница.</p>
                        <p rend="pre">
                            <code>&lt;epigraph&gt;</code>
                        </p>
                        <p>
                            <emph>Body </emph>съдържа цялото тяло на един единствен текст, с изключение на всяка предна или задна част.</p>
                        <p rend="pre">
                            <code>&lt;body&gt;</code>
                        </p>
                        <p>
                            <emph>Page break </emph>е предназначено да обозначи границите на страницата – нейното начало, съответно край на предишната.</p>
                        <p rend="pre">
                            <code>&lt;pb/&gt;</code>
                        </p>
                        <p>
                            <emph>Heading </emph>съдържа всякакъв вид заглавка, например заглавието на раздел или заглавието на списък, речник, описание на ръкопис.</p>
                        <p rend="pre">
                            <code>&lt;head&gt;</code>
                        </p>
                    </div>
                    <div>
                        <head>1.2.1. Елементи за индексиране на лица и места</head>
                        <p>Файловете, служещи за индексиране на лица, места почиват на малко по-различна структура. При индекса на местата специфичният ред е следният:</p>
                        <p rend="pre">
                            <code>&lt;div type="index_places"&gt;
                            &lt;listPlace&gt;&lt;place xml:id="place_Brod_Novaci" type="oikonym"&gt;
                            &lt;placeName type="pref"&gt;Брод&lt;/placeName&gt;
                            &lt;placeName type="alt"&gt;Бродъ&lt;/placeName&gt;
                            &lt;region&gt;Новаци, Мак.&lt;/region&gt;
                            &lt;location&gt;&lt;geo decls="#LatLng"&gt;40.95115 21.56498&lt;/geo&gt;&lt;/location&gt;
                            &lt;idno&gt;&lt;/idno&gt;
                            &lt;note&gt;&lt;/note&gt;
                            &lt;/place&gt;
                            &lt;place xml:id="place_Brod" type="oikonym"&gt;
                            &lt;placeName type="pref"&gt;Брод&lt;/placeName&gt;
                            &lt;placeName type="alt"&gt;Бродъ&lt;/placeName&gt;
                            &lt;region&gt;Хс.&lt;/region&gt;
                            &lt;location&gt;&lt;geo decls="#LatLng"&gt;42.03333 25.68333&lt;/geo&gt;&lt;/location&gt;&lt;idno&gt;&lt;/idno&gt;
                            &lt;note&gt;&lt;ref target=""&gt;Допълнителна информация&lt;/ref&gt;&lt;/note&gt;&lt;/place&gt;&lt;/listPlace&gt;&lt;/div&gt;</code>
                        </p>
                        <p>При лицата това изглежда така:</p>
                        <p rend="pre">
                            <code>&lt;person xml:id="arnaudov-mihail"&gt;
                            &lt;persName&gt;&lt;surname&gt;Арнаудов&lt;/surname&gt;&lt;forename&gt;Михаил&lt;/forename&gt;&lt;/persName&gt;
                            &lt;note&gt;&lt;p&gt;Русе 1878–1978 София&lt;/p&gt;
                            &lt;p&gt;Акад. Арнаудов е автор на повече от 50 монографии, посветени на Паисий Хилендарски, Неофит Бозвели, Васил Априлов, Иван Селимински, Георги Раковски, Любен Каравелов, Тодор Влайков и др. Изследва творчеството на класиците на българската литература — Иван Вазов, Пейо Яворов, Кирил Христов, Йордан Йовков, Димчо Дебелянов и други.&lt;/p&gt;&lt;p&gt;
                             &lt; target="http://unicat.nalis.bg/Author/Home?author=Арнаудов"&gt;http://unicat.nalis.bg/Author/Home?author=Арнаудов"Арнаудов&lt;/ref&gt;, Михаил Петров 1878-1978&lt;/p&gt;&lt;/note&gt;&lt;/person&gt;</code>
                        </p>
                        <p>
                            <emph>Division </emph>съдържа подразделение на предната страна, тялото или гърба на текста.</p>
                        <p rend="pre">
                            <code>&lt;div&gt;</code>
                        </p>
                        <p>
                            <emph>List of places </emph>съдържа списък с места, по избор последван от списък с връзки (различни от ограничен), определени между тях.</p>
                        <p rend="pre">
                            <code>&lt;listPlace&gt;</code>
                        </p>
                        <p>
                            <emph>Place </emph>съдържа данни за географско местоположение.</p>
                        <p rend="pre">
                            <code>&lt;place&gt;</code>
                        </p>
                        <p>
                            <emph>PlaceName </emph>дава данни за абсолютно или относително име на мястото. В базата от данни се използва два или повече пъти в случай, че е посочена стара форма на съответната сегашна дума на място, или нейното гръцко, албанско, турско или латинско наименование. </p>
                        <p rend="pre">
                            <code>&lt;placeName&gt;</code>
                        </p>
                        <p rend="pre">
                            <emph>Region </emph>съдържа името на административна единица като държава, провинция или окръг, по-голяма от населено място, но по-малка от държава.</p>
                        <p rend="pre">
                            <code>&lt;region&gt;</code>
                        </p>
                        <p>
                            <emph>Location </emph>определя местоположението на дадено място като набор от географски координати, по отношение на други наименовани геополитически единици или като адрес.</p>
                        <p rend="pre">
                            <code>&lt;location&gt;</code>
                        </p>
                        <p>
                            <emph>Identifier </emph>предоставя всякаква форма на идентификатор, използвана за идентифициране на някакъв обект, като например библиографска единица, лице, заглавие, организация и др. по стандартизиран начин.</p>
                        <p rend="pre">
                            <code>&lt;idno&gt;</code>
                        </p>
                        <p>
                            <emph>Note </emph>съдържа бележка или анотация.</p>
                        <p rend="pre">
                            <code>&lt;note&gt;</code>
                        </p>
                        <p>
                            <emph>Reference </emph>дефинира препратка към друго местоположение, евентуално модифицирано с допълнителен текст или коментар. В случая е препратка към информация за конкретното място.</p>
                        <p rend="pre">
                            <code>&lt;ref&gt;</code>
                        </p>
                        <p>
                            <emph>Geographical coordinates </emph>съдържа израз на набор от географски координати, представляващ точка, линия или област на повърхността на Земята в някои нотации.</p>
                        <p rend="pre">
                            <code>&lt;geo&gt;</code>
                        </p>
                    </div>
                </div>
            </div>
            <div>
                <head>Глава 2. XSLT или eXtensible Stylesheet Language for Transformations</head>
                <figure>
                    <graphic url="/XSLT.png"/>
                </figure>
                <div>
                    <head>2.1. Значение</head>
                    <p>
                        <emph>XSLT </emph>(eXtensible Stylesheet Language for Transformations) или разширяем стилов език за транформации е стилистичен език за <emph>XML</emph>.</p>
                    <p>
                        <emph>XSLT </emph>се използва за широк спектър от задачи за трансформация. Езикът описва правила за трансформиране на входните данни в изходни данни. Входовете и изходите ще бъдат копия на модела за данни <emph>XDM </emph>(вж. XDM). В най-простия и най-често срещания случай входът е <emph>XML </emph>документ, наречен дърво на източника, а изходът е <emph>XML </emph>документ, наречен дърво на резултатите. Възможно е също така да се обработват множество изходни документи, да се генерират няколко резултатни документи и да се обработват формати, различни от <emph>XML</emph>. Трансформацията се постига чрез набор от шаблонни правила. Правило е, че когато шаблон свързва шаблон, той обикновено съвпада с възлите (nodes) в изходния документ, с конструктор на последователност. В много случаи оценяването на конструктора на последователности ще доведе до конструирането на нови възли, които могат да бъдат използвани за произвеждане на част от дървото с резултати. Структурата на резултатните дървета може да бъде напълно различна от структурата на дърветата-източници. При конструирането на дървото на резултатите възлите от източниците могат да бъдат филтрирани и пренаредени и да могат да се добавят произволна структура. Този механизъм позволява да се използва стилова таблица за широк клас документи.</p>
                    <p>Езикът <emph>XSLT </emph>има статут на препоръка на консорциума W3. Към този момент версията е <emph>XSLT </emph>3.0 (вж. <emph>XSLT</emph>).</p>
                    <p>Стиловете обикновено включват елементи, дефинирани от <emph>XSLT</emph>, както и елементи, които не са дефинирани от <emph>XSLT</emph>. Елементите, дефинирани от <emph>XSLT</emph>, се отличават с използването на пространството за имена, което в тази спецификация е посочено като пространство за имена на <emph>XSLT</emph>. По този начин тази спецификация е определение на синтаксиса и семантиката на пространството на имената на <emph>XSLT</emph>.</p>
                    <p>На схемата по-долу можете да видите кратък преглед на <emph>XSLT </emph>и <emph>XPath</emph>, както и обяснение разликата между <emph>XPath, XSLT, XQuery </emph>и <emph>XSL-FO. </emph>XSLT може да бъде използван за трансформиране на документи в <emph>XSL-FO </emph>за печат или разглеждане, както и като общ език за програмиране и преобразуване на <emph>XML</emph>. <emph>XSL-FO </emph>може бъде използван директно без <emph>XSLT</emph>. Типично приложение е <emph>XML </emph>документи в <emph>PDF</emph>.</p>
                    <p>
                        <emph>XSLT </emph>означава <emph>XSL </emph>трансформации. <emph>XSLT </emph>2.0, <emph>XPath </emph>2.0 и <emph>XQuery </emph>1.0, споделят същата библиотека с функции. Има над 100 вградени функции. Има функции за низови стойности, цифрови стойности, сравнение на дата и час, манипулация на възел и QName, манипулиране на последователности и др.</p>
                    <p>
                        <emph>XSL Transformations </emph>(XSLT 3.0) е език за трансформиране на <emph>XML </emph>документи в други <emph>XML </emph>документи, текстови документи или <emph>HTML </emph>документи. Може да искате да форматирате глава от книга, като използвате <emph>XSL-FO </emph>или може да искате да направите заявка за база данни и да я форматирате като <emph>HTML</emph>.</p>
                    <p>С <emph>XSLT 3</emph>.0 процесорите могат да работят не само на <emph>XML</emph>, но и на всичко, което може да се направи като <emph>XML</emph>: </p>
                    <list type="unordered">
                        <item>таблици на релационни бази данни;</item>
                        <item>географски информационни системи;</item>
                        <item>файлови системи;</item>
                    </list>
                    <p>всичко, от което <emph>XSLT </emph>процесорът може да изгради инстанция на <emph>XDM</emph>. В някои случаи <emph>XSLT</emph> може да работи директно от база данни с <emph>XDM </emph>потребителски модели. Тази способност да се работи на множество входни файлове в множество формати и да се третира като XML файлове е много мощна. </p>
                    <p>
                        <emph>XSLT </emph>се споделя с <emph>XQuery </emph>и с цялото семейство на XML, използвайки <emph>XPath </emph>2.0</p>
                    <p>
                        <emph>XPath </emph>е прост език за идентифициране на части от <emph>XML </emph>документ. Използва се от <emph>XSLT</emph>, а също и от <emph>XLink, XInclude, XQuery</emph>. <emph>XPath </emph>не може да се използва самостоятелно: той винаги е част от структурата на документа и от неговата схема, независимо дали този език е XML, <emph>XSLT </emph>или някой друг. <emph>XPath </emph>може да бъде много мощен.</p>
                </div>
                <div>
                    <head>2.2. Скриптове</head>
                    <p>В тази дипломна работа се използват скриптове. Те биват няколко <emph>XSLT </emph>скрипта:</p>
                    <list type="unordered">
                        <item>Скрипт за транформиране към <emph>HTML </emph>на изворовия материал – <emph>XmltoHTML.xsl</emph>
                        </item>
                        <item>Скрипт за издаване на магистърската теза – <emph>meta.xsl</emph>
                        </item>
                        <item>Скрипт за изобразяване на информацията на местата – <emph>listplace.xsl</emph>
                        </item>
                        <item>Скрипт за изобразяване на информацията за лицата <emph>– listperson.xsl</emph>
                        </item>
                    </list>
                    <p>Първите два скрипта са почти еднакви с изключение на това, че при първия е обособена част за метаданни и част за самото издание на извора.</p>
                    <p>Третият и четвъртият скрипт служат да се визуализира допълнителната информация за местата и лицата при приближаването на мишката към съответния термин. </p>
                    <p>Тук ще приведем някои специфични части от четирите файла с кратки обяснения.</p>
                    <p>При първите два файла се използва класическата подредба като отначало са частите за общото структуриране на уеб страницата, а след това следват скриптове за oтделните нейни части.</p>
                    <p>Листовият стил на <emph>XSL </emph>се състои от един или повече правила, които се наричат ​​шаблони (templates). Te съдържат указания, които да се прилагат, когато определен възел (node) е съвпадащ.</p>
                    <p>Елементът <code>&lt;xsl: template&gt;</code> се използва за създаване на тези шаблони.</p>
                    <p>Атрибутът <emph>match </emph>се използва за свързване на шаблон с елемент на <emph>XML</emph>. Той може да се използва и за дефиниране на шаблон за целия <emph>XML </emph>документ. Стойността на атрибута за съвпадение е израз на <emph>XPath </emph>(т.е. match= "/" дефинира целия документ).</p>
                    <p rend="pre">
                        <code>&lt;xsl:template match="/"&gt;</code>
                    </p>
                    <p>
                        <emph>Classes </emph>указва всички класове, в които документният елемент или клас е член или подклас. Тук се използват класовете на библиотеката Bootstrap.</p>
                    <p rend="pre">
                        <code>&lt;div class="page-header"&gt;</code>
                    </p>
                    <p>Елементът <code>&lt;h&gt;</code> се използва за уточняване на текст (обосновка) на заглавните елементи. <code>&lt;h2 align="center"&gt;</code> буквално означава заглавие на <emph>HTML </emph>подравнено по средата. Атрибутът "align" указва хоризонталното подравняване на заглавието. </p>
                    <p rend="pre">
                        <code>&lt;h2 align="center"&gt;</code>
                    </p>
                    <p>Елементът <code>&lt;xsl: for each&gt;</code> ви позволява да направите примка в XSLT. </p>
                    <p rend="pre">
                        <code>&lt;xsl:for-each select="//tei:fileDesc/tei:titleStmt/tei:title"&gt;</code>
                    </p>
                    <p>Елементът <code>&lt;xsl: apply-templates&gt;</code> прилага шаблон към текущия елемент или към възли на текущия елемент. Ако добавим избрания атрибут към елемента <code>&lt;xsl: apply-templates&gt;</code>, той ще обработва само поделемента (child element), който съответства на стойността на атрибута. Можем да използваме атрибута <emph>select</emph>, за да определим реда, по който се обработват възлите на поделемента, както се използва няколко реда по-надолу. </p>
                    <p rend="pre">
                        <code>&lt;xsl:apply-templates/&gt;</code>
                    </p>
                    <p>Елементът <code>&lt;br/&gt;</code> създава прекъсване на реда в текста (<emph>carriage-return</emph>). Това е полезно за написването на стихотворение или адрес, където разделянето на линиите е значително.</p>
                    <p rend="pre">
                        <code>&lt;br/&gt;&lt;/xsl:for-each&gt;&lt;/h2&gt;&lt;/div&gt;
                        &lt;div class="regest"&gt;&lt;div class="panel panel-default"&gt;
                        &lt;div class="panel-heading"&gt;&lt;h3 class="panel-title"&gt;
                        &lt;h2 align="center"&gt;За документа&lt;/h2&gt;&lt;/h3&gt;&lt;/div&gt;
                        &lt;div class="panel-body"&gt;</code>
                    </p>
                    <p>
                        <emph>Table </emph>съдържа текст, показан в табличен вид, в редове и колони.</p>
                    <p rend="pre">
                        <code>&lt;table class="table table-striped"&gt;&lt;tbody&gt;</code>
                    </p>
                    <p>Маркерът <code>&lt;tr&gt;</code> дефинира ред в <emph>HTML </emph>таблица. Елементът <code>&lt;tr&gt;</code> съдържа един или повече елемента <code>&lt;th&gt;</code> или <code>&lt;td&gt;</code>.</p>
                    <p rend="pre">
                        <code>&lt;tr&gt;</code>
                    </p>
                    <p>Маркерът <code>&lt;th&gt;</code> дефинира клетка на заглавката в <emph>HTML </emph>таблица. <emph>HTML </emph>таблицата има два вида клетки:</p>
                    <p>Заглавни клетки – съдържат информация за заглавката (създадена с <code>&lt;th&gt;</code> елемента).</p>
                    <p>Стандартни клетки – съдържат данни (създадени с елемента <code>&lt;td&gt;</code>).</p>
                    <p>Текстът в <code>&lt;th&gt;</code> елементите е удебелен и центриран по подразбиране. Текстът в елементите <code>&lt;td&gt;</code> е регулярен и вляво подравнен по подразбиране.</p>
                    <p rend="pre">
                        <code>&lt;th&gt;&lt;abbr title="tei:titleStmt/tei:title"&gt;Документ&lt;/abbr&gt;&lt;/th&gt;&lt;td&gt;</code>
                    </p>
                    <p>Можем също така да филтрираме изхода от <emph>XML </emph>файла, като добавим критерий към атрибута <emph>select</emph> в елемента <code>&lt;xsl: for-each&gt;</code>.</p>
                    <p rend="pre">
                        <code>&lt;xsl: за всеки изберете = "файл/ ../..."&gt;</code>
                    </p>
                    <p>Официалните оператори на филтри са:</p>
                    <p rend="pre">
                        <code>= (equal)
                    != (not equal)
                    &amp;lt; less than
                    &amp;gt; greater than
                    или 
                    = (равно)
                    ! = (не е равно)
                    &amp;lt; по-малко от
                    &amp;gt; по-голямо от</code>
                    </p>
                    <p rend="pre">
                        <code>&lt;xsl:for-each select="//tei:fileDesc/tei:titleStmt/tei:title"&gt;&lt;xsl:apply-templates/&gt;</code>
                    </p>
                    <p>Маркерът вмъква прекъсване на един ред. <code>&lt;br/&gt;</code> е празен, което означава, че няма краен маркер. Неговата единствена функция е да прекъсне реда.</p>
                    <p rend="pre">
                        <code>&lt;br/&gt;&lt;/xsl:for-each&gt;&lt;/td&gt;&lt;/tr&gt;
                        &lt;xsl:if test="//tei:msIdentifier"&gt;&lt;tr&gt;&lt;td&gt;
                        &lt;xsl:for-each select="//tei:msIdentifier/child::*"&gt;</code>
                    </p>
                    <p>Маркерът <code>&lt;abbr&gt;</code> дефинира съкращение или акроним, като "Mr.". Абревиатурата и акронимът са кратки версии на нещо друго. Двете често се представят като поредица от букви. Маркирането на съкращения може да даде полезна информация за браузърите, системите за превод и търсачките.</p>
                    <p rend="pre">
                        <code>&lt;abbr&gt;&lt;xsl:attribute name="title"&gt;</code>
                    </p>
                    <p>Елементът <code>&lt;xsl: value-of&gt;</code> се използва за извличане на стойността на избрания възел. Атрибутът <emph>select </emph>съдържа израз на XPath, който работи като навигация в файлова система. Предната наклонена черта (<code>/</code>) избира поддиректории.</p>
                    <p rend="pre">
                        <code>&lt;xsl:value-of select="name()"/&gt;&lt;/xsl:attribute&gt;
                        &lt;xsl:value-of select="."/&gt;&lt;/abbr&gt;
                        &lt;br/&gt;&lt;/xsl:for-each&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/xsl:if&gt;
                        &lt;tr&gt;&lt;th&gt;</code>Ключови думи<code>&lt;/th&gt;&lt;td&gt;</code>
                    </p>
                    <p>Маркерът <code>&lt;ul&gt;</code> дефинира неорганизиран списък. Препоръчително е да се използва елементът <code>&lt;ul&gt;</code> заедно с маркера <code>&lt;li&gt;</code>, за да се създадат неподредени списъци.</p>
                    <p rend="pre">
                        <code>&lt;ul&gt;&lt;xsl:for-each select="//tei:term"&gt;</code>
                    </p>
                    <p>Маркерът <code>&lt;li&gt;</code> дефинира елемент от списъка. Той се използва в подредени списъци (<code>&lt;ol&gt;</code>), неорганизирани списъци (<code>&lt;ul&gt;</code>) и в списъци с менюта (<code>&lt;menu&gt;</code>). Маркерът <code>&lt;li&gt;</code> също така поддържа глобалните атрибути в <emph>HTML</emph>.</p>
                    <p rend="pre">
                        <code>&lt;li&gt;</code>
                    </p>
                    <p>
                        <emph>HTML </emph>връзките се дефинират с маркера <code>&lt;a&gt;</code>. Адресът на връзката е посочен в атрибута <emph>href</emph>.</p>
                    <p rend="pre">
                        <code>&lt;a&gt;&lt;xsl:attribute name="href"&gt;&lt;xsl:value-of select="concat('hits.html?searchkey=', .)"/&gt;&lt;/xsl:attribute&gt;
                        &lt;xsl:attribute name="title"&gt;&lt;xsl:value-of select="concat('Други документи с тези ключови думи: ', .)"/&gt;&lt;/xsl:attribute&gt;
                        &lt;xsl:value-of select="."/&gt;&lt;/a&gt;&lt;/li&gt;&lt;/xsl:for-each&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;</code>
                    </p>
                    <p>Елементът <code>&lt;xsl:if&gt;</code> се използва за поставяне на условен тест спрямо съдържанието на <emph>XML </emph>файла. За да се постави условен тест (test) срещу съдържанието на <emph>XML </emph>файла, трябва да се добави елемент <code>&lt;xsl:if&gt;</code> към документ <emph>XSL</emph>.</p>
                    <p rend="pre">
                        <code>&lt;xsl:if test="//tei:supportDesc/tei:extent"&gt;
                        &lt;tr&gt;&lt;th&gt;&lt;abbr title="//tei:supportDesc/tei:extent"&gt;Extent&lt;/abbr&gt;&lt;/th&gt;&lt;td&gt;
                        &lt;xsl:apply-templates select="//tei:supportDesc/tei:extent"/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/xsl:if&gt;
                        &lt;xsl:if test="//tei:titleStmt/tei:respStmt"&gt;&lt;tr&gt;&lt;th&gt;
                        &lt;abbr title="//tei:titleStmt/tei:respStmt"&gt;Редактор:&lt;/abbr&gt;&lt;/th&gt;&lt;td&gt;
                        &lt;xsl:for-each select="//tei:titleStmt/tei:respStmt"&gt;
                        &lt;p&gt;&lt;xsl:apply-templates/&gt;&lt;/p&gt;&lt;/xsl:for-each&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/xsl:if&gt;
                        &lt;tr&gt;&lt;th&gt;&lt;abbr title="//tei:availability//tei:p[1]"&gt;Авторски права&lt;/abbr&gt;
                        &lt;/th&gt;
                        &lt;td align="center"&gt;</code>
                    </p>
                    <p>Атрибутът <emph>href </emph>предоставя информация за адрес за връзки (посочва URL адреса за връзка).</p>
                    <p rend="pre">
                        <code>&lt;a href="https://creativecommons.org/licenses/by-sa/4.0/" class="navlink" target="_blank"&gt;</code>
                    </p>
                    <p>Атрибутът <emph>alt </emph>определя алтернативен текст, който трябва да се използва, когато не може да се покаже изображение. Стойността на атрибута може да бъде прочетена от екранните четци. По този начин, някой "слуша" уеб страницата, напр. сляп човек, може да "чуе" елемента.</p>
                    <p rend="pre">
                        <code>&lt;img src="../resources/img/by-sa.png" alt="eXist-db" width="10%"/&gt;
                        &lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
                        &lt;div class="panel panel-default"&gt;&lt;div class="panel-heading"&gt;
                        &lt;h3 class="panel-title"&gt;&lt;h2 align="center"&gt;Издание&lt;/h2&gt;&lt;/h3&gt;&lt;/div&gt;
                        &lt;div class="panel-body"&gt;</code>
                    </p>
                    <p>Елементът <code>&lt;xsl: choose&gt;</code> се използва заедно с <code>&lt;xsl:when&gt;</code> и <code>&lt;xsl:otherwise&gt;</code>, за да изрази множество условни тестове.</p>
                    <p rend="pre">
                        <code>&lt;xsl:choose&gt;</code>
                    </p>
                    <p>Елементът <code>&lt;xsl:when&gt;</code> се използва за определяне на действие за елемента <code>&lt;xsl:choose&gt;</code>. Елементът <code>&lt;xsl:when&gt;</code> оценява израз и ако се върне вярно, се изпълнява действие. Използва се заедно с <code>&lt;xsl:choose&gt;</code> и <code>&lt;xsl:otherwise&gt;</code>, за да изрази множество условни тестове.</p>
                    <p rend="pre">
                        <code>&lt;xsl:when test="//tei:front"&gt;&lt;xsl:apply-templates select="//tei:titlePage"/&gt;&lt;xsl:element name="hr"/&gt;&lt;/xsl:when&gt;</code>
                    </p>
                    <p>
                        <emph>Оtherwise </emph>определя действие по подразбиране за елемента <code>&lt;xsl:choose&gt;</code>. Това действие ще се осъществи, когато не се прилага нито една от условията <code>&lt;xsl: when&gt;</code>.</p>
                    <p rend="pre">
                        <code>&lt;xsl:otherwise&gt;
                        &lt;h3&gt;&lt;xsl:apply-templates select="//tei:div[@type = 'titlePage']"/&gt;&lt;/h3&gt;
                        &lt;/xsl:otherwise&gt;&lt;/xsl:choose&gt;
                        &lt;xsl:element name="ul"&gt;&lt;xsl:for-each select="//tei:body//tei:head"&gt;&lt;xsl:element name="li"&gt;
                        &lt;xsl:element name="a"&gt;&lt;xsl:attribute name="href"&gt;
                        &lt;xsl:text&gt;#text_&lt;/xsl:text&gt;&lt;xsl:value-of select="."/&gt;&lt;/xsl:attribute&gt;
                        &lt;xsl:attribute name="id"&gt;&lt;xsl:text&gt;</code>nav_<code>&lt;/xsl:text&gt;&lt;xsl:value-of select="."/&gt;
                        &lt;/xsl:attribute&gt;&lt;xsl:value-of select="."/&gt;&lt;/xsl:element&gt;
                        &lt;/xsl:element&gt;&lt;/xsl:for-each&gt;&lt;/xsl:element&gt;
                        &lt;p&gt;&lt;xsl:choose&gt;&lt;xsl:when test="//tei:div[@type = 'text']"&gt;
                        &lt;xsl:apply-templates select="//tei:div[@type = 'text']"/&gt;&lt;/xsl:when&gt;
                        &lt;xsl:when test="//tei:div[@type = 'transcript']"&gt;
                        &lt;xsl:apply-templates select="//tei:div[@type = 'transcript']"/&gt;&lt;/xsl:when&gt;&lt;xsl:otherwise&gt;
                        &lt;xsl:apply-templates select="//tei:body"/&gt;&lt;/xsl:otherwise&gt;&lt;/xsl:choose&gt;&lt;/p&gt;&lt;/div&gt;
                        &lt;div class="panel-footer"&gt;&lt;p style="text-align:center;"&gt;
                        &lt;xsl:for-each select="tei:TEI/tei:text/tei:body//tei:note"&gt;
                        &lt;div class="footnotes"&gt;&lt;xsl:element name="a"&gt;
                        &lt;xsl:attribute name="name"&gt;&lt;xsl:text&gt;fn&lt;/xsl:text&gt;</code>
                    </p>
                    <p>Елементът <code>&lt;xsl:number&gt;</code> се използва за определяне на цялостната позиция на текущия възел в източника. Той се използва и за форматиране на номер.</p>
                    <p rend="pre">
                        <code>&lt;xsl:number level="any" format="1" count="tei:note"/&gt;&lt;/xsl:attribute&gt;
                        &lt;a&gt;&lt;xsl:attribute name="href"&gt;&lt;xsl:text&gt;#fna_&lt;/xsl:text&gt;&lt;xsl:number level="any" format="1" count="tei:note"/&gt;&lt;/xsl:attribute&gt;
                        &lt;span style="font-size:7pt;vertical-align:super;"&gt;&lt;xsl:number level="any" format="1" count="tei:note"/&gt;</code>
                    </p>
                    <p>Маркерът <code>&lt;span&gt;</code> се използва за групиране на вградени елементи в документ. Той не осигурява никаква визуална промяна сама по себе си. Предоставя начин да закачите част от текст или част от документ.</p>
                    <p rend="pre">
                        <code>&lt;/span&gt;&lt;/a&gt;&lt;/xsl:element&gt;&lt;xsl:apply-templates/&gt;&lt;/div&gt;&lt;/xsl:for-each&gt;
                            &lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/xsl:template&gt;</code>
                    </p>
                </div>
                <div>
                    <head>2.3. Други XSLT файлове</head>
                    <p>Ще дадем някои примери и от другите <emph>XSLT </emph>файлове: </p>
                    <p>При обработката на имената на местата бе важно да се визуализира част от информацията при четенето на книгата. За тази цел си послужих с т. нар. модални прозорци. Идеята беше при четенето на текста да може да се види допълнителна информация: алтернативни имена на местата, <emph>GPS </emph>координати, линк към повече информация и възможност за търсене на името на мястото от самия текст. </p>
                    <p rend="pre">
                        <code>&lt;xsl:param name="entiyID"/&gt;&lt;xsl:template match="/"&gt;&lt;div class="modal" id="myModal" role="dialog"&gt;
                        &lt;div class="modal-dialog"&gt;&lt;div class="modal-content"&gt;&lt;div class="modal-header"&gt;</code>
                    </p>
                    <p>Маркерът <code>&lt;button&gt;</code> дефинира бутон, върху който може да се кликне. В него може да се постави съдържание, като текст или изображения. Това е разликата между този елемент и бутоните, създадени с елемента <code>&lt;input&gt;</code>.</p>
                    <p rend="pre">
                        <code>&lt;button type="button" class="close" data-dismiss="modal"&gt;&lt;span class="fa fa-times"/&gt;&lt;/button&gt;
                        &lt;h4 class="modal-title"&gt;&lt;xsl:value-of select="//tei:place[@xml:id=$entiyID]/tei:placeName[1]"/&gt;&lt;/h4&gt;&lt;/div&gt;
                        &lt;div class="modal-body"&gt;&lt;table class="table table-boardered table-hover"&gt;&lt;tr&gt;&lt;th&gt;Други имена&lt;/th&gt;&lt;td&gt;
                        &lt;xsl:for-each select="//tei:place[@xml:id=$entiyID]//tei:placeName"&gt;
                        &lt;li&gt;&lt;xsl:value-of select="."/&gt;&lt;/li&gt;&lt;/xsl:for-each&gt;&lt;/td&gt;&lt;/tr&gt;
                        &lt;xsl:choose&gt;&lt;xsl:when test=".//tei:place[@xml:id=$entiyID]//tei:location"&gt;&lt;tr&gt;&lt;th&gt;GPS-Координати
                        &lt;/th&gt;&lt;td&gt;&lt;xsl:value-of select=".//tei:place[@xml:id=$entiyID]//tei:location"/&gt;&lt;/td&gt;&lt;/tr&gt;
                        &lt;tr&gt;&lt;th&gt;ID на данните&lt;/th&gt;&lt;td&gt;&lt;a&gt;&lt;xsl:attribute name="href"&gt;
                        &lt;xsl:value-of select=".//tei:place[@xml:id=$entiyID]//tei:idno/text()"/&gt;
                        &lt;/xsl:attribute&gt;&lt;xsl:attribute name="target"&gt;_blank&lt;/xsl:attribute&gt;
                        &lt;xsl:value-of select=".//tei:place[@xml:id=$entiyID]//tei:idno"/&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
                        &lt;tr&gt;&lt;th&gt;Споменат в други документи&lt;/th&gt;&lt;td&gt;&lt;a&gt;&lt;xsl:attribute name="href"&gt;
                        &lt;xsl:value-of select="concat('hits.html?searchkey=', $entiyID)"/&gt;&lt;/xsl:attribute&gt;
                        &lt;xsl:attribute name="target"&gt;_blank&lt;/xsl:attribute&gt;натиснете тук&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
                        &lt;/xsl:when&gt;&lt;/xsl:choose&gt;&lt;/table&gt;&lt;/div&gt;
                        &lt;div class="modal-footer"&gt;&lt;button type="button" class="btn btn-default" data-dismiss="modal"&gt;Затваряне&lt;/button&gt;
                        &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</code>
                    </p>
                    <p>
                        <emph>Script </emph>се използва за дефиниране на скрипт от страна на клиента (<emph>JavaScript</emph>).</p>
                    <p>Елементът <code>&lt;script&gt;</code> или съдържа изявления за скриптове, или посочва външен скрипт чрез атрибута<emph> src</emph>.</p>
                    <p>Обичайните начини на използване на <emph>JavaScript </emph>са манипулиране на изображения, валидиране на формуляри и динамични промени в съдържанието.</p>
                    <p rend="pre">
                        <code>&lt;script type="text/javascript"&gt;
                        $(window).load(function(){
                    $('#myModal').modal('show');
                    });
                        &lt;/script&gt;
                        &lt;/xsl:template&gt;</code>
                    </p>
                    <p>
                        <emph>XML </emph>е универсален маркиращ език, способен да маркира информационното съдържание на различни източници на данни, включително структурирани и полуструктурирани документи, релационни бази данни и хранилища на обекти. Езикът, който използва интелигентно структурата на <emph>XML</emph>, може да изразява заявки във всички тези видове данни, независимо дали са физически съхранени в <emph>XML </emph>или се разглеждат като <emph>XML </emph>чрез мидълуер. Xquery спецификацията описва език за заявки, търсене и извличане на данни, проектиран да бъде широко приложим за всички видове маркиращи компютърни езици.</p>
                    <p>
                        <emph>JSON </emph>е лек формат за обмен на данни, който се използва широко за обмен на данни в мрежата и за съхраняване на данни в бази данни. Много приложения използват <emph>JSON </emph>заедно с <emph>XML </emph>и <emph>HTML</emph>. <emph>XQuery </emph>3.1 разширява <emph>XQuery</emph>, за да поддържа <emph>JSON</emph>, както и <emph>XML</emph>, добавяйки карти и масиви към модела за данни и поддържайки ги с нови изрази в езика и новите функции в [<emph>XQuery и XPath Functions and Operators 3.1</emph>]. Списък с промените, направени след <emph>XQuery </emph>3.1, може да бъде намерен в <emph>Change Log</emph>.</p>
                    <p>
                        <emph>XQuery </emph>е предназначен да бъде език, в който заявките са кратки и лесно разбираеми. Също така е достатъчно гъвкав, за да потърси широк спектър от <emph>XML </emph>източници на информация, включително бази данни и документи. Работната група за заявки определя едно изискване както за синтаксиса на заявки извън <emph>XML</emph>, така и за синтаксиса на заявката въз основа на <emph>XML. XQuery </emph>се получава от <emph>XML </emph>заявка, наречена <emph>Quilt </emph>(Quilt), която от своя страна заимства функции от няколко други езици, включително <emph>XPath 1.0 </emph>(XPath)<emph>, XQL </emph>(XQL)<emph>, XML-QL </emph>(XML-QL)<emph>, SQL </emph>(SQL)<emph> и OQL </emph>(ODMG)<emph>.</emph>
                    </p>
                    <p>
                        <emph>XQuery </emph>3.1 е разширение на <emph>XPath 3.1. </emph>По принцип всеки израз, който е синтактично валиден и се изпълнява успешно както в <emph>XPath </emph>3.1, така и в <emph>XQuery </emph>3.1, ще връща същия резултат и на двата езика. Има няколко изключения от това правило:</p>
                    <p>Тъй като <emph>XQuery </emph>разширява предварително зададените референтни единици и препратки към знаци, а XPath не го прави, изразите, съдържащи тези данни, произвеждат различни резултати в двата езика. Например стойността на обекта (entity) "&amp;amp;" е &amp; в <emph>XQuery </emph>и &amp;amp; в <emph>XPath</emph>. (<emph>XPath </emph>често е вграден в други езици, които могат да разширят предварително зададените референтни единици или знаци, преди да бъде оценен изразът <emph>XPath</emph>.)</p>
                    <p>Ако режимът на съвместимост <emph>XPath </emph>1.0 е активиран, <emph>XPath </emph>се държи по различен начин от <emph>XQuery </emph>по много начини, които са обсъдени в XPath<emph>.</emph>
                    </p>
                    <p>Граматиката на <emph>XQuery </emph>3.1 използва същата проста удължена нотация на разширената форма на Бейкъс-Наур (Extended <emph>Backus-Naur Form, EBNF) </emph>като XML със следните минимални разлики:</p>
                    <p>Всички назовани символи имат име, което започва с главна буква.</p>
                    <p>Той добавя обозначение за позоваване на продукции в външни спецификации.</p>
                    <p>Коментарите или извънграматичните ограничения върху граматическите продукции са между символите "/ *" и "* /".</p>
                </div>
            </div>
            <div>
                <head>Глава 3. XQuery</head>
                <figure>
                    <graphic url="/XQuery.png"/>
                </figure>
                <div>
                    <head>3.1. Значение </head>
                    <p>
                        <emph>XML </emph>е универсален маркиращ език, способен да маркира информационното съдържание на различни източници на данни, включително структурирани и полуструктурирани документи, релационни бази данни и хранилища на обекти. Езикът, който използва интелигентно структурата на <emph>XML</emph>, може да изразява заявки във всички тези видове данни, независимо дали са физически съхранени в <emph>XML </emph>или се разглеждат като <emph>XML </emph>чрез мидълуер. Xquery спецификацията описва език за заявки, търсене и извличане на данни, проектиран да бъде широко приложим за всички видове маркиращи компютърни езици.</p>
                    <p>
                        <emph>JSON </emph>е лек формат за обмен на данни, който се използва широко за обмен на данни в мрежата и за съхраняване на данни в бази данни. Много приложения използват <emph>JSON </emph>заедно с <emph>XML </emph>и <emph>HTML</emph>. <emph>XQuery </emph>3.1 разширява <emph>XQuery</emph>, за да поддържа <emph>JSON</emph>, както и <emph>XML</emph>, добавяйки карти и масиви към модела за данни и поддържайки ги с нови изрази в езика и новите функции в [<emph>XQuery и XPath Functions and Operators 3.1</emph>]. Списък с промените, направени след <emph>XQuery </emph>3.1, може да бъде намерен в <emph>Change Log</emph>.</p>
                    <p>
                        <emph>XQuery </emph>е предназначен да бъде език, в който заявките са кратки и лесно разбираеми. Също така е достатъчно гъвкав, за да потърси широк спектър от <emph>XML </emph>източници на информация, включително бази данни и документи. Работната група за заявки определя едно изискване както за синтаксиса на заявки извън <emph>XML</emph>, така и за синтаксиса на заявката въз основа на <emph>XML. XQuery </emph>се получава от <emph>XML </emph>заявка, наречена <emph>Quilt </emph>(Quilt), която от своя страна заимства функции от няколко други езици, включително <emph>XPath 1.0 </emph>(XPath)<emph>, XQL </emph>(XQL)<emph>, XML-QL </emph>(XML-QL)<emph>, SQL </emph>(SQL)<emph> и OQL </emph>(ODMG)<emph>.</emph>
                    </p>
                    <p>
                        <emph>XQuery </emph>3.1 е разширение на <emph>XPath 3.1. </emph>По принцип всеки израз, който е синтактично валиден и се изпълнява успешно както в <emph>XPath </emph>3.1, така и в <emph>XQuery </emph>3.1, ще връща същия резултат и на двата езика. Има няколко изключения от това правило:</p>
                    <p>Тъй като <emph>XQuery </emph>разширява предварително зададените референтни единици и препратки към знаци, а XPath не го прави, изразите, съдържащи тези данни, произвеждат различни резултати в двата езика. Например стойността на обекта (entity) "&amp;amp;" е &amp; в <emph>XQuery </emph>и &amp;amp; в <emph>XPath</emph>. (<emph>XPath </emph>често е вграден в други езици, които могат да разширят предварително зададените референтни единици или знаци, преди да бъде оценен изразът <emph>XPath</emph>.)</p>
                    <p>Ако режимът на съвместимост <emph>XPath </emph>1.0 е активиран, <emph>XPath </emph>се държи по различен начин от <emph>XQuery </emph>по много начини, които са обсъдени в XPath<emph>.</emph>
                    </p>
                    <p>Граматиката на <emph>XQuery </emph>3.1 използва същата проста удължена нотация на разширената форма на Бейкъс-Наур (Extended <emph>Backus-Naur Form, EBNF) </emph>като XML със следните минимални разлики:</p>
                    <p>Всички назовани символи имат име, което започва с главна буква.</p>
                    <p>Той добавя обозначение за позоваване на продукции в външни спецификации.</p>
                    <p>Коментарите или извънграматичните ограничения върху граматическите продукции са между символите "/ *" и "* /".</p>
                </div>
            </div>
            <div>
                <head>Глава 4. HTML и CSS</head>
                <figure>
                    <graphic url="/HTML_CSS.png"/>
                </figure>
                <div>
                    <head>4.1. Значение</head>
                    <p>
                        <emph>HTML </emph>(Hypertext Markup Language) и <emph>CSS </emph>(Cascading Style Sheets) са две от технологиите за изграждане на уеб страници. <emph>HTML </emph>предоставя структурата на страницата и нейното съдържание, а <emph>CSS </emph>е отговорен за нейното визуално оформление при различни устройства. Наред с графиките и скриптовете HTML и <emph>CSS </emph>са основата за изграждането на уеб страници и уеб приложения. <emph>HTML </emph>е езикът за описание на структурата на уеб страниците. Това е езикът, който<emph/>дава на авторите средства за:</p>
                    <list type="unordered">
                        <item>Публикуване на онлайн документи с заглавия, текст, таблици, списъци, снимки и др.</item>
                        <item>Изтегляне на онлайн информация чрез хипертекстови връзки, с едно натискане на бутон.</item>
                        <item>Дизайн форми за извършване на транзакции с отдалечени услуги, за използване при търсене на информация, правене на резервации, поръчване на продукти и др.</item>
                        <item>Включване в документите списъци, видеоклипове, звукови клипове и други приложения.</item>
                    </list>
                    <p>С <emph>HTML</emph> авторите описват структурата на страниците чрез маркиране. Елементите на езиковия етикет съдържат съдържание като "параграф", "списък", "таблица" и т.н.</p>
                    <p>
                        <emph>XHTML </emph>е вариант на <emph>HTML</emph>, който използва синтаксиса на <emph>XML, Extensible Markup Language. XHTML </emph>има всички същите елементи (за параграфи и т.н.) като <emph>HTML </emph>вариант, но синтаксисът е малко по-различен. Тъй като <emph>XHTML </emph>е <emph>XML </emph>приложение, можете да използвате други <emph>XML </emph>инструменти с него (като например <emph>XSLT</emph>, език за трансформиране на <emph>XML </emph>съдържание).</p>
                    <p>CSS е езикът за форматирането и представянето на уеб страници, включително цветове, позиции на структурните единици и шрифтове. Той позволява да се адаптира презентацията към различни видове устройства, като големи или малки или принтери. <emph>CSS </emph>е независим от <emph>HTML </emph>и може да се използва с всеки маркиращ език. Разделянето на <emph>HTML </emph>от <emph>CSS, </emph>т.е. отделянето на съдържанието от неговото представяне,<emph/>улеснява поддържането на сайтове, споделянето на стилове между страниците и приспособяването на информацията към различни среди. Това се нарича разделение на структурата (или: съдържанието). <emph>CSS </emph>описва как <emph>HTML </emph>елементите трябва да се показват на екрана, хартията или на други носители. Той може да контролира оформлението на множество уеб страници наведнъж. Външните шаблони за стилове се съхраняват в <emph>CSS </emph>файлове. Идеята е, че тези файлове могат да променят външния вид на цял уебсайт само чрез една инструкция, съхранявана на едно място.</p>
                </div>
                <div>
                    <head>
                        <hi>Защо </hi>
                        <emph>CSS </emph>
                        <hi>е толкова полезен?</hi>
                    </head>
                    <p>Идеята за <emph>HTML </emph>никога не е била да съдържа елементи за форматиране на уеб страница!</p>
                    <p>
                        <emph>HTML</emph> е създаден, за да опише съдържанието на дадена уеб страница, като например:</p>
                    <p rend="pre">
                        <code>&lt;h1&gt;Това е заглавие&lt;/ h1&gt;
                        &lt;p&gt; Това е параграф.&lt;/ p&gt;</code>
                    </p>
                    <p>Когато към спецификацията на <emph>HTML </emph>3.2 са добавени маркери като <code>&lt;font&gt;</code> и атрибути за цвят, отделните браузъри започват да ги поддържат по различен начин и тогава се превръща в кошмар за уеб програмистите. Разработването на големи уеб сайтове става дълъг и скъп процес.</p>
                    <p>За да разреши този проблем, Консорциумът на <emph>World Wide Web (W3C) </emph>създава <emph>CSS</emph>. Този език<emph/>премахва форматирането на стила от <emph>HTML </emph>страницата.</p>
                </div>
                <div>
                    <head>4.2. История</head>
                    <p>През първите пет години (1990 – 1995 г.) <emph>HTML </emph>премива през редица ревизии и преживява редица разширения – път към по-прагматичен подход, известен като <emph>HTML </emph>3.2, който е завършен през 1997 г. <emph>HTML </emph>4.01 се появява по-късно същата година. Година след това се работи по еквивалентен на <emph>XML </emph>еквивалент, наречен <emph>XHTML</emph>. Това усилие започва с преформатирането на <emph>HTML </emph>4.01 в <emph>XML</emph>, известен като <emph>XHTML </emph>1.0. И така до днешния <emph>HTML5</emph>.</p>
                </div>
                <div>
                    <head>4.3. DOM HTML</head>
                    <p>Тази спецификация дефинира абстрактен език за описване на документи и приложения и някои приложни програмни интерфейси (API), които взаимодействат с представяния в паметта на ресурси, които използват този език.</p>
                    <p>Представянето в паметта е известно като "DOM HTML" или "DOM" за кратко.</p>
                    <p>Има различни конкретни синтаксиси, които могат да се използват за предаване на ресурси, които използват този абстрактен език, два от които са дефинирани в тази спецификация.</p>
                    <p>Първият такъв конкретен синтаксис е <emph>HTML </emph>синтаксиса. Това е форматът, предложен за повечето автори. Той е съвместим с повечето наследствени уеб браузъри. Ако даден документ се предава с типа text<emph>/ html</emph>, той ще бъде обработен като <emph>HTML </emph>документ от уеб браузъри. Тази спецификация дефинира най-новата версия на <emph>HTML </emph>синтаксиса, познат просто като "HTML".</p>
                    <p>Вторият конкретен синтаксис е <emph>XHTML </emph>синтаксисът, който е приложение на <emph>XML</emph>. Когато даден документ се предава с типа <emph>XML</emph>, като <emph>например application/xhtml + xml</emph>, той се обработва като XML документ от уеб браузъри, който се анализира от <emph>XML </emph>процесор. Обработката за <emph>XML </emph>и <emph>HTML </emph>се различава; по-специално, дори и незначителни синтактични грешки ще попречат на документ, означен като <emph>XML</emph>, да бъде напълно изобразен, докато те ще бъдат игнорирани в <emph>HTML </emph>синтаксиса. Тази спецификация определя последната версия на <emph>XHTML </emph>синтаксиса, известен просто като "XHTML".</p>
                </div>
                <div>
                    <head>4.4. HTML елементи</head>
                    <p>
                        <emph>HTML </emph>също така определя специални елементи за дефиниране на текст със специален смисъл.</p>
                    <p>
                        <emph>HTML </emph>използва елементи като <code>&lt;strong&gt;</code> и <code>&lt;em&gt;</code> за форматиране на изход, като удебелен (получер) или курсивен текст.</p>
                    <p>
                        <code>&lt;strong&gt;</code> – Important text</p>
                    <p>Елементът <emph>HTML </emph>
                        <code>&lt;strong&gt;</code> дефинира текст с добавена семантична „силна“ важност.</p>
                    <p>
                        <code>&lt;em&gt;</code> – Emphasized text</p>
                    <p>Елементът <emph>HTML </emph>
                        <code>&lt;em&gt;</code> дефинира подчертания текст с добавена семантична значимост.</p>
                    <p>
                        <code>&lt;mark&gt;</code> – Marked text</p>
                    <p>Елементът <emph>HTML </emph>
                        <code>&lt;mark&gt;</code> дефинира маркиран или подчертан текст.</p>
                    <p>
                        <code>&lt;small&gt;</code> – Small text</p>
                    <p>Елементът HTML <code>&lt;small&gt;</code> дефинира по-малък текст.</p>
                    <p>
                        <code>&lt;del&gt;</code> – Deleted text</p>
                    <p>Елементът HTML <code>&lt;del&gt;</code> дефинира изтрития (премахнат) текст.</p>
                    <p>
                        <code>&lt;ins&gt;</code> – Inserted text</p>
                    <p>Елементът HTML <code>&lt;ins&gt;</code> дефинира вмъквания (добавен) текст.</p>
                    <p>
                        <code>&lt;sub&gt;</code> – Subscript text</p>
                    <p>Елементът HTML <code>&lt;sub&gt;</code> дефинира абонирания текст.</p>
                    <p>
                        <code>&lt;sup&gt;</code> – Superscript text</p>
                    <p>Елементът HTML <code>&lt;sup&gt;</code> дефинира надписания текст.</p>
                </div>
            </div>
            <div>
                <head>Глава 5. JavaScript </head>
                <figure>
                    <graphic url="/JS.png"/>
                </figure>
                <div>
                    <head>
                        <hi>5.1.Значение</hi>
                    </head>
                    <p>
                        <emph>JavaScript </emph>е езикът за програмиране на <emph>HTML </emph>и уеб. <emph>JavaScript </emph>може да променя <emph>HTML </emph>съдържание. Един от многото методите на JavaScript <emph>JavaScript </emph>е getElementById (). В <emph>HTML JavaScript </emph>кодът трябва да бъде вмъкнат между маркерите <code>&lt;script&gt;</code> и <code>&lt;/ script&gt;</code>. Могат да се поставят произволен брой скриптове в <emph>HTML </emph>документ.</p>
                    <p rend="pre">
                        <code>&lt;script type="text/javascript"&gt;
                    $(window).load(function(){
                    $('#myModal').modal('show');
                    });
                    &lt;/script&gt;
                    &lt;/xsl:template&gt;</code>
                    </p>
                    <p>Поставянето на скриптове във външни файлове има някои предимства:</p>
                    <list type="unordered">
                        <item>Това прави <emph>HTML </emph>и <emph>JavaScript </emph>по-лесни за четене и поддръжка</item>
                        <item>Кешираните <emph>JavaScript </emph>файлове могат да ускорят зареждането на страници. </item>
                        <item>Външните скриптове могат да се посочват с пълен URL адрес или с пътека спрямо текущата уеб страница.</item>
                    </list>
                    <p>Скриптовете могат да бъдат поставени в <code>&lt;body&gt;</code> или в секцията <code>&lt;head&gt;</code> на <emph>HTML </emph>страница или и в двете.</p>
                    <p rend="pre">
                        <code>&lt;head&gt;
                        &lt;body&gt;</code>
                    </p>
                    <p>Много от нашите компоненти изискват използването на <emph>JavaScript </emph>за работа. По-конкретно, те изискват <emph>jQuery</emph>, <emph>Popper</emph>.js и нашите собствени приставки за <emph>JavaScript</emph>. </p>
                    <p>Компоненти, изискващи <emph>JavaScript </emph>са: </p>
                    <list type="unordered">
                        <item>Сигнали за отхвърляне;</item>
                        <item>Бутони за превключване на състояния и функционалност за отметка / радио;</item>
                        <item>Плъзгащи се поведения, контроли и индикатори;</item>
                        <item>Свиване за превключване на видимостта на съдържанието;</item>
                        <item>Падащи менюта за показване и позициониране (също изисква Popper.js);</item>
                        <item>Модули за показване, позициониране и превъртане;</item>
                        <item>Navbar за разширяване на плъгина ни за свиване, за да се приложи реагиращо поведение;</item>
                        <item>Инструменти и popovers за показване и позициониране (също изисква Popper.js);</item>
                        <item>Scrollspy за поведението на превъртане и актуализациите за навигация;</item>
                    </list>
                    <p>Синтаксисът в <emph>JavaScript </emph>е набор от правила, как се изграждат програмите му. Той дефинира два типа стойности: </p>
                    <p>Фиксирани стойности и стойности на променливи. Фиксираните стойности се наричат буквални. Променливите стойности се наричат променливи. Те трябва да бъдат идентифицирани с уникални имена. Тези уникални имена се наричат идентификатори. </p>
                    <p>Общите правила за създаване на имена на променливи (уникални идентификатори) са:</p>
                    <list type="unordered">
                        <item>Имената могат да съдържат букви, цифри, долни черти и знаци за долар;</item>
                        <item>Имена трябва да започват с буквен знак;</item>
                        <item>Имената също могат да започват с $ и _ ;</item>
                        <item>Имената са чувствителни към буквите (y и Y са различни променливи);</item>
                        <item>Запазените думи (като JavaScript ключови думи) не могат да се използват като имена;</item>
                    </list>
                    <p>
                        <hi>Най-важните правила за писане на фиксирани стойности са</hi>:</p>
                    <p>Числата са написани със или без десетични знаци: 15 или 15.05</p>
                    <p>
                        <emph>Strings </emph>(низове)<emph/>са части от текст, написан в двойни или единични кавички: "Text" или 'Text'.</p>
                    <p>Използват се променливи за съхраняване на стойностите на данните.</p>
                    <p>JavaScript използва ключовата дума var за деклариране на променливи. За изчисляване на стойностите се използват аритметични оператори (+ - * /). </p>
                    <p>Коментарите в <emph>JavaScript </emph>могат да се използват и за предотвратяване на изпълнението при тестване на алтернативен код, както и за обясняване на кода на JavaScript и за по-лесно четене. Аритметичните оператори се използват за извършване на аритметични числа:</p>
                    <p>+ Addition (допълнение)</p>
                    <p>- Subtraction (изваждане)</p>
                    <p>* Multiplication (умножение)</p>
                    <p>/ Division (деление)</p>
                    <p>% Modulus (Remainder) (деление с остатък)</p>
                    <p>++ Increment (увеличение)</p>
                    <p>-- Decrement (снижаване)</p>
                    <p>Логически оператори на JavaScript:</p>
                    <p>&amp;&amp; логически и</p>
                    <p>|| логически или</p>
                    <p>! логично не</p>
                    <p>&amp; – и</p>
                    <p>| – или</p>
                    <p>~ – не(или отрицание)</p>
                </div>
            </div>
            <div>
                <head>Глава 6. Bootstrap</head>
                <figure>
                    <graphic url="/Bootstrap.png"/>
                </figure>
                <div>
                    <head>6.1.Значение</head>
                    <p>
                        <emph>Bootstrap</emph> e популярна библиотека от съчетание на HTML структура, CSS форматиране и JavaScript. Тя използва няколко важни глобални стила и настройки, чиято идея е да бъдат съвместими с всички съвременни браузъри и интернет страниците да се изобразяват на всички възможни електронни устройства – от екраните на домашните компютри до най-малките смартфони. Това се постига чрез няколко идеи, най-важната от които е:</p>
                    <p>Отзивчив мета етикет (Responsive meta tag):</p>
                    <p>
                        <code>&lt;meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"&gt;</code>
                    </p>
                    <p>Тъй като <emph>Bootstrap </emph>е разработен предимно за мобилни устройства – стратегия, при която първо оптимизираме кода за мобилни устройства и след това увеличаваме необходимите компоненти, като използваме <emph>CSS </emph>медийни заявки. За да се осигури правилното представяне и мащабиране за всички устройства, се добавя по-горната инструкция като поделемент на <code>&lt;head&gt;</code>.</p>
                    <p>Box-sizing</p>
                    <p>.selector-for-some-widget { box-sizing: content-box; }</p>
                    <p>Тази инструкция гарантира, че подложката не оказва влияние върху крайната изчислена ширина на елемента.</p>
                    <p>Reboot</p>
                    <p>За подобрено рендериране между браузъри се използва Рестартиране, за да се коригират несъответствията в браузърите и устройствата.</p>
                    <p>Кодът в следващите редове по-долу е използван за текущата магистърска теза.</p>
                    <p rend="pre">
                        <code>&lt;table class="table table-striped"&gt;
                        &lt;tbody&gt;&lt;tr&gt;&lt;th&gt;&lt;abbr title="tei:titleStmt/tei:title"&gt;Документ&lt;/abbr&gt;&lt;/th&gt;&lt;td&gt;</code>
                    </p>
                    <p>Ето един пример как би могла да изглежда една таблица:</p>
                    <figure>
                        <graphic url="/table.png"/>
                    </figure>
                </div>
            </div>
            <div>
                <head>Глава 7. Как се съчетaват всички технологии в едно?</head>
                <p>Един от възможните подходи е да се използва база от данни и уеб сървър, които са интегрирани в едно приложение. За целта бе използвана <emph>noSQL </emph>XML native база от данни с отворен код, известна като <emph>eXist database </emph>(<ref target="http://exist-db.org/exist/apps/homepage/index.html">http://exist-db.org/</ref>). В рамките на приложението бяха използвани всички споменати технологии и решения, като общата инфраструктура би могла да се представи по следния начин:</p>
                <figure>
                    <graphic url="/XML_XSLT_HTML.png"/>
                    <p>XML &gt; XSLT &gt; HTML </p>
                </figure>
                <figure>
                    <graphic url="/XML_XQuery_HTML.png"/>
                    <p>XML &gt; XQuery &gt; HTML </p>
                </figure>
                <p/>
            </div>
            <div>
                <head>7.1. Няколко подхода</head>
                <p>Съществуват различни подходи за работа с XML документи. Единият от тях е чрез трансформация на файла преди обработката в сървърна среда. Другият вариант е всичко да се случва в средата на уеб сървъра за приложения (web application server), който работи с база от данни. И в двата случая е възможно един XML файл да бъде форматиран и представен в различни форми в зависимост от нуждите ни. </p>
                <p>В случая е избран вторият подход. При него от можехме да избираме също два варианта – трансформацията да се осъществи с помощта на XSLT или на XQuery с помощта на модулите на Typeswitch (<ptr target="https://www.w3.org/TR/xquery/#id-typeswitch"/>). Бе избран първият от тях. При него XSLT служи за трансформацията на данните, а XQuery при заявки – търсене и екстракция на данни. </p>
            </div>
            <div>
                <head>Глава 8. eXist database</head>
                <figure>
                    <graphic url="/exist_db.png"/>
                </figure>
                <div>
                    <head>8.1. Значение. Софтуерната платформа на електронната публикация</head>
                    <p>Електронната публикация на изданието на Васил Миков е изцяло оформена като приложение на базата от данни eXist (<ref target="http://exist-db.org/">http://exist-db.org</ref>).</p>
                    <p>eXist съчетава в себе си noSQL XML native база от данни, с Java уеб сървър за приложения (по избор Jetty, Tomcat, Resin, Glassfish, Payara, JBoss/Wildfly или някой друг). Приложението може да работи с цялото семейство на XML – XML, XPath, XSLT, XQuery, XForms, XInclude като индексира както чисто текстови, така и бинарни файлове.</p>
                    <p>Идеята на създателите му е да предоставят платформа, която е способна да публикува и изгражда самостоятелни и богати на възможности уеб приложения. Платформата се разработва от 2001 г. от малък кръг специалисти и почива изцяло на отворен код и най-известните стандарти в областта. Изграждането на приложенията в eXist се извършва изцяло в Интернет среда като за целта има вграден редактор, който в реално време обновява базата от данни. </p>
                    <p>За индексацията на данните и за общо търсене eXist използва възможностите на Apache Lucene – търсеща програма с отворен код (<ptr target="http://lucene.apache.org/"/>).</p>
                </div>
                <div>
                    <head>8.2. Инсталация</head>
                    <p>За инсталация могат да се използват изпълним java архив файл (jar) или формат, разпознаваем от Java уеб сървърите (war). Предварително условие е на компютъра, на който се инсталира, да има работеща среда на Java. За повече информация вж. на Интернет страницата на приложението: <ptr target="http://exist-db.org/exist/apps/doc/quickstart.xml"/>
                    </p>
                </div>
                <div>
                    <head>8.3. Интернет публикацията на книгата на В. Миков в средата на eXist</head>
                    <p>Всяка една публикация в средата на eXist може да се изгради от самото начало, използвайки вградения програмен редактор eXide или да се оформят отделните файлове според определената от приложението архитектура и да се въведат чрез организатора на пакети (Package Manager). </p>
                </div>
                <div>
                    <head>8.4. Структура на директориите и файловете</head>
                    <p>Нашето приложение (файлове и директории) под eXist изглежда така:</p>
                    <p rend="pre">
                        <code>
                    /data
                    /modules
                    /pages
                    /resources
                    /templates
                    build.xml
                    collection.xconf
                    controller.xql
                    error-page.html
                    expath-pkg.xml
                    pre-install.xql
                    repo.xml</code>
                    </p>
                    <div>
                        <head>Централната директория</head>
                        <p>Файловете в централната директория на приложението служат за неговото инсталиране и конфигуриране.</p>
                        <p>Файлът <code>build.xml</code> създава т. нар. xar (eXtensible ARchive format) архив – файлът, който се разпознава от редица Java сървърни приложения и служи, като правило за инсталация (вж. напр. <ref target="https://mackyle.github.io/xar/">XAR</ref>). Той взима информацията от другите файлове и създава цялостната йерархия и зависимости, които служат за инсталацията</p>
                        <p>
                            <code>controller.xql</code> създава пътечките към основните страници и директории в приложението.</p>
                        <p>
                            <code>error-page.html</code> е страница, която се извиква от сървъра, ако не е намерена страницата, която следва да бъде изобразена.</p>
                        <p>
                            <code>expath-pkg.xml</code> описва общата информация на приложението и неговите основни зависимости. В случая този кратък файл изглежда така:</p>
                        <p rend="pre">
                            <code>&lt;package xmlns="http://expath.org/ns/pkg" name="http://www.slav.uni-sofia.bg/ns/proizhod" abbrev="VMikov-Proizhod" version="1.0" spec="1.0"&gt;
                            &lt;title&gt;Произходъ и значение на имената на нашитѣ градове, села, рѣки, планини и мѣста&lt;/title&gt;
                            &lt;dependency package="http://exist-db.org/apps/shared"/&gt;
                            &lt;/package&gt;</code>
                        </p>
                        <p>Можем да „преведем“ тази информация по следния начин. Това е приложение с регистрация <ref target="http://www.slav.uni-sofia.bg/ns/proizhod">http://www.slav.uni-sofia.bg/ns/proizhod</ref> и кратко име VMikov-Proizhod в своята си първа версия. Името му е <emph>Произходъ и значение на имената на нашитѣ градове, села, рѣки, планини и мѣста</emph> и то зависи от общите ресурси на системата:</p>
                        <p rend="pre">
                            <code>&lt;dependency package="http://exist-db.org/apps/shared"/&gt;</code>
                        </p>
                        <p>
                            <emph>Expath</emph> e протокол, предназначен за пакетиране на файлове от системата на XML с цел тяхното последващо инсталиране. Ако XAR e общ формат, предназначен най-вече за сървърни Java приложение, то <emph>expath</emph> служи само за XML файлове (повече информация вж. на <ref target="http://expath.org/">http://expath.org</ref>).</p>
                        <p>
                            <code>pre-install.xql</code> създава различните необходими колекции в базата от данни и връзките между отделните компоненти и общата конфигурация.</p>
                        <p>
                            <code>repo.xml</code> съдържа всички най-важни данни за нашето приложение. В случая той изглежда така:</p>
                        <p rend="pre">
                            <code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
                            &lt;meta xmlns="http://exist-db.org/xquery/repo"&gt;
                            &lt;description&gt;Това е интернет приложение за публикация на изданието на Васил Миков&lt;/description&gt;
                            &lt;author&gt;Цветелиана Петкова&lt;/author&gt;
                            &lt;status&gt;alpha&lt;/status&gt;
                            &lt;license&gt;GNU-LGPL&lt;/license&gt;
                            &lt;copyright&gt;true&lt;/copyright&gt;&lt;type&gt;application&lt;/type&gt;
                            &lt;target&gt;proizhod&lt;/target&gt;
                            &lt;prepare&gt;pre-install.xql&lt;/prepare&gt;
                            &lt;permissions user="admin" password="" group="dba" mode="rw-rw-r--"/&gt;
                            &lt;/meta&gt;</code>
                        </p>
                        <p>
                            <code>collection.xconf</code> съдържа указания за това кои елементи желаем да конфигурираме специално за нашето приложение. В случая индексът изглежда така:</p>
                        <p rend="pre">
                            <code>&lt;index xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;
                            &lt;fulltext default="none" attributes="false"/&gt;
                            &lt;create qname="tei:term" type="xs:string"/&gt;
                            &lt;create qname="tei:persName" type="xs:string"/&gt;
                            &lt;create qname="tei:placeName" type="xs:string"/&gt;
                            &lt;create qname="tei:rs" type="xs:string"/&gt;
                            &lt;create qname="@ref" type="xs:string"/&gt;
                            &lt;lucene&gt;
                            &lt;text qname="tei:p"/&gt;
                            &lt;/lucene&gt;
                            &lt;/index&gt;</code>
                        </p>
                        <p>Тук са изброени елементите и атрибутите, чиито стойности или текст желаем специално да търсим, заедно с общото търсене по абзаци на Apache Lucene. </p>
                    </div>
                    <div>
                        <head>Директория data</head>
                        <p>Директорията data съдържа съставените от нас файлове. Тя се разделя на няколко поддиректории: </p>
                        <p>
                            <code>/book</code> – тук е цялостният текст от книгата на В. Миков</p>
                        <p>
                            <code>/editions</code> – тук текстът е разделен на отделни глави</p>
                        <p>
                            <code>/indices</code> – тук са файловете listplace.xml и listperson.xml</p>
                        <p>
                            <code>/meta</code> – тук е част от магистърската теза</p>
                    </div>
                    <div>
                        <head>Директория templates</head>
                        <p>В директорията <code>templates</code> са зададени два модела за изобразяване на готовите html файлове. eXist работи като извиква един от двата файла и помества новото съдържание като го вмъква като част основната информация. Метаданните и повторящите се елементи на страницата се взимат от т. нар. template файлове. </p>
                        <p>В нашия случай имаме два модела. Първият,  <code>page.html</code>, отговаря за почти всички страница, докато вторият, <code>datatable.html</code>, е специализиран за изобразяването на информацията във вид на таблици. </p>
                        <p>Нека разгледаме отделните части на един такъв моделен файл. За целта ще изберем общия вариант, <code>page.html</code>. Подобно на всеки един валиден html документ той се състои от част с метаданни, (елемента <code>head</code>) и основна част (<code>body</code>). В елемента head са зададени основната метаинформация, връзките към JavaScript, CSS файловете и към логото на сайта, т. нар. картинка с формат <code>*.ico</code>, която се показва или в лентата на браузъра, или като част от неговия таб.</p>
                        <p>Ето извадка от нашия файл с пояснения под всеки ред:</p>
                        <p rend="pre">
                            <code>&lt;head&gt;&lt;title data-template="config:app-title"&gt;</code>App Title<code>&lt;/title&gt;</code>
                        </p>
                        <p>Тук се появява заглавието на приложението.</p>
                        <p rend="pre">
                            <code>&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"/&gt;</code>
                        </p>
                        <p>Този ред служи, за да покаже каква е първоначалната големина изобразената страница (1.0 означава 100% от зададената от браусера конфигурация).</p>
                        <p rend="pre">
                            <code>&lt;meta data-template="config:app-meta"/&gt;</code>
                        </p>
                        <p>Този ред извиква приложението, свързано с метаинформацията.</p>
                        <p rend="pre">
                            <code>&lt;link rel="shortcut icon" href="$app-root/resources/img/proizhod.ico"/&gt;</code>
                        </p>
                        <p>Връзка към картинката.</p>
                        <p rend="pre">
                            <code>&lt;link href="$app-root/resources/css/font-awesome.min.css" rel="stylesheet"/&gt;</code>
                        </p>
                        <p>Връзка към css файла на шрифтовете Fontawesome.</p>
                        <p rend="pre">
                            <code>&lt;link rel="stylesheet" type="text/css" href="$app-root/resources/css/cerulean_bootstrap.min.css"/&gt;</code>
                        </p>
                        <p>Връзка към CSS файла на основната библиотека.</p>
                        <p rend="pre">
                            <code>&lt;link rel="stylesheet" type="text/css" href="$app-root/resources/css/style.css"/&gt;</code>
                        </p>
                        <p>Наши допълнения и уточнения на горната CSS библиотека.</p>
                        <p rend="pre">
                            <code>&lt;script type="text/javascript" src="$app-root/resources/js/jquery/jquery-2.2.1.min.js"/&gt;</code>
                        </p>
                        <p>Зареждане на основната JavaScript библиотека.</p>
                        <p rend="pre">
                            <code>&lt;script type="text/javascript" src="$app-root/resources/js/bootstrap.min.js"/&gt;</code>
                        </p>
                        <p>Зареждане на Java Script библиотеката на Bootstrap.</p>
                        <p rend="pre">
                            <code>&lt;link rel="stylesheet" href="../resources/js/scroll-to-top/css/ap-scroll-top.min.css"/&gt;</code>
                        </p>
                        <p rend="pre">
                            <code>&lt;script src="../resources/js/scroll-to-top/js/ap-scroll-top.min.js"/&gt;</code>
                        </p>
                        <p>Връзка към скрипта, който показва стрелка нагоре, за да можем да се върнем в най-горната част на страницата.</p>
                        <p rend="pre">
                            <code>&lt;script type="text/javascript" src="$app-root/resources/js/custom.js"/&gt;</code>
                        </p>
                        <p>Някои допълнителни скриптове.</p>
                        <p rend="pre">
                            <code>&lt;link rel="stylesheet" href="../resources/js/cool-share/plugin.css"/&gt;
                            &lt;script type="text/javascript" src="../resources/js/cool-share/plugin.js"/&gt;</code>
                        </p>
                        <p>Този скрипт ни позволява да споделяме нашата страница, например във Facebook, Google или Twitter. </p>
                        <p rend="pre">
                            <code>&lt;/head&gt;</code>
                        </p>
                        <p>Край на метаданните.</p>
                        <p>По този начин всяка една страница, извикана от XML формата с помощта на <emph>XSLT </emph>или <emph>XQuery </emph>изглежда по еднотипен начин. </p>
                        <p>Втората част на файла е самото съдържание, като значителна част от кода е посветен на навигацията в горната част на страницата. Идеята е тя да изглежда по абсолютно еднакъв начин навсякъде. Приложеният откъс от код е достатъчно красноречив. Той е пригоден да се разглежда от електронни устройства с всякакъв размер: компютри, лаптопи, таблети и смартфони с различна големина:</p>
                        <p rend="pre">
                            <code>&lt;header&gt;&lt;nav class="navbar navbar-inverse" role="navigation"&gt;&lt;div class="navbar-header"&gt;
                            &lt;button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-1"&gt;
                            &lt;span class="sr-only"&gt;Toggle navigation&lt;/span&gt;
                            &lt;span class="icon-bar"/&gt;&lt;span class="icon-bar"/&gt;&lt;span class="icon-bar"/&gt;
                            &lt;/button&gt;&lt;/div&gt;
                            &lt;div class="navbar-collapse collapse" id="navbar-collapse-1"&gt;
                            &lt;ul class="nav navbar-nav"&gt;&lt;li class="dropdown" id="about"&gt;
                            &lt;a href="index.html" class="dropdown-toggle" data-toggle="dropdown"&gt;Начало&lt;/a&gt;
                            &lt;ul class="dropdown-menu"&gt;&lt;li&gt;&lt;a href="index.html"&gt;Начало&lt;/a&gt;&lt;/li&gt;
                            &lt;li&gt;&lt;a href="imprint.html"&gt;Издателски данни&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
                            &lt;li class="dropdown" id="toc"&gt;
                            &lt;a href="#" class="dropdown-toggle" data-toggle="dropdown"&gt;Изданието&lt;/a&gt;
                            &lt;ul class="dropdown-menu"&gt;
                            &lt;li&gt;&lt;a href="showb.html?document=VMikov.xml&amp;amp;directory=book&amp;amp;stylesheet=xmlToHtml"&gt;Книгата&lt;/a&gt;&lt;/li&gt;
                            &lt;li&gt;&lt;a href="tocx.html"&gt;Главите на книгата по азбучен ред&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
                            &lt;li class="dropdown"&gt;&lt;a href="#" class="dropdown-toggle" data-toggle="dropdown"&gt;Индекси&lt;/a&gt;
                            &lt;ul class="dropdown-menu"&gt;&lt;li&gt;&lt;a href="persons.html"&gt;Лица&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="places.html"&gt;Места&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="terms.html"&gt;Ключови думи&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
                            &lt;li&gt;&lt;a href="show.html?document=about.xml&amp;amp;directory=meta&amp;amp;stylesheet=meta"&gt;Магистърска теза&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
                            &lt;div class="pull-right"&gt;&lt;form method="get" action="ft_search.html" class="navbar-form" id="pageform"&gt;
                            &lt;div class="form-group"&gt;&lt;div class="input-group"&gt;
                            &lt;input type="text" class="form-control" name="searchexpr" placeholder="Търсене навсякъде" pattern=".{3,}" required="" title="3 characters minimum"/&gt;&lt;/div&gt;
                            &lt;button type="submit" class="btn btn-primary fa fa-search"/&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;/div&gt;&lt;/nav&gt;&lt;/header&gt;</code>
                        </p>
                        <p>Основното съдържание се извиква с помощта само на няколко реда:</p>
                        <p rend="pre">
                            <code>&lt;section class="main-content"&gt;&lt;div id="content" class="container"/&gt;
                            &lt;span class="socialShare"&gt;&lt;!-- The share buttons will be inserted here --&gt;&lt;/span&gt;&lt;div id="loadModal"/&gt;&lt;/section&gt;</code>
                        </p>
                        <p>Това е редът <code>&lt;div id="content" class="container"/&gt;</code>. Това съдържание винаги завършва с извикване на скрипта за споделяне (<code>&lt;span class="socialShare"&gt;</code>) и при файловете с публикация на текста, с възможността да се появяват при приближаването на мишката при оформените със синьо части с показването на прозорци с допълнителна информация (<code>&lt;div id="loadModal"/&gt;</code>). </p>
                        <p>Долната част на страницата е оформена с помощта на извикването на три картинки с връзки към сайтовете на Сoфийския университет, TEI и eXist database:</p>
                        <p rend="pre">
                            <code>&lt;div class="container"&gt;
                            &lt;div class="row text-center"&gt;
                            &lt;div class="col-md-2"&gt;&lt;a href="http://www.uni-sofia.bg/"&gt;
                            &lt;img src="../resources/img/su-head.png" alt="github" width="50%"/&gt;&lt;/a&gt;
                            &lt;/div&gt;
                            &lt;div class="col-md-2"&gt;&lt;a href="http://www.tei-c.org/"&gt;&lt;img src="../resources/img/We-use-TEI.png" alt="We use TEI"/&gt;&lt;/a&gt;&lt;/div&gt;
                            &lt;div class="col-md-2"&gt;&lt;a href="http://exist-db.org/" class="navlink" target="_blank"&gt;&lt;img src="../resources/img/existdb.png" alt="eXist-db" width="75%"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</code>
                        </p>
                        <p>За разлика от предишния модел, <code>datatable.html</code> се състои почти изцяло от връзки към CSS и JS файлове: </p>
                        <p rend="pre">
                            <code>&lt;link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs/jszip-2.5.0/dt-1.10.16/b-1.4.2/b-html5-1.4.2/b-print-1.4.2/datatables.min.css"/&gt;
                            &lt;script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/pdfmake.min.js"/&gt;
                            &lt;script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js"/&gt;
                            &lt;script type="text/javascript" src="https://cdn.datatables.net/v/bs/jszip-2.5.0/dt-1.10.16/b-1.4.2/b-html5-1.4.2/b-print-1.4.2/datatables.min.js"/&gt;
                            &lt;script src="$app-root/resources/js/datatables/dataTables.keepConditions.min.js"/&gt;
                            &lt;div id="datatable"/&gt;</code>
                        </p>
                        <p>Основната идея на извикването на толкова много файлове е да може да се трансформира информацията в таблицата в различни формати и да може отделните колони да се подреждат допълнително. </p>
                    </div>
                    <div>
                        <head>Директория resources</head>
                        <p>Директорията resources се дели на свой ред на няколко директории:</p>
                        <p>
                            <code>/css</code>: В тази директория са разположени няколко файла – основният CSS (<code>cerulean_bootstrap.min.css</code>), файлът <code>font-awesome.min.css</code>, който позволява вмъкването на малки картинки в страницата и нашият собствен файл <code>style.css</code>. Благодарение на това, че всички технологии са с отворен код, е възможна тяхната безпроблемна интеграция. В случая това означаваше, че е нужно съвсем малко допълнително форматиране на някои части от уеб страниците. Това засягаше главно по-добрата цветова палитра, за да се синхронизира с навигацията, по-добро форматиране на галерията в началната страница. Добавен бе и старобългарски шрифт:</p>
                        <p rend="pre">
                            <code>:lang(chu) { font-family:Bukyvede, sans-serif; font-size: 120%;}</code>
                        </p>
                        <p>
                            <code>/fonts</code>. Тук са разположени: 1) стандартният шрифт на Bootstrap glyphicons; 2) Шрифтовото семейство на Fontawesome и 3) старобългарският шрифт Bukyvede. </p>
                        <p>
                            <code>/img</code>. Тук са всички картинки и графични елементи.</p>
                        <p>
                            <code>/js</code>: Това е мястото на различните Java скриптове</p>
                        <p>
                            <code>/xslt</code>: Последната по азбучен ред, но не и по значение директория съдържа 4 файла, предназначени да трансформират нашите <emph>XML</emph> документи в <emph>HTML</emph>. Те са: <code>listperson.xsl</code>, <code>listplace.xsl</code>, <code>meta.xsl</code> и <code>xmlToHtml.xsl</code>. </p>
                        <p>Първите два отговарят за предоставянето на допълнителна информация за лицата или за местата, <code>meta.xsl</code> преработва <emph>XML</emph> файла на магистърската теза в <emph>HTML</emph> документ, а <code>xmlToHtml.xsl</code> съдържа основните указания за всички файлове.</p>
                        <p>Ще илюстрираме избрания подход с един пример от последния файл, който служи за оформяне на титулната страница, направата на съдържание от отделните заглавия и вмъкването на основната информация от страницата:</p>
                        <p rend="pre">&gt;
                            <code>&lt;div class="panel-body"&gt;</code>
                        </p>
                        <p>Класът panel-body е стандартна функция на <emph>Bootstrap</emph>.</p>
                        <p rend="pre">&gt;
                            <code>&lt;xsl:choose&gt;&lt;xsl:when test="//tei:front"&gt;
                            &lt;xsl:apply-templates select="//tei:titlePage"/&gt;
                        &lt;xsl:element name="hr"/&gt;&lt;/xsl:when&gt;</code>
                        </p>
                        <p>Това е първият вариант на структура на <emph>XML</emph> файла. Ако той съдържа елемента <code>front</code> извикай елемент <code>titlePage</code>. </p>
                        <p rend="pre">
                            <code>&lt;xsl:otherwise&gt;
                            &lt;h3&gt;&lt;xsl:apply-templates select="//tei:div[@type = 'titlePage']"/&gt;
                            &lt;/h3&gt;&lt;/xsl:otherwise&gt;&lt;/xsl:choose&gt;</code>
                        </p>
                        <p>Другият вариант е файлът да съдържа само общи разграничители (<code>div</code>)</p>
                        <p rend="pre">
                            <code>&lt;xsl:element name="ul"&gt;
                            &lt;xsl:for-each select="//tei:body//tei:head"&gt;
                            &lt;xsl:element name="li"&gt;
                            &lt;xsl:element name="a"&gt;
                            &lt;xsl:attribute name="href"&gt;&lt;xsl:text&gt;#text_&lt;/xsl:text&gt;
                            &lt;xsl:value-of select="."/&gt;&lt;/xsl:attribute&gt;
                            &lt;xsl:attribute name="id"&gt;&lt;xsl:text&gt;nav_&lt;/xsl:text&gt;
                            &lt;xsl:value-of select="."/&gt;&lt;/xsl:attribute&gt;
                            &lt;xsl:value-of select="."/&gt;
                            &lt;/xsl:element&gt;&lt;/xsl:element&gt;&lt;/xsl:for-each&gt;
                            &lt;/xsl:element&gt;</code>
                        </p>
                        <p>С помощта на тази част от отделните подзаглавия на документа се образува съдържание. </p>
                        <p rend="pre">
                            <code>&lt;p&gt;&lt;xsl:choose&gt;&lt;xsl:when test="//tei:div[@type = 'text']"&gt;
                            &lt;xsl:apply-templates select="//tei:div[@type = 'text']"/&gt;&lt;/xsl:when&gt;
                            &lt;xsl:when test="//tei:div[@type = 'transcript']"&gt;&lt;xsl:apply-templates select="//tei:div[@type = 'transcript']"/&gt;
                            &lt;/xsl:when&gt;
                            &lt;xsl:otherwise&gt;&lt;xsl:apply-templates select="//tei:body"/&gt;&lt;/xsl:otherwise&gt;&lt;/xsl:choose&gt;&lt;/p&gt;&lt;/div&gt;</code>
                        </p>
                        <p>Тази част е насочена към трансформацията на различните вариации на основния текст, като основната идея е те да се форматират по сходен начин. </p>
                    </div>
                    <div>
                        <head>Директория modules</head>
                        <p>В тази част са най-важните програмни файлове на проекта. Директорията modules<emph/>съдържа три файла, които отговарят за това как желаем да изглежда нашето приложение и каква функционалност да притежава. Тези файлове са:</p>
                        <p>
                            <code>app.xql</code> – функции, които желаем да притежава нашата електронна публикация са дефинирани тук. Това е мястото, където се задава и по какъв начин желаем да се трансформират нашишите XML файлове в някакъв друг формат, по какъв начин искаме да се осъществи екстракцията на данните и др. </p>
                        <p>
                            <code>config.xqm</code> – конфигурира общото пространство от имена, т. нар. XML Namespace (в нашия случай <ptr target="http://www.slav.uni-sofia.bg/ns/proizhod/config"/>) като поставя във връзка с останалите файлове. Всички файлове на приложението след това се обръщат към тази информация.</p>
                        <p>
                            <code>view.xql</code> – задава основните характеристики на приложението във връзка с неговото визуализиране в сървърна среда. Това е мястото, където се дефинират какви модели се използват и къде могат да бъдат открити. В случая са важни редовете:</p>
                        <p>1) <code>import module namespace config="http://www.slav.uni-sofia.bg/ns/proizhod/config" at "config.xqm";</code>
                        </p>
                        <p>2) <code>import module namespace app="http://www.slav.uni-sofia.bg/ns/proizhod/templates" at "app.xql";</code>
                        </p>
                        <p>В първия се посочва общата конфигурация с пространството от имена (Namespaces in XML), а във втория – къде да се открият моделите.</p>
                        <p>Важно ни се струва да обърнем внимание на отделните функции, дефинирани във файла <code>app.xql</code>, доколкото чрез тях отделните HTML предлагат възможностите на системата в цялост.</p>
                        <p rend="pre">
                            <code>declare function app:getDocName($node as node()){ 
                        let $name := functx:substring-after-last(document-uri(root($node)), '/')
                        return $name
                        };</code>
                        </p>
                        <p>Чрез тази функция се извиква името на файла на документа.</p>
                        <p rend="pre">
                            <code>declare function app:hrefToDoc($node as node()){
                        let $name := functx:substring-after-last($node, '/')
                        let $href := concat('show.html','?document=', app:getDocName($node))
                        return $href
                        };</code>
                        </p>
                        <p>Това е функцията, която показва трансформирания документ.</p>
                        <p rend="pre">
                            <code>declare function app:XMLtoHTML ($node as node(), $model as map (*), $query as xs:string?) {
                       let $ref := xs:string(request:get-parameter("document", ""))
                     let $xmlPath := concat(xs:string(request:get-parameter("directory", "editions")), '/')
                       let $xml := doc(replace(concat($config:app-root,'/data/', $xmlPath, $ref), '/exist/', '/db/'))
                        let $xslPath := concat(xs:string(request:get-parameter("stylesheet", "xmlToHtml")), '.xsl')
                        let $xsl := doc(replace(concat($config:app-root,'/resources/xslt/', $xslPath), '/exist/', '/db/'))
                        let $collection := functx:substring-after-last(util:collection-name($xml), '/')
                       let $params := 
                        &lt;parameters&gt;
                        &lt;param name="app-name" value="{$config:app-name}"/&gt;
                        &lt;param name="collection-name" value="{$collection}"/&gt;
                       {for $p in request:get-parameter-names()
                        let $val := request:get-parameter($p,())
                        return
                        &lt;param name="{$p}" value="{$val}"/&gt;
                        }
                       &lt;/parameters&gt;
                       return 
                        transform:transform($xml, $xsl, $params)
                        };</code>
                        </p>
                        <p>Това е функцията, която извиква XML файла, свързва го трансформационния скрипт (XSLT) и го показва като HTML. Тук отделните части дефинират колекцията от документи, техните пътеки на сървъра, местата на XML и XSLT файловете, проверяват тяхната валидност и наличие, след което връщат така обработения файл. </p>
                        <p>Чрез XQuery се създава автоматично съдържание, като се взимат заглавията на всички документи в директорията editions. Това става с помощта на функцията app:toc:</p>
                        <p rend="pre">
                            <code>declare function app:toc($node as node(), $model as map(*)) {
                        for $doc in (collection(concat($config:app-root, '/data/editions'))//tei:TEI)
                        let $collection := functx:substring-after-last(util:collection-name($doc), '/')
                       let $title := $doc//tei:titleStmt/tei:title[1]
                        let $keywords := string-join($doc//tei:keywords/tei:term, ' | ')
                        let $sortKey := $title
                        order by $sortKey
                        return
                        &lt;tr&gt;
                        &lt;td&gt;
                        &lt;a href="{app:hrefToDoc($doc)}"&gt;{$title//text()}&lt;/a&gt;
                        &lt;/td&gt;
                        &lt;td&gt;
                        {$keywords}
                      &lt;/td&gt;
                        &lt;/tr&gt;
                        };</code>
                        </p>
                        <p>Този пасаж трябва да се чете така: за документите, които са в колекцията editions с коренен елемент TEI, с възможно съдържание на ключови думи и със сортиране според заглавието, подреди по заглавие, като създадеш таблица с две колони – в първата направи линк към документа чрез неговото заглавие, а във втората помести срещаните ключови думи.</p>
                        <p>Общото търсене се осъществява с помощта на функцията <code>app:ft_search</code>. </p>
                        <p rend="pre">
                            <code>declare function app:ft_search($node as node(), $model as map (*)) { 
                        if (request:get-parameter("searchexpr", "") !="") then
                        let $searchterm as xs:string:= request:get-parameter("searchexpr", "")
                        for $hit in collection(concat($config:app-root, '/data/editions/'))//*[.//tei:p[ft:query(.,$searchterm)]|.//tei:cell[ft:query(.,$searchterm)]]
                        let $href := concat(app:hrefToDoc($hit), "&amp;amp;searchexpr=", $searchterm) 
                        let $score as xs:float := ft:score($hit)
                        order by $score descending
                        return
                        &lt;tr&gt;
                        &lt;td class="KWIC"&gt;{kwic:summarize($hit, &lt;config width="40" link="{$href}" /&gt;)}&lt;/td&gt;
                        &lt;td&gt;&lt;a href="{$href}"&gt;{app:getDocName($hit)}&lt;/a&gt;&lt;/td&gt;
                        &lt;/tr&gt;
                        else
                        &lt;div&gt;Нищо не е намерено&lt;/div&gt;
                        };</code>
                        </p>
                        <p>Идеята тук е търсенето да се осъществява в директорията <code>editions</code>, при намирането на резултат да се дава контекст, като намереното съчетание се изобразява по средата и е свързано със съответния текст, а също така да се даде информация за количеството случаи в съответния файл.</p>
                        <p>Списъкът с местата се извиква с функцията <code>app:listPlace</code>. Тя обслужва два типа информация. Едната е свързана с четенето на съответната част от книгата и при приближаването на мишката се показва екран с допълнителна информация, а от друга страна цялата информация за съответното място се получава от файла <code>listplace.xml</code>. Кодът е следният:</p>
                        <p rend="pre">
                            <code>declare function app:listPlace($node as node(), $model as map(*)) { 
                        let $hitHtml := "hits.html?searchkey="
                        for $place in doc($app:placeIndex)//tei:listPlace/tei:place
                        let $nametype := $place/@type
                        let $placeName := $place/tei:placeName
                        let $region := $place/tei:region
                        let $suffix := $placeName/@ana&gt;
                        let $lat := tokenize($place//tei:geo/text(), ' ')[1]
                        let $lng := tokenize($place//tei:geo/text(), ' ')[2]
                        let $idno := $place//tei:idno[1]
                        let $normdata := if($idno) then &lt;a href="{$idno}"&gt;{$idno}&lt;/a&gt; else '-'
                        return
                            &lt;tr&gt;
                            &lt;td&gt;
                            &lt;a href="{concat($hitHtml, data($place/@xml:id))}"&gt;{$place/tei:placeName[1]}&lt;/a&gt;
                            &lt;br/&gt; {$region}
                            &lt;/td&gt;
                            &lt;td&gt;{for $altName in $place//tei:placeName return &lt;li&gt;{$altName}&lt;/li&gt;}&lt;/td&gt;
                            &lt;td&gt;{data($nametype)}&lt;/td&gt;
                            &lt;td&gt;{data($suffix)}&lt;/td&gt;
                            &lt;td&gt;{$normdata}&lt;/td&gt;
                            &lt;td&gt;{$lat}&lt;/td&gt;
                            &lt;td&gt;{$lng}&lt;/td&gt;
                            &lt;/tr&gt;
                        
                        };</code>
                        </p>
                        <p>Резултатът е оформен като таблица в няколко колони. В първата е предпочитаното име на мястото заедно с региона, ако има няколко еднакви местни имена, във втората са алтернативни (стари, на други езици или просто с друг правопис) топоними, в третата е типа на топонима (ойконим, ороним, хидроним, хороним и т.н.), четвъртата отпраща към карта в Geonames, a другите дават данни за географската ширина и дължина. </p>
                        <p>Подобна е идеята и на функцията app:listPers, но тук тя е свързана с имената на лицата:</p>
                        <p>declare function app:listPers($node as node(), $model as map(*)) {</p>
                        <p>let $hitHtml := "hits.html?searchkey="</p>
                        <p>for $person in doc($app:personIndex)//tei:listPerson/tei:person</p>
                        <p>let $nalis := $person/tei:note/tei:p[3]/text()</p>
                        <p>let $nalis_link := if ($nalis != "няма посочка към НАБИС") then</p>
                        <p>
                            <code>&lt;a href="{$nalis}"&gt;</code>{$nalis}<code>&lt;/a&gt;</code>
                        </p>
                        <p>else</p>
                        <p>"-"</p>
                        <p>return</p>
                        <p>
                            <code>&lt;tr&gt;</code>
                        </p>
                        <p>
                            <code>&lt;td&gt;</code>
                        </p>
                        <p>
                            <code>&lt;a href="{concat($hitHtml,data($person/@xml:id))}"&gt;</code>{$person/ tei:persName/tei:surname}<code>&lt;/a&gt;</code>
                        </p>
                        <p>
                            <code>&lt;/td&gt;</code>
                        </p>
                        <p>
                            <code>&lt;td&gt;</code>
                        </p>
                        <p>{$person/tei:persName/tei:forename}</p>
                        <p>
                            <code>&lt;/td&gt;</code>
                        </p>
                        <p>
                            <code>&lt;td&gt;</code>{$nalis_link}<code>&lt;/td&gt;&lt;/tr&gt;</code>
                        </p>
                        <p>};</p>
                        <p>Тук идеята е да свърже името на изследователя, цитиран от В. Миков с кратки данни за него и връзка към академичния своден каталог НАБИС (<ref target="http://nalis.bg/">http://nalis.bg</ref>). </p>
                        <p>Една от най-важните функции на системата е свързана с начина на синхронизация между стойностите на атрибутите при имената в текста на изданието с тези на списъците с места и имена. Това се осъществява с помощта на следната XQuery функция:</p>
                        <p>declare function app:indexSearch_hits($node as node(), $model as map(*), $searchkey as xs:string?, $path as xs:string?){</p>
                        <p>let $indexSerachKey := $searchkey</p>
                        <p>let $searchkey:= '#'||$searchkey</p>
                        <p>let $entities := collection($app:editions)//tei:TEI[.//*/@ref=$searchkey]</p>
                        <p>let $terms := collection($app:editions)//tei:TEI[.//tei:term[./text() eq substring-after($searchkey, '#')]] </p>
                        <p>for $title in ($entities, $terms)</p>
                        <p>let $hits := if (count(root($title)//*[@ref=$searchkey]) = 0) then 1 else count(root($title)//*[@ref=$searchkey])</p>
                        <p>let $snippet := </p>
                        <p>for $entity in root($title)//*[@ref=$searchkey]</p>
                        <p>let $before := $entity/preceding::text()[1]</p>
                        <p>let $after := $entity/following::text()[1]</p>
                        <p>return</p>
                        <p>
                            <code>&lt;p&gt;</code>... {$before} <code>&lt;strong&gt;&lt;a href="{concat(app:hrefToDoc($title), "&amp;amp;searchkey=", $indexSerachKey)}"&gt;</code> {$entity/text()}<code>&lt;/a&gt;&lt;/strong&gt;</code> {$after}...<code>&lt;br/&gt;&lt;/p&gt;</code>
                        </p>
                        <p>return </p>
                        <p>
                            <code>&lt;tr&gt;&lt;td&gt;</code>{$hits}<code>&lt;/td&gt;</code>
                        </p>
                        <p>
                            <code>&lt;td&gt;</code>{$snippet}<code>&lt;p style="text-align:right"&gt;</code>({<code>&lt;a href="{concat(app:hrefToDoc($title), "&amp;amp;searchkey=", $indexSerachKey)}"&gt;</code>{app:getDocName($title)}<code>&lt;/a&gt;</code>})<code>&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;</code>
                        </p>
                        <p>};</p>
                        <p>Идеята на функцията е да регистрира всяка поява на съчетанието на атрибут ref, чиято стойност започва с #, независимо от елемента, чиято част е атрибутът. Ако това е вярно, то в списъка с места и лица трябва да съществува стойност на атрибута xml:id (идентификатор на XML елемент), който да има същата стойност, само че без начално #. С други думи, ако в текста имаме <code>&lt;rs type="place" ref="#place_Pleven"&gt;</code>Плевенъ<code>&lt;/rs&gt;</code>, то във файла lisplace.xml със стойност на елемент Pleven, например <code>&lt;place xml:id="Pleven"&gt;</code> ...<code>&lt;/place&gt;</code>. В противен случай връзката между двете няма да бъде осъществена. </p>
                    </div>
                    <div>
                        <head>Директория pages</head>
                        <p>В тази директория се съдържат HTML файлове от два типа. Към първият принадлежи началната страница на приложението (index.html) и файлът с информация за издателските данни (imprint.html). Към втория принадлежат файлове, които извикват отделните фунции на приложението. Така например файлът places.html оформя страницата според page.html (вж. по-горе за моделите), създава таблица със седем колони и извиква функцията app:listPlace (вж. по-горе). Заглавките на отделните колони се оформят по следния начин:</p>
                        <p>
                            <code>&lt;thead&gt;</code>
                        </p>
                        <p>
                            <code>&lt;tr&gt;</code>
                        </p>
                        <p>
                            <code>&lt;th class="header"&gt;</code>Местни имена<code>&lt;/th&gt;</code>
                        </p>
                        <p>
                            <code>&lt;th&gt;</code>Други имена<code>&lt;/th&gt;</code>
                        </p>
                        <p>
                            <code>&lt;th&gt;</code>Тип на името<code>&lt;/th&gt;</code>
                        </p>
                        <p>
                            <code>&lt;th&gt;</code>Словообразуване<code>&lt;/th&gt;</code>
                        </p>
                        <p>
                            <code>&lt;th&gt;</code>Данни<code>&lt;/th&gt;</code>
                        </p>
                        <p>
                            <code>&lt;th&gt;</code>Lat<code>&lt;/th&gt;</code>
                        </p>
                        <p>
                            <code>&lt;th&gt;</code>Lng<code>&lt;/th&gt;</code>
                        </p>
                        <p>
                            <code>&lt;/tr&gt;</code>
                        </p>
                        <p>
                            <code>&lt;/thead&gt;</code>
                        </p>
                        <p>Това означава, че едната колона, първата, е основната (header). Извикването на функцията е в основното тяло на таблицата:</p>
                        <p>
                            <code>&lt;tbody id="myTableBody"&gt;&lt;tr data-template="app:listPlace"/&gt;&lt;/tbody&gt;</code>
                        </p>
                        <p>В края на файла са поместени два JS. Първият позволява да се види или да се вземе информацията от таблицата в различен формат:</p>
                        <p>var table = $('#myTable').DataTable({</p>
                        <p>keepConditions: true,</p>
                        <p>"pageLength": 25,</p>
                        <p>dom: 'Bfrtip'</p>
                        <p>});</p>
                        <p>Смисълът на втория е да се подредят отделните колони и да се търси допълнително в тях:</p>
                        <p>$(document).ready(function() {</p>
                        <p>$("#myTableBody").show({});</p>
                        <p>$('#myTable tfoot th').each( function () {</p>
                        <p>var title = $(this).text();</p>
                        <p>$(this).html( '<code>&lt;input type="text"/&gt;</code>' );</p>
                        <p>});</p>
                        <p>$("#myTable tfoot").show();</p>
                        <p>table.columns().every( function () {</p>
                        <p>var that = this;</p>
                        <p>$( 'input', this.footer() ).on( 'keyup change', function () {</p>
                        <p>if ( that.search() !== this.value ) {</p>
                        <p>that</p>
                        <p>.search( this.value )</p>
                        <p>.draw();</p>
                        <p>}</p>
                        <p>} );</p>
                        <p>} );</p>
                        <p>});</p>
                        <p>Смисълът на двата скрипта е да съсъщестуват при оформянето на списъците на местата или лицата.</p>
                    </div>
                </div>
            </div>
            <div>
                <head>Глава 9. Справочната информация</head>
                <p>Съчетаването на отделните части се извършва с помощта на HTML страниците, чрез които в реално време се осъществяват заявки за търсене, постига се екстракция на данни, осъществяват се връзките между отделните части или се трансформират XML файлове. Тъй като цялата информация се съхранява в база от данни, нейната обработка става изключително бързо и резултати са мигновени. </p>
                <p>Както казахме в увода, засега в центъра на нашето внимание бе електронното издание, а не лингвистичната информация, която се съдържа в книгата на Васил Миков. Целта ни бе да се съсредоточим върху технологическата част на подобно издание. Все пак, в редица случаи сме допълнили списъка с топоними с полезна информация. Тя е от два вида:</p>
                <p>1. Класификация на топонимите. Към всеки от тях е допълнен неговият вид с помощта на международната терминология – ойконим, хороним, ороним, спелеоним, хидроним, урбоним, дромоним, дримоним, каселоним (вж. напр. Вътов 1998: 240–279). </p>
                <p>2. Допълнения при словообразуването. При повечето славянски наименования са допълнени начините на словообразуване, главно суфиксите. Това е една от колоните в списъка с топонимите, която позволява чрез написването на отделния суфикс, да се извикат всички случаи с неговата поява в името. </p>
                <p>Стори ни се полезно при четенето на книгата да се добави информация за цитираните от В. Миков автори. По този начин читателят се сдобива с данни за известни учени, всеки един от тях с важни изследвания в различни области – филология, история, археология. В бъдеще тези персоналии ще бъдат обогатени с данни за исторически лица, чиито имена се срещат в книгата. </p>
            </div>
            <div>
                <head>Заключение</head>
                <p>Предложеният подход към електронното издание на книгата на Васил Миков „Произход и значение на имената на нашите градове, села, реки, планини и места“ ни се струва уместен при електронното публикуване на научни трудове. Той се опитва да съчетае идеите на традиционното класическо издание в Интернет с използването на всички технологии от семейството на XML и HTML, поместени в една база от данни и управлявани от уеб сървър за приложения. </p>
                <p>В рамките на работата се предлага модел за издание и обработка на данните, който е особено подходящ при нужда от редица справки, свързани с четенето на подобен труд. Затова от значение е идеята не просто да се публикува текста и/или снимките от старата книга, а тя да бъде снабдена със справочен апарат във вид на допълнителна информация – в случая списъци с топоними и сведения за авторите, споменати от Васил Миков. Особено полезно ни се струва, че тези списъци могат да играят роля и на самостоятелни приложения, които да се използват и при други издания. </p>
                <p>Тази работа е илюстрация как само с използването на продукти с отворен код, придържайки се към международни стандарти, препоръки, спецификации и добри практики, може да се изгради съвременно електронно издание, което да извика за нов живот старата книга и да предизвика връщането към идеите и дискусиите, съдържащи се в нея. </p>
                <p>Едно бъдещо прерастване на магистърската теза в научен проект ще ни позволи да допълним информацията, коригираме грешките при поднасянето ѝ, прибавим нови и уточним съществуващите топоними, въведем коментари и изградим допълнителни пътища за поднасяне на лингвистичната информация.</p>
            </div>
            <div>
                <head>Използвана литература</head>
                <div>
                    <head>1. Книги и статии</head>
                    <listBibl>
                        <biblStruct xml:id="Андреев2002">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Андреев</surname>
                                        <forename>Стефан</forename>
                                    </persName>
                                </author>
                                <title level="m">Речник на селищни имена и названия на административно-териториални единици в българските земи през XV-XIX век</title>
                                <imprint>
                                    <pubPlace>София</pubPlace>
                                    <publisher>Глав. управл. на арх. при Минист. съвет</publisher>
                                    <date>2002</date>
                                </imprint>
                            </monogr>
                            <series>
                                <title level="s">Архивни справочници</title>
                                <biblScope unit="volume">5</biblScope>
                            </series>
                        </biblStruct>
                        <biblStruct xml:id="Балкански2010">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Балкански</surname>
                                        <forename>Тодор</forename>
                                    </persName>
                                </author>
                                <author>
                                    <persName>
                                        <surname>Цанков</surname>
                                        <forename>Кирил</forename>
                                    </persName>
                                </author>
                                <title level="m">Енциклопедия на българската ономастика. Към основите на българската ономастика</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2010</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Балкански2011">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Балкански</surname>
                                        <forename>Тодор</forename>
                                    </persName>
                                </author>
                                <title level="m">Тутракан. Езиковоархеологически обзор</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2011</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Балкански2013а">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Балкански</surname>
                                        <forename>Тодор</forename>
                                    </persName>
                                </author>
                                <title level="m">Местните имена в Пазарджишко</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2013</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Балкански2013б">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Балкански</surname>
                                        <forename>Тодор</forename>
                                    </persName>
                                </author>
                                <author>
                                    <persName>
                                        <forename>Мариана</forename>
                                        <surname>Белнейска-Георгиева</surname>
                                    </persName>
                                </author>
                                <author>
                                    <persName>
                                        <surname>Константинова</surname>
                                        <forename>Цанка</forename>
                                    </persName>
                                </author>
                                <author>
                                    <persName>
                                        <surname>Михайлова</surname>
                                        <forename>Димитрина</forename>
                                    </persName>
                                </author>
                                <title level="m">Библиография на българската ономастика 1981
                     –2000</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2013</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Бечева2010">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Бечева</surname>
                                        <forename>Ничка</forename>
                                    </persName>
                                </author>
                                <title level="m">Местните имена в Ивайловградско</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2010</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Близнашка2013">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Близнашка-Янева</surname>
                                        <forename>Савка</forename>
                                    </persName>
                                </author>
                                <title level="m">Местните имена в Елинпелинско</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Астарта</publisher>
                                    <date>2013</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Велев2009">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Велев</surname>
                                        <forename>Вельо</forename>
                                    </persName>
                                </author>
                                <title level="m">Местните имена в Брезнишко</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2009</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Велев2010">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Велев</surname>
                                        <forename>Вельо</forename>
                                    </persName>
                                </author>
                                <title level="m">Местните имена в Пернишко</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2010</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Дечев2012">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Дечев</surname>
                                        <forename>Васил</forename>
                                    </persName>
                                </author>
                                <author>
                                    <forename>Владимир</forename>
                                    <surname>Демирев</surname>
                                </author>
                                <title level="m">Топонимията на Сливенска околия</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2012</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Заимов2012a">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Заимов</surname>
                                        <forename>Йордан</forename>
                                    </persName>
                                </author>
                                <title level="m">Български водопис. Географско описание, строеж и произход на имената</title>
                                <imprint>
                                    <biblScope unit="volume">1 (А-Й)</biblScope>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2012</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Заимов2012б">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Заимов</surname>
                                        <forename>Йордан</forename>
                                    </persName>
                                </author>
                                <title level="m">Български водопис. Географско описание, строеж и произход на имената</title>
                                <imprint>
                                    <biblScope unit="volume">2 (К-Р)</biblScope>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2012</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Заяков2013">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Заяков</surname>
                                        <forename>Нинко</forename>
                                    </persName>
                                </author>
                                <title level="m">Местните имена в Кулско</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Астарта</publisher>
                                    <date>2013</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Иванова2009">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Иванова</surname>
                                        <forename>Недялка</forename>
                                    </persName>
                                </author>
                                <title level="m">Местните имена в Луковитско</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2009</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Кацарова2009">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Кацарова-Папа</surname>
                                        <forename>Гергана</forename>
                                    </persName>
                                </author>
                                <title level="m">Местните имена в Босилеградско</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Астарта</publisher>
                                    <date>2009</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Ковачев2009">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Ковачев</surname>
                                        <forename>Николай</forename>
                                    </persName>
                                </author>
                                <author>
                                    <persName>
                                        <forename>Росица</forename>
                                        <surname>Ковачева-Цветанова</surname>
                                    </persName>
                                </author>
                                <title level="m">Местните имена в Беленско</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2009</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Ковачев2013">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Ковачев</surname>
                                        <forename>Николай</forename>
                                    </persName>
                                </author>
                                <title level="m">Географските имена в Ловешки окръг</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>ИВИС – Иван Илийков</publisher>
                                    <date>2013</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Кокаличева2011">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Кокаличева</surname>
                                        <forename>Румяна</forename>
                                    </persName>
                                </author>
                                <title level="m">Местните имена в Харманлийско</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2011</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Коледаров1973">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Коледаров</surname>
                                        <forename>Петър Ст.</forename>
                                    </persName>
                                </author>
                                <author>Николай <surname>Мичев</surname>
                                </author>
                                <title level="m">Промените в имената и статута на селищата в България : 1878-1972 г.</title>
                                <imprint>
                                    <pubPlace>София</pubPlace>
                                    <publisher>Наука и изкуство</publisher>
                                    <date>1973</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Лалчев2010">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Лалчев</surname>
                                        <forename>Драгомир</forename>
                                    </persName>
                                </author>
                                <title level="m">Местните имена в Тополовградско</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2010</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Минева2010">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Минева-Ковачева</surname>
                                        <forename>Лиляна</forename>
                                    </persName>
                                </author>
                                <title level="m">Местните имена в Русенско</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2010</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Михайлов2010а">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Михайлов</surname>
                                        <forename>Пело</forename>
                                    </persName>
                                </author>
                                <title level="m">Списъците на населените места като извори за научни изследвания</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Астарта</publisher>
                                    <date>2010</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Михайлов2010б">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Михайлов</surname>
                                        <forename>Пело</forename>
                                    </persName>
                                </author>
                                <title level="m">Възпоменателни селищни имена в Пловдивска област</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Астарта</publisher>
                                    <date>2010</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Мичев1989">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Мичев</surname>
                                        <forename>Николай</forename>
                                    </persName>
                                </author>
                                <author>
                                    <persName>
                                        <forename>Петър</forename>
                                        <surname>Коледаров</surname>
                                    </persName>
                                </author>
                                <title level="m">Речник на селищата и селищните имена в България 1878-1987</title>
                                <imprint>
                                    <pubPlace>София</pubPlace>
                                    <publisher>Наука и изскуство</publisher>
                                    <date>1989</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Мичев2005">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Мичев</surname>
                                        <forename>Николай</forename>
                                    </persName>
                                </author>
                                <title level="m">Речник на имената и статута на населените места в България 1878-2004</title>
                                <imprint>
                                    <pubPlace>София</pubPlace>
                                    <publisher>Петър Берон</publisher>
                                    <publisher>Изток-Запад</publisher>
                                    <date>2002</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Мишева2013">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Мишева</surname>
                                        <forename>Таня</forename>
                                    </persName>
                                </author>
                                <author>
                                    <persName>
                                        <forename>Захари</forename>
                                        <surname>Мишев</surname>
                                    </persName>
                                </author>
                                <title level="m">Местните имена в Елховско</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Астарта</publisher>
                                    <date>2013</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Момчилов2013">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Момчилов</surname>
                                        <forename>Димчо</forename>
                                    </persName>
                                </author>
                                <author>
                                    <persName>
                                        <forename>Наташа</forename>
                                        <surname>Чакърова-Кръстева</surname>
                                    </persName>
                                </author>
                                <title level="m">Местните имена в Карнобатско</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>ИВИС – Иван Илийков</publisher>
                                    <date>2013</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Петкова2010">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Петкова</surname>
                                        <forename>Анелия</forename>
                                    </persName>
                                </author>
                                <title level="m">Местните  имена  в  Плевенско</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2010</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Петрова2013">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Петрова</surname>
                                        <forename>Анастасия</forename>
                                    </persName>
                                </author>
                                <author>
                                    <forename>Добрина</forename>
                                    <surname>Берова</surname>
                                </author>
                                <title level="m">Топонимията на Ямболско</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Астарта</publisher>
                                    <date>2013</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Първанова2011">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Първанова-Грьошел</surname>
                                        <forename>Елена</forename>
                                    </persName>
                                </author>
                                <title level="m">Топонимията на Карловско</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Астарта</publisher>
                                    <date>2011</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Райчевски2007">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Райчевски</surname>
                                        <forename>Стоян</forename>
                                    </persName>
                                </author>
                                <title level="m">Крайбрежна Стара планина. Топоними и хидроними</title>
                                <imprint>
                                    <pubPlace>София</pubPlace>
                                    <publisher>Български бестселър</publisher>
                                    <date>2007</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Райчевски2012">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Райчевски</surname>
                                        <forename>Стоян</forename>
                                    </persName>
                                </author>
                                <title level="m">Местните имена в Малкотърновско</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2012</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Симеонов2010">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Симеонов</surname>
                                        <forename>Борис</forename>
                                    </persName>
                                </author>
                                <author>
                                    <persName>
                                        <forename>Елена</forename>
                                        <surname>Иванова</surname>
                                    </persName>
                                </author>
                                <title level="m">Топонимията  на  Плисковско
                     -Мадарския  регион</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Астарта</publisher>
                                    <date>2010</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Stamenova2009">
                            <analytic>
                                <author>
                                    <persName>
                                        <surname>Стаменова</surname>
                                        <forename>Магдалена</forename>
                                    </persName>
                                </author>
                                <title level="a">Васил Миков</title>
                            </analytic>
                            <monogr>
                                <editor>
                                    <persName>
                                        <surname>Жалов</surname>
                                        <forename>Алексей</forename>
                                    </persName>
                                </editor>
                                <editor>
                                    <persName>
                                        <surname>Илиев</surname>
                                        <forename>Здравко</forename>
                                    </persName>
                                </editor>
                                <title level="m">Алманах на българската спелеология</title>
                                <imprint>
                                    <publisher>Българска федерация по спелеология.</publisher>
                                    <date>2009</date>
                                    <biblScope unit="pp" from="24" to="35">24–25</biblScope>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Христов2009">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Христов</surname>
                                        <forename>Георги</forename>
                                    </persName>
                                </author>
                                <title level="m">Местните имена в Ардинско</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>ИВИС – Иван Илийков</publisher>
                                    <date>2009</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Христов2010">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Христов</surname>
                                        <forename>Георги</forename>
                                    </persName>
                                </author>
                                <title level="m">Топонимията  като  отражение  на  етнорелигиозните  процеси  в 
                     Родопите</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2010</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Цанков2010">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Цанков</surname>
                                        <forename>Кирил</forename>
                                    </persName>
                                </author>
                                <title level="m">Местните имена в Никополско</title>
                                <imprint>
                                    <pubPlace>Велико Търново</pubPlace>
                                    <publisher>Фабер</publisher>
                                    <date>2010</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Чолева2002">
                            <monogr>
                                <author>
                                    <persName>
                                        <surname>Чолева-Димитрова</surname>
                                        <forename>Анна М.</forename>
                                    </persName>
                                </author>
                                <title level="m"> Селищни имена от Югозападна България: Изследване. Речник.</title>
                                <imprint>
                                    <pubPlace>София</pubPlace>
                                    <publisher>Пенсофт</publisher>
                                    <date>2002</date>
                                </imprint>
                            </monogr>
                        </biblStruct>
                        <biblStruct xml:id="Birnbaum1995">
                            <analytic>
                                <author>
                                    <persName>
                                        <surname>Birnbaum</surname>
                                        <forename>David J</forename>
                                    </persName>
                                    <title level="a">How Slavic Philologists Should Use Computers</title>
                                </author>
                            </analytic>
                            <monogr>
                                <editor>
                                    <persName>
                                        <surname>Birnbaum</surname>
                                        <forename>David J</forename>
                                    </persName>
                                </editor>
                                <editor>
                                    <persName>
                                        <surname>Bojadžiev</surname>
                                        <forename>Andrej</forename>
                                    </persName>
                                </editor>
                                <editor>
                                    <persName>
                                        <surname>Dobreva</surname>
                                        <forename>Milena</forename>
                                    </persName>
                                </editor>
                                <editor>
                                    <persName>
                                        <surname>Miltenova</surname>
                                        <forename>Anisava</forename>
                                    </persName>
                                </editor>
                                <title level="m">Computer Processing of Medieval Slavic Manuscripts. Proceedings of the First International Conference, 24-28 July, 1995, Blagoevgrad, Bulgaria.</title>
                                <imprint>
                                    <pubPlace>Sofia</pubPlace>
                                    <publisher>Bulgarian Academy of Sciences</publisher>
                                    <date>1995</date>
                                    <biblScope unit="pp">15-28</biblScope>
                                </imprint>
                            </monogr>
                        </biblStruct>
                    </listBibl>
                </div>
                <div>
                    <head>2. Софтуер, стандарти, препоръки и проекти</head>
                    <p>Andorfer, Peter. 2017. Die Korrespondenz von Leo von Thun-Hohenstein. <ref target="https://thun-korrespondenz.acdh.oeaw.ac.at/pages/index.html">Проектът</ref>;. Код на приложението: <ref target="https://github.com/acdh-oeaw/">https:// github.com/acdh-oeaw/thun</ref> (3.02.2018)</p>
                    <p>
                        <ref target="http://lucene.apache.org/">Apache Lucene</ref> (3.02.2018)</p>
                    <p>
                        <ref target="http://getbootstrap.com/">Bootstrap</ref> (Web toolkit – HTML, CSS, JS) (3.02.2018)</p>
                    <p>
                        <ref target="https://bootswatch.com/">Bootswatch</ref> (Free themes for Bootstrap):  (3.02.2018)</p>
                    <p>
                        <ref target="https://www.w3.org/Style/CSS/">CSS</ref> (Cascading Stylesheet Language):  (3.02.2018)</p>
                    <p>
                        <ref target="https://www.w3.org/TR/dom/">DOM</ref> (Document Object Model)  (3.02.2018)</p>
                    <p>
                        <ref target="http://www.cl.cam.ac.uk/~mgk25/iso-14977.pdf">EBNF</ref> (Extended Backus-Naur Form), ISO/IEC 14977  (3.02.2018)</p>
                    <p>
                        <ref target="http://exist-db.org/">eXist database</ref> (XML Native database) (3.02.2018)</p>
                    <p>
                        <ref target="http://expath.org/">EXPath</ref> (Standards for Portable XPath extensions)  (3.02.2018)</p>
                    <p>
                        <ref target="https://www.w3.org/TR/html/">HTML</ref> (HyperText Markup Language):  (3.02.2018)</p>
                    <p>
                        <ref target="https://javaee.github.io/glassfish/">Glassfish</ref> (Java application server) (3.02.2018)</p>
                    <p>
                        <ref target="https://www.ecma-international.org/ecma-262/8.0/index.html">JavaScript</ref> = ECMAScript (European Computer Manufacturers Association) Script</p>
                    <p>
                        <ref target="http://wildfly.org/">Jboss/Wildfly</ref> (Java application server):  (3.02.2018)</p>
                    <p>
                        <ref target="https://www.eclipse.org/jetty/">Jetty</ref> (Java application server)  (3.02.2018)</p>
                    <p>
                        <ref target="https://jquery.com/">JQuery</ref> (JavaScript Library) (3.02.2018)</p>
                    <p>
                        <ref target="http://json.org/">JSON</ref> (JavaScript Object Notation)  (3.02.2018)</p>
                    <p>
                        <ref target="https://www.w3.org/TR/xml-names/">Namespaces in XML</ref> (Namespaces in XML 1.0. Third Edition) <ptr/> (5.02.2018)</p>
                    <p>
                        <ref target="https://en.wikipedia.org/wiki/NoSQL">noSQL database</ref>  (3.02.2018)</p>
                    <p>
                        <ref target="http://www.odbms.org/odmg-standard/">ODMG</ref> (Object Data Management Group. Standard for Storing Object) (3.02.2018)</p>
                    <p>
                        <ref target="https://www.payara.fish/">Payara</ref> (Java application server)  (3.02.2018)</p>
                    <p>
                        <ref target="http://caucho.com/">Resin</ref> (Java application server) (3.02.2018)</p>
                    <p>
                        <ref target="https://tools.ietf.org/html/rfc3629">RFC-3629</ref> (UTF-8, a transformation format of ISO 10646) (3.02.2018)</p>
                    <p>
                        <ref target="http://troels.arvin.dk/db/rdbms">SQL</ref> (Structured Query Language): Comparison of different SQL impelentations (02.02.2018)</p>
                    <p>
                        <ref target="http://tei-c.org/">TEI</ref> (Text Encoding Initiative). <ref target="http://www.tei-c.org/release/doc/tei-p5-doc/en/html/index.html">P5: Guidelines for Electronic Text Encoding and Interchange</ref>. Version 3.3.0. Last updated on 31st January 2018, revision f4d8439. (3.02.2018)</p>
                    <p>
                        <ref target="http://tomcat.apache.org/">Tomcat</ref> (Java application server): (3.02.2018)</p>
                    <p>
                        <ref target="https://docs.oracle.com/jjavaee/7/tutorial/packaging003.htm">WAR</ref> (Web Application Resource или Web application ARchive) (3.02.2018)</p>
                    <p>
                        <ref target="https://mackyle.github.io/xar/">XAR</ref> (eXtensible ARchive format) (3.02.2018)</p>
                    <p>
                        <ref target="https://www.w3.org/TR/xpath-datamodel-31/">XDM</ref> (XQuery and XPath Data Model) (3.02.2018)</p>
                    <p>
                        <ref target="https://www.w3.org/TR/xforms20/">XForms</ref> (XML Forms)  (3.02.2018)</p>
                    <p>
                        <ref target="https://www.w3.org/TR/xinclude/">XInclude</ref> (XML Inclusions) (3.02.2018)</p>
                    <p>
                        <ref target="https://www.w3.org/TR/xlink11/">XLink</ref> (XML Linking Language) (3.02.2018)</p>
                    <p>
                        <ref target="https://www.w3.org/TR/xml/">XML</ref> (Extensible Markup Language)  (3.02.2018)</p>
                    <p>
                        <ref target="https://www.w3.org/XML/1998/namespace">XML Namespace</ref> (3.02.2018)</p>
                    <p>
                        <ref target="http://www.xml.com/pub/a/2001/10/31/nativexmldb.html">XML native database</ref>: Staken, Kimbro. 2001. Introduction to Native XML Databases.  (02.02.2018)</p>
                    <p>
                        <ref target="https://www.w3.org/TR/NOTE-xml-ql/">XML-QL</ref> (A Query Language for XML) (3.02.2018)</p>
                    <p>
                        <ref target="http://www.ibiblio.org/xql/">XQL</ref> (XML Query Language) (3.02.2018)</p>
                    <p>
                        <ref target="https://www.w3.org/TR/xquery-31/">XQuery</ref> (XML Query Language) (3.02.2018)</p>
                    <p>
                        <ref target="https://www.w3.org/TR/xpath/">XPath</ref> (XML Path Language) (3.02.2018)</p>
                    <p>
                        <ref target="https://www.w3.org/TR/xslt/">XSLT</ref> (XSL Transformations)  (3.02.2018)</p>
                </div>
            </div>
        </body>
    </text>
</TEI>