35
XML language Създаден от Кирил Влахов Фак. номер: 354841 Група: 41а XML Language

Xml language

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Xml language

XML Language

XML languageСъздаден от Кирил Влахов

Фак. номер: 354841Група: 41а

Page 2: Xml language

XML Language

XML (произнася се [екс-ем-ел], от англ. eXtensible Markup Language - разширяем маркиращ език) е стандарт (метаезик) дефиниращ правила за създаване на специализирани маркиращи езици както и синтаксисът на който тези езици трябва да се подчиняват.

Дефиниция

Kiro
Page 3: Xml language

XML Language

Сам по себе си той е безполезен, защото указва само как да бъде структуриран един документ (чрез маркиране с eтикети), но не и какво означават отделните маркери (етикети). Ето защо е по-правилно да се нарече метаезик отколкото език - обикновените езици имат семантика, т.е. предават някаква информация, докато XML указва само граматиката (по-точно синтаксиса) на езиците, базирани на него.

Page 4: Xml language

XML Language

В XML информацията се маркира като се загражда с етикети:

<name>Иван Димитров Георгиев</name>

Тук текстът Иван Димитров Георгиев е маркиран с етикет <name> като по този начин указваме, че маркираният къс информация искаме да бъде разглеждан като едно цяло, имащо определено значение. Етикетите вървят по двойки - отварящ и затварящ, маркиращи съответно началото и края на маркирания текст.

Синтаксис

Page 5: Xml language

XML Language

Освен това етикетите могат да се влагат един в друг, така че да сe получи йерархична организация на информацията:

<person> <name>Иван Димитров Георгиев</name><country>България</country> <language>български</language> <language>руски</language></person>

По горния начин бихме могли да маркираме информация свързана с отделни хора. В примера цялата информация е маркирана с етикет <person>, тъй като искаме да укажем, че се отнася за човек.

Page 6: Xml language

XML Language

Това, което XML указва, е как да бъдат използвани етикетите. Например всеки документ трябва да започва с коренов етикет, така че цялата информация ще бъде маркирана от поне един етикет. Друго правило е изискването етикетите да не се припокриват (кръстосват) като в следващия пример:<!-- Неправилно оформен документ! --><person><name>Иван Димитров Георгиев</person></name> Правилно е следното:<person><name>Иван Димитров Георгиев</name></person> Документ, който се подчинява на тези (и много други) правила описани в XML-стандарта, се нарича добре оформен XML-документ.

Добре оформени XML-документи

Page 7: Xml language

XML Language

Тъй като XML не се занимава със семантичната страна на документите, следният текст също е част от добре оформен XML-документ:<name> <person>България</person>

</name>

Разбира се най-вероятно бихме искали етикетът <name> да се среща само в <person> етикет, но не и в <language> етикет, тъй като с него бихме искали да маркираме име на човек. Също така ще е добре, ако държавата, в която живее човекът, бъде маркирана винаги с етикет <country>, а не с някой друг.

Валидност и XML разширения

Page 8: Xml language

XML Language

Именно това е ролята на XML разширенията - да опишат допълнителни синтактични правила като това кои етикети къде могат да се срещат, както и да се изясни тяхната семантика (значение). Тези допълнителни синтактични правила са в тясна зависимост от семантиката на етикетите и по това се различават от общите XML правила. Описването им лесно може да се формализира, за която цел са създадени специални езици. Тези езици се наричат схеми (XML schemas) и задават допълнителните синтактични правила, на които трябва да отговаря документ написан според някой от резширяващите XML стандарти.

Page 9: Xml language

XML Language

Документи, които отговарят на правилата описани в дадена XML схема, се наричат валидни. Валидните документи винаги са и добре оформени. Една от най-простите XML схеми е DTD (Document Type Definition - Дефиниция на документен тип). Схемата на която отговаря XML документа се посочва в началото му и следва определен от XML синтаксис:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Горния код показва, че документът е написан според стандарта на Web Consortium, XHTML 1.0 Transitional (който представлява разширение на XML). Формалността на описанието в XML схемите позволява проверката за валидност на документите да се автоматизира.

Page 10: Xml language

XML Language

Това са маркиращи езици които са написани според XML стандарта. Всеки такъв език може да се разглежда като подмножество на XML.

XHTML - превъплъщение на HTML езика, променен така че да отговаря на XML стандарта

MathML - език за описване на математически изрази

SVG - описване на векторна графика

XML базирани езици

Page 11: Xml language

XML Language

Има множество стандарти които са създадени да работят в тясно сътрудничество с XML.

XSL (Extensible Stylesheet language - Разширяем език за стилове) е всъщност семейство езици чрез които може да се опише как един XML документ да бъде трансформиран или форматиран: ◦ XSL Transformations◦ XSL Formatting Objects◦ XPath

DOM (Document Object Model - Обектен документен модел) - стандартен обектен модел за програмен достъп до XML документи

Стандарти свързани с XML

Page 12: Xml language

XML Language

За разбирането на XML, е полезно да се разбере идеята за маркиране на данни. Хората създават документи от векове и през цялото това време те са маркирали тези документи. Например учителите непрекъснато маркират домашните на учениците. Те им казват да преместят абзаци, да пояснят изречения, да поправят правописа и т. н. Маркирането на документ представлява как дефинираме структурата, значението и визуалното представяне на информацията в документа.

Кратък преглед на маркирането

Page 13: Xml language

XML Language

HTML и XML документите съдържат данни, които са оградени от етикети, но дотук свършват приликите между двата езика. В HTML етикетите дефинират облика и представата за вашите данни – заглавните редове идват тук, абзацът започва там и т. н. В XML етикетите дефинират структурата и смисъла на вашите данни – какви са тези данни.

От какво е съставен XML?

Page 14: Xml language

XML Language

Когато описвате структурата и смисъла на вашите данни, вие правите възможно тяхното използване отново по всякакви начини. Например, ако имате масив от данни за продажби и всеки елемент в масива е ясно уточнен, можете да заредите само елементите, които са ви необходими в отчета на продажбите, а останалите данни да заредите в счетоводната база данни. Казано другояче, може да използвате една система да генерира вашите данни и да ги маркира с етикети, след което да обработва тези данни в произволен брой други системи, независимо от хардуерната платформа или операционната система. Преносимостта е причината, поради която XML стана една от най-популярните технологии за обмен на данни.

Page 15: Xml language

XML Language

Не можете да използвате HTML вместо XML. Можете обаче да прехвърлите вашите XML данни в НTML етикети и да ги покажете в уеб страница.

HTML се ограничава от предварително дефиниран набор от етикети, който се споделя от всички потребители.

XML ви позволява да създадете всякакъв етикет, който ви е нужен за описание на вашите данни и структурата на тези данни. Например да кажем, че трябва да запазите и споделите информация за домашни любимци. Можете да създадете следния XML код:

Page 16: Xml language

XML Language

<?xml version="1.0"?> <CAT> <NAME>Izzy</NAME> <BREED>Siamese</BREED> <AGE>6</AGE> <ALTERED>yes</ALTERED> <DECLAWED>no</DECLAWED> <LICENSE>Izz138bod</LICENSE> <OWNER>Colin Wilcox</OWNER> </CAT>

XML код за сиамска котка

Page 17: Xml language

XML Language

Може да видите, че XML етикетите правят възможно да знаете точно какъв вид данни преглеждате. Например вие знаете, че това са данни за котка и можете лесно да намерите името на котката, възрастта и т. н. Възможността да създадете етикети, които дефинират почти всички структури с данни, е това, което прави XML "разширяем".

Но нека не обърквате етикетите в този кодов пример с етикети в един HTML файл. Например, ако поставите тази XML структура в HTML файл и покажете файла във вашия браузър, като резултат ще видите нещо подобно:

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

Браузърът игнорира вашите XML етикети и показва само данните.

Page 18: Xml language

XML е и независим от платформи, което ще рече, че всяка програма, разработена да използва XML, може да прочете и обработи вашите XML данни независимо от хардуера или операционната система. Например с правилните ХML етикети можете да използвате програма от настолен компютър за отваряне и работа с данни от голям компютър. И независимо кой създава текста на XML данни, можете да работите с едни и същи данни в няколко програми на Microsoft Office 2003 и Microsoft Office Professional 2007, включително Microsoft Office Access 2007, Microsoft Office Word 2007, Microsoft Office InfoPath 2007 и Microsoft Office Excel 2007. Поради това, че е толкова преносим, XML се превърна в една от най-известните технологии за обмен на данни между бази данни и потребителски настолни компютри.

XML Language

Правилно формирани данни

Page 19: Xml language

XML Language

Page 20: Xml language

XML Language

Схемата е просто XML файл, който съдържа правила относно това какво може и какво не може да се съдържа в един XML файл с данни. Файловете на схеми принципно използват файлово разширение .xsd, докато XML файловете с данни използват разширението .xml.

Схемите позволяват на програмите да проверяват данните. Те предоставят рамката за структуриране на данни и гарантират, че тя е смислена за автора и за всички други потребители. Например ако потребител въведе невалидни данни, например текст в поле за дата, програмата може да поиска потребителят да въведе правилните данни. Доколкото данните в един XML файл съответстват на правилата на дадена схема, всяка програма, която поддържа XML, може да използва тази схема за прочитане, тълкуване и обработка на данните. Например, както е показано в илюстрацията по-долу, Excel и Word могат да проверяват <CAT> данните спрямо схемата за КОТКА.

Бърз поглед към схемите

Page 21: Xml language

XML Language

Page 22: Xml language

XML Language

Съставящите редове в примерната схема се наричат декларации. Ако ви трябва допълнителна информация за животно, например цвят или белези, вероятно вашият ИТ отдел би добавил декларация в схемата. Можете да променяте вашата XML система с развитието и потребностите на вашата дейност.

Декларациите предлагат огромен обем от средства за контрол в структурата на данните. Например декларацията <xsd:sequence> означава, че етикетите, например <NAME> и <BREED>, трябва да се появяват в реда, в който са посочени по-горе. Декларациите могат също и да контролират типовете данни, които се въвеждат от потребителите. Например горната схема изисква въвеждане на положително число за възрастта на котката и булеви стойности (ИСТИНА или НЕИСТИНА) за етикетите ALTERED и DECLAWED.

Page 23: Xml language

XML Language

Както споменахме по-рано, XML предоставя и стабилни и мощни начини за използване и повторно използване на данни. Механизмът за повторно използване на данни се нарича ХSLT или просто трансформация. Трансформациите са това, което може да направи XML наистина интересен. Например след като проверите файл с данни спрямо дадена схема, можете да приложите трансформация, която прави така, че данните да сработят като маркетингова брошура в Microsoft Office Word 2003 и да приложите друга трансформация с цел създаване на отчет на продажбите в Office Excel 2007.

Поглед към трансформациите

Page 24: Xml language

XML Language

Вие може също да използвате трансформации за обмен на данни между сървърни системи, например бази данни. Например да кажем, че база данни A съхранява данни за продажби в таблична структура, която работи добре за целите на отдел продажби. База данни Б съхранява данни за приходи и разходи в таблична структура, която е разработена съобразно потребностите на счетоводството. База данни Б може да използва трансформация, за да приеме данни от А и да запише тези данни в правилните таблици.

Page 25: Xml language

XML Language

Комбинацията от файл с данни, схема и трансформация съставлява основна XML система. Следният пример показва как тази система принципно работи. Файлът с данни се проверява спрямо схемата и след това се рендира по произволен брой използваеми начини чрез трансформация. В този конкретен случай трансформацията разполага данните в таблица в уеб страница.

Page 26: Xml language

XML Language

Page 27: Xml language

Office Excel 2007, Office Word 2007 и Office PowerPoint 2007 използват XML като свои файлови формати по подразбиране – една промяна, която има няколко предимства:◦ По-малък файлов размер. Новият формат използва ZIP и други

технологии на компресиране за редуциране размера на файла с до 75 процента, съпоставено с бинарните формати, използвани от по-стари версии на Office.

◦ По-лесно възстановяване на информация и по-голяма защита. XML е нормално четлив, така че ако даден файл се повреди, можете да отворите файла в Microsoft Notepad или друг четец на текст и да възстановите поне част от информацията си.

◦ По голяма преносимост и гъвкавост. Тъй като XML съхранява данни в текстов формат, а не в специализиран двоичен формат, вашите потребители могат да дефинират свои собствени схеми и да използват вашите данни по повече начини, без да трябва да заплащат допълнителни такси.

Поглед към XML в системата на Microsoft Office

Page 28: Xml language

XML Language

XML се дефинира като приложенчески профил на SGML. SGML е Standard Generalized Markup Language или стандартен обобщен маркиращ език, дефиниран от ISO 8879.

SGML е стандарт, независим от доставчиците, който позволява да се запазят съкровищниците от структурирана информация за повече от десетилетие, но не е много добре приспособен за документи в интернет. Дефинирането на XML като приложенчески профил на SGML означава, че всяка обща SGML система е в състояние да отваря и чете XML документи. Но от друга страна, използването и разбирането на XML документи не изисква система, която да е способна да разбира голямото разнообразие от SGML. Тъй че, грубо казано, XML е ограничена форма на SGML

Прилики между XML и SGML

Page 29: Xml language

XML Language

Днес XML е важна технология, и някои проекти за развитие използват XML-базирани технологии като:

- XML Schema за дефиниране на структури на XML и типове данни

- XSLT за преобразуване на XML данни - SOAP за прехвърляне на XML данни между различни

програмни приложения. - WSDL за описване на уеб услуги - RDF за описване на уеб ресурси - XPath и XQuery за достъп до XML данни - SMIL за обработка на графики За да можете да пишете XML документи без грешки,

вие се нуждаете от добър XML editor.

Защо ни е нужен XML editor?

Page 30: Xml language

XML Language

Съдържа:

XML Text Editor

WYSIWYG XML Editor

XML Grid Editor

Tree Editor

<oXygen/> XML Editor

Page 31: Xml language

XML Language

Page 32: Xml language

XML Language

Page 33: Xml language

XML Language

Page 34: Xml language

XML Language

Page 35: Xml language

XML Language

Благодаря ви за вниманието!

Край.