340 likes | 521 Views
XML и WEB базирани технологии доц. д-р Юлиана Георгиева катедра “Програмиране и компютърни технологии”, ФКСУ, ТУ, София Кабинет: 2509, тел. 965 2444, E-mail: july@tu-sofia.bg. Литература Колектив на СофтПрес, Програмиране с XML , СофтПрес, 2001
E N D
XML и WEB базирани технологии доц. д-р Юлиана Георгиева катедра “Програмиране и компютърни технологии”, ФКСУ, ТУ, София Кабинет: 2509, тел. 965 2444, E-mail: july@tu-sofia.bg
Литература • Колектив на СофтПрес, Програмиране с XML, СофтПрес, 2001 • Майкъл Морисън, Бързо и ефективно – HTML и XML, СофтПрес, 2003 • Harold, Elliotte Rusty, XML Bible, IDG Books, 1999 • Alain Michard, XML langage et applications, Eyrolles, Paris, 2001 • Гитанжали Арора, Саи Кишор, XMLWebServices, Дуо Дизайн ООД, 2005 • http://www.w3scools.com/xml/default.asp
Тагови езици - XML и HTML Особености, принципи
Какво представлява XML? • XML е съвкупност от правила за създаване на текстови формати, позволяващи структуриране на произволни данни. • XML има вид подобен на HTML. • XML файловете са текстови, които биха могли и да се четат от потребителя (без това да е целта). • XML е многословен в същността си (това е недостатъка на текстовия формат). • XML е фамилия от технологии. • XML 1.0е спецификация, определящ “тагове” и “атрибути”. • Т. нар. "XML family“ представлява непрекъснато разширяващо се множество от модули, предоставящи различни услуги за извършване на различни задачи. • XLinkописва начин за добавяне на връзки в един XML файл. • XPointerдава възможност за указване на части в XML документа. XPointer може да се сравни с URL (но вместо да указва документи в Web, указва части от информация в XML файла).
Какво представлява XML? • XML е фамилия от технологии. • CSS е език на стиловите страници. Той е приложим, както към XML, така и към HTML. • XSLе усъвършенстван начин (advanced language) за изразяване на стилови страници. • XSLе базиран наXSLT, който е език за трансформация, използван за пренареждане, добавяне и изтриване на тагове и атрибути. • DOMе стандартно множество от функции за манипулиране на XML (и HTML) от език за програмиране. • XML Schemas 1и2подпомага прецизното дефиниране на структурите от XML-базираните формати. • Всички останали модули, както и непрекъснато обновяващото се множество от такива, може да се намери в: W3C's technical reports page.
Какво представлява XML? • XML е сравнително нов, но не съвсем. Разработката е започнала през 1996, но се препоръчва от W3C от 1998. Използвани са добрите страни на SGML(Standard Generalized Markup Language) и опита от HTML. • XML довеждаHTMLдоXHTML. XHTMLима елементи от HTML, но с променен синтаксис за удовлетворяване на правилата на XML. • XML е модулен. XML позволява дефиниране на нов документен формат, комбинирайки други формати. За премахване на несъвместимостта на имената при комбиниране на различни формати, XML осигурява механизъм на областите данни (namespace). XSL иRDFса примери за XML-базирани формати, ползващи “namespaces”.
Какво представлява XML? • XML е основа за RDF (Resource Description Framework)иSemantic Web. • RDF е XML текстов формат, който подържа описание насредства и мета-данни приложения, като музика, фото колекции и библиография. Например RDF позволява идентифицирането на хора в Web фото албум, използвайки списък на лицата, както и автоматично стартиране на съобщения по пощата към тези лица. RDF осигурява средства за комуникация, така като общуват хората чрез езиците. • XML е свободна от лиценз и добре подържана платформа. • Изборът на XML може да се оприличи на избора на SQL за базите данни.Възможно е изграждане на програмни средства на негова база без необходимостта за заплащане.
Въведение в XML • XML произлиза от eXtensible Markup Language и е признатот the World Wide Web Consortium (W3C) презфевруари 1998. • XML не е нов език, той е мета език. Използва се за дефиниране на други езици. • XML създава добре структурирани документи и като резултат всички езици, базирани на XML са също добре структурирани. • Т.е. данните в XML са лесно използваеми. • Или XML е основа за нов начин на комуникация в Internet, позволявайки лесна връзка на компютърните системи.
Въведение в XML • XML се използва за създаване на много други езици. Един от известните е XSL. • Ако XML е език на “суровите данни”, то XSL се използва да промени тези данни в използваем, удобен формат. • Например XSL може да се използва за поставянето на цвят в XML или за промяна на XML в нещо различно. • Развитието на стандарта XML се води от W3C. • W3C е създаден през октомври 1994. Негова цел е създаването и развитието на общи протоколи за международния индустриален консорциум.http://www.w3.org • Microsoft Internet Explorer след 4.0 подържат XML.
Въведение в XML • XML е създаден за описание на данни и за фокусиране върху естеството на данните. • HTML е създаден за изобразяване на данните и за фокусиране върху това, как данните изглеждат. • Какво представлява XML? • XML означава съкращение на EXtensible Markup Language • XML е език, подобен на HTML • XML е създаден за описание на данните • XML таговете не са предефинирани. Възможно е създаване на собствени тагове • XML използва Document Type Definition (DTD) или XML Schema за описание на данните • XML с DTD или XML Schema се създават за да бъдат само-описващи се.
Въведение в XML • XML е разработен с цел да: • Разделели синтаксиса от семантиката за осигуряване на обща рамка за структуриране на информацията (browser, който дава семантиката се дефинира чрез стилови страници); • Позволи подходящо маркиране за всяка област на приложение; • Осигури интернационализация (Unicode) и платформена независимост, което е бъдещето на структурираната информация, включително и базите данни.
Въведение в XML • Основните разлики между XML и HTML • XML описва данните и за него е важно какво представляват данните. • XML играе ролята на синтаксис за добавяне на структура към данните и разчита на друг софтуер за изобразяване. • HTML извежда (изобразява) даннитеи за него е важно как данните изглеждат (представяне + структура) • XML е създаден за структуриране, съхраняване и обмен на информация. <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> XML документ: бележка за Tove от Jani
<h1>Rhubarb Cobbler</h1> <h2>Maggie.Herrick@bbs.mhv.net</h2> <h3>Wed, 14 Jun 05</h3> Rhubarb Cobbler made with bananas as the main sweetener. It was delicious. <table> <tr><td> 2 1/2 cups <td> diced rhubarb <tr><td> 2 tablespoons <td> sugar <tr><td> 2 <td> fairly ripe bananas <tr><td> 1/4 teaspoon <td> cinnamon <tr><td> dash of <td> nutmeg </table> Combine all and use as cobbler, pie, or crisp. Related recipes: <a href="#GardenQuiche">GardenQuiche</a> Въведение в XML • Рецепта, записана като HTML файл: • С XML е възможно създаване на собствен “език”, при • който таговете директно кореспондират на концепцията • на рецептите.
<recipe id="117" category="dessert"> <title>Rhubarb Cobbler</title> <author><email>Maggie.Herrick@bbs.mhv.net</email></author> <date>Wed, 14 Jun 95</date> <description> Rhubarb Cobbler made with bananas as the main sweetener. It was delicious. </description> <ingredients> <item><amount>2 1/2 cups</amount><type>diced rubarb</type></item> <item><amount>2 tablespoons</amount><type>sugar</type></item> <item><amount>2</amount><type>fairly ripe bananas</type></item> <item><amount>1/4 teaspoon</amount><type>cinnamon</type></item> <item><amount>dash of</amount><type>nutmeg</type></item> </ingredients> <preparation> Combine all and use as cobbler, pie, or crisp. </preparation> <related url="#GardenQuiche">Garden Quiche</related> </recipe> Въведение в XML
Примерът илюстрира: • Таговете са избрани за описание на логическата структура. • Това е само един възможен избор за маркиращи нива. • Трябва да се дефинира кои XML документи се считат като “колекции рецепти”. • Необходима е стилова страница за дефиниране семантиката на представянето чрез браузера. • Необходимо е изразяване по подходящ начин на запитвания. • Някои от технологиите, които ще се използват: • XML Schemaще се използва за дефиниране на клас от документи “рецепта”. • XSLTще се използва за трансформиране на XML документ в XHTML (или HTML), включително автоматично конструиране на индекси, отношения и т.н. • XLink, XPointer, XPath- за създаване на справки. • XQueryще се използва за изразяване на търсения. Въведение в XML
Въведение в XML • XML таговете не са предефинирани. • Таговете в HTML документитеи структурата на HTML документитее предефинирана. HTML документите ползват само тагове като ( <p>, <h1>, т.н.), които са дефинирани. • XML позволява дефиниране на собствени тагове и собствена структура на документа. • XML е cross-platform, софтуерно и хардуерно независимо средство за пренасяне на информация. • XML се свързва с Web така, както HTML беше в началото на появата на Web и XML е най-общото средство за всички обработки и пренасяния на данни.
Въведение в XML Концепция за XML • XML документът е с дървовидна структура: • Крайните върхове (листа) съдържат действителната информация (символни низове) • Обикновено върховете не трябва да са празни, нито съседни на други. • Елементите – върхове се означават с: • Име - иметочесто се нарича тип на елемента • Множество от атрибути, всеки съставен от име и стойност • Тези върхове могат да имат върхове наследници • Дървовидната структура за XML колекция - рецепта:
Въведение в XML Конкретен поглед върху XML • XML документ е (Unicode) текст с тагове и друга мета информация.Таговете означават елементите. ...<foo attr="val" ...> . . . </foo>... | | | | | | | таг за край на елемент | | съдържание на елемент | атрибут с име attrи стойност val, (стойностите са между | ' или "таг за начало на елемент с имеfoo • Пример за мета информация: • <?target data...?> • Инструкция за процесор, targetопределя процесора за който е предназначена, аdataе символният низ, съдържащ инструкцията
Въведение в XML XML технологии • XML предлага: • Разширения към XML спецификацията • Механизъм на “област на имената”, включване на документ и др. • Схеми • Граматики за дефиниране на класове документи • Свързване между документите • Различни възможности за връзки • Части за адресиране на документи само за четене • Различни видове указатели в документите • Трансформации • Преобразуване от един клас документ в друг • Различни видове търсения • Извличане на информация
Въведение в XML XML технологии • Дефиниране на собствен XML език (използва сеXML Schemaза дефиниране на синтаксиса) • XSL позволява XML съдържанието да е отделно от представянето. Т.е. при един XML документ с различни XSL се получават различни представяния. • XSL създава HTML, изобразяван от Internet Explorer, но не съхраняван на диска • XLink описва отношения между документи. • MathML – за представяне на изрази и уравнения • MML (Music Markup Language)
Въведение в XML XML технологии • Използване на XML средства (такива катоXSLTиXQueryпроцесори), общипротоколи, както и общи програмиращи структури (напримерDOMилиSAX) за построяване на средства за приложението. • SVG (Scalable Vector Graphics) е XML речник за описание на двудименсионни изображения, т.е. за описание на изображения с XML вместо с bitmap (координати + цвят за всяка точка). В десетки пъти се намалява дължината на файла. • RDF (Resource Description Framework) е език за идентифициране на нещо, което има URI (Uniform Resource Identifier). URI може да се присвои на Web сайт или обект. Средството изразява Web ресурсите така, че приложенията да ги обменят без загуба.
Въведение в XML Основни XML програмни средства Парсери • XML4J / Xerces (www.alphaworks.ibm.com/tech/xml4j) From alphaWorks, в Java, подържа DOM и SAX • Expat (expat.sourceforge.net) Писан на C (преносим към други езици), използван от Apache, Netscape, ... • libxml2 (xmlsoft.org) Писан на C (валиден за много други езици) • + 1000 други...
Въведение в XML Основни XML програмни средства Редактори • Xeena (www.alphaWorks.ibm.com/tech/xeena) • XMLSpy (www.xmlspy.com) • + 1000 други... • Сървъри и браузери • Apache XML (xml.apache.org)вграден в Xerces XML парсер • Netscape Navigator 6иInternet Explorer 5XML парсер и валидиране • Amaya (www.w3.org/Amaya)W3C's редактор/браузер
Въведение в XML Пример на каталог за книга в HTML <HTML> <BODY> <H1>Harry Potter</H1> <H2>J. K. Rowling</H2> <H3>1999</H3> <H3>Scholastic</H3> </BODY> </HTML> HTML задава вида на страницата. Как обаче е възможно да се получи информация за издателя? Отговор: с XML документ
Въведение вo XML Пример на каталог за книга вХМL <BOOK> <TITLE>Harry Potter</TITLE> <AUTHOR>J. K. Rowling</AUTHOR> <DATE>1999</DATE><PUBLISHER>Scholastic</PUBLISHER> </BOOK> Обърни внимание на новите тагове! Възможно е лесно извличане на информация.
Въведение в XML XML и HTML - сравнение • Обща структура: • И двата документа имат начален(Start) и краен (End)таг. • Множество тагове: • HTML има дефинирани (установени) тагове. • XML позволява създаването на собствени тагове. • Главни цели: • HTML фокусира върху “изгледа”. • XML фокусира върху структурата. • XML няма предназначението да замести HTML. • В действителност, те се използват обикновено заедно.
Въведение в XML Произход на XML • XML има за основаSGML (Standard Generalized Markup Language) • SGML: • Разработен през 1970г. • Използван от организации като: IRS, IBM, Department of Defense • Обръща внимание на структурата • Подходящ за създаване на каталози, учебни пособия. • Много сложен
Въведение в XML Произход на XML • XML: SGML - олекотен вариант: 20% от сложността на SGML и 80% от неговите възможности. • HTML и XML – и двата се базират на SGML. SGML HTML XML
Въведение в XML XML и W3C • XML е официален стандарт на консорциума World Wide Web (W3C) • Официалната версия е 1.0 • Официална информация се предоставя на адрес: http://www.w3.org/XML/ • Официалната спецификация е на адрес: http://www.w3.org/TR/1998/REC-xml-19980210 • W3C спонсорира проекти, които целят подобрени варианти на използване на XML.
Въведение в XML • Кои са целите на XML? • Целите на XML систематизирани от W3C: • XML е предназначен за използване в Internet. • XML подържа голямо разнообразие от приложения. • XML е сравним с SGML. • Лесно писане на програми, които обработват XML документи. • Броят на избираемитеособености на XML е сведен до абсолютния минимум. • XML документите трябва да бъдат читаеми и ясни. • XML проектът трябва да се подготвя бързо. • XML проектът трябва да бъде формален и сбит. • XML документите трябва да се създават лесно. • Сбитостта в XML маркирането е от минимално значение.
Как може да се използва XML? • XML е създаден за съхранение,пренасяне и обмен на данни. • XML не е предназначен за изобразяване на данни. • Данните се съхраняват в HTML. С XML данните могат да се съхраняват в отделни XML файлове. • С XML данните могат да се обменят междунесъвместими системи. • С XML е възможно обмен на финансова информациячрез Internet. • XML позволява обмен на текстови файлове. • XML данните се съхраняват в текстов формат и XML осигурява софтуерно и хардуерно независим начин за обмен на данни.
Как може да се използва XML? • XML може да се използва за съхранение на данни във файлове или бази от данни. • XML може да направи данните по - използваеми като ги предоставя на повече потребители. • Други клиенти и приложения могат да имат достъп до XML файловете като източник на данни така, както се прави достъп до бази данни. • XML може да се използва за създаване на нови езици • Езикът Wireless Markup Language (WML), използван с Internet приложенията за мобилните апарати е написан на XML.
XML Документи • Документи, които са добре структурирани • Подчиняват се на синтактичните правила на езика XML. • Документи, които са добре структурирани и валидирани • Подчиняват се на изрично дефинирана структура за тип в т.нар. документ за дефиниране на тип (DTD – Document Type Definition). • Такъв документ може да се предава например чрез Web без съответната DTD. • XML навигаторите могат да визуализират документи, които са добре структурирани без да са валидирани.