XML за начинаещите

Може да сте чували за езика XML, както и за множество причини защо вашата организация трябва да го използва. Но какво точно представлява XML? Тази статия обяснява основите на XML – какво представлява и как работи.

В тази статия

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

Какво отличава езика XML?

Две думи за добре оформените данни

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

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

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

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

За разбирането на XML е от помощ идеята за коригиране на данни. Хората създават документи от векове и от също толкова дълго време добавят знаци към тях. Учителите например непрекъснато коригират писмените работи на учениците. Те казват на учениците да преместят абзаци, да изяснят изречения, да коригират правописа и т. н. Коригирането на документ е начинът, по който определяме структурата, значението и външния вид на информацията в документа. Ако някога сте използвали функцията за проследяване на промените в Microsoft Office Word, значи сте използвали компютризирана форма на коригирането.

В света на компютрите "коригирането" се е развило в "маркиране". Маркирането е процесът на използване на кодове, наричани етикети (или понякога маркери), за определяне на структурата, външния вид и – в случая на XML– значението на данните.

HTML кодът на тази статия е добър пример за компютърно маркиране в действие. Ако го разгледате (в Microsoft Internet Explorer щракнете с десен бутон върху страницата и след това щракнете върху Покажи кода), ще видите комбинация от четлив текст и HTML етикети, като например <p> и <h2>. Етикетите в HTML и XML документи са лесни за разпознаване, тъй като са оградени от ъглови скоби. В първичния код на тази статия HTML етикетите вършат различни неща, като например определяне на началото и края на всеки абзац (<p> ... </p>) и обозначаване на местоположението на всяко изображение.


Какво отличава езика XML?

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

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

Помнете тези факти, докато напредвате:

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

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

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

    <?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 етикетите ви помагат да разберете какъв точно е типът на данните, които гледате. Разбирате например, че това са данни за котка, и лесно можете да намерите името, възрастта и други подробности за котката. Възможността за създаване на етикети, които определят почти всяка структура на данните, е това, което прави XML "разширяем".

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

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

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


Две думи за добре оформените данни

Може да чуете някой от вашия ИТ отдел да спомене "добре оформен" XML. Добре оформеният XML файл отговаря на набор от много строги правила, които управляват XML. Ако даден файл не отговаря на тези правила, XML спира да работи. Например в извадката от код по-горе всеки отварящ етикет има съответен затварящ етикет, така че извадката отговаря на едно от правилата за правилно оформяне. Ако премахнете един етикет и се опитате да отворите този файл в една от програмите на Office, ще видите съобщение за грешка и програмата ще ви попречи да използвате файла.

Не е задължително да знаете правилата за създаване на добре оформен XML (макар че са лесни за разбиране), но трябва да запомните, че можете да споделяте XML данни между програми и системи само ако данните са добре оформени. Ако не можете да отворите XML файл, много вероятно е този файл да не е добре оформен.

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

xml, използван от други програми

Освен етикетираните, добре оформени данни, XML системите обикновено използват два допълнителни компонента: схеми и трансформации. В следващите раздели се обяснява как работят тези допълнителни компоненти.


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

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

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

схемите разрешават на приложенията да споделят xml данни.

Схемите може да станат сложни и научаването на начина за създаване на схеми излиза извън обхвата на тази статия. (Освен това вероятно имате ИТ отдел, който знае как.) Полезно е обаче да знаете как изглеждат схемите. Схемата по-долу определя правилата за набора от етикети <CAT> ... </CAT>.

<xsd:element name="CAT">  
<xsd:complexType>
<xsd:sequence>
<xsd:element name="NAME" type="xsd:string"/>
<xsd:element name="BREED" type="xsd:string"/>
<xsd:element name="AGE" type="xsd:positiveInteger"/>
<xsd:element name="ALTERED" type="xsd:boolean"/>
<xsd:element name="DECLAWED" type="xsd:boolean"/>
<xsd:element name="LICENSE" type="xsd:string"/>
<xsd:element name="OWNER" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>

Не се опитвайте да разберете всичко в извадката. Просто имайте предвид следните факти:

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

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

  • Когато данните в XML файл отговарят на правилата, предоставени от схема, за тези данни се казва, че са валидни. Процесът на проверка на файл с XML данни спрямо схема се нарича (твърде логично) проверка. Голямото предимство на използването на схеми е, че те могат да помогнат за предотвратяването на повредени данни. Те също така улесняват откриването на повредени данни, тъй като XML спира, когато срещне проблем.


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

Както споменахме по-рано, XML предоставя също така мощни начини за използване и повторно използване на данните. Механизмът за повторно използване на данните се нарича Extensible Stylesheet Language Transformation (XSLT), или просто трансформация.

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

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

Основна XML файлова структура със схема и трансформация

Извадката от код по-долу показва един начин за писане на трансформация. Тя зарежда данните за <CAT> в таблица в уеб страница. Да повторим, смисълът на извадката не е да ви покаже как да напишете трансформация, а да ви покаже една възможна форма на трансформация.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0">
<TABLE>
<TR>
<TH>Name</TH>
<TH>Breed</TH>
<TH>Age</TH>
<TH>Altered</TH>
<TH>Declawed</TH>
<TH>License</TH>
<TH>Owner</TH>
</TR>
<xsl:for-each select="CAT">
<TR ALIGN="LEFT" VALIGN="TOP">
<TD>
<xsl:value-of select="NAME"/>
</TD>
<TD>
<xsl:value-of select="BREED"/>
</TD>
<TD>
<xsl:value-of select="AGE"/>
</TD>
<TD>
<xsl:value-of select="ALTERED"/>
</TD>
<TD>
<xsl:value-of select="DECLAWED"/>
</TD>
<TD>
<xsl:value-of select="LICENSE"/>
</TD>
<TD>
<xsl:value-of select="OWNER"/>
</TD>
</TR>
</xsl:for-each>
</TABLE>

Тази извадка показва как може да изглежда един тип трансформация, когато е във формата на код, но не забравяйте, че можете просто да опишете какво ви трябва от данните на обикновен език. Можете например да отидете при вашия ИТ отдел и да кажете, че трябва да отпечатате данните за продажбите от определени региони за последните две години "и ми трябва да изглеждат по този начин". Вашият ИТ отдел може след това да напише (или да промени) трансформация, която да извърши тази задача.

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


Надничане в XML на системата на Microsoft Office

Професионалните издания на Office предоставят разширена поддръжка на XML. От Microsoft Office 2007 насам, в Microsoft Office се използват базирани на XML файлови формати, като .docx, .xlsx и .pptx. Тъй като XML съхранява данните в текстов формат, а не в специализиран двоичен формат, вашите клиенти могат да дефинират свои собствени схеми и да използват вашите данни по повече начини, без да се налага да плащат за авторски права. За повече информация относно новите формати вижте Формати и разширения на имена на файлове в Open XML. Другите предимства включват:

  • По-малки размери на файловете. Новият формат използва ZIP и други технологии за компресиране, за да намали размера на файла с до 75 процента в сравнение с двоичните формати, използвани в по-ранните версии на Office.

  • По-лесно възстановяване на информацията и по-голяма защита. XML е четлив за хората, така че ако даден файл се повреди, можете да го отворите в Microsoft Notepad или друг текстов четец и да възстановите поне част от информацията. Освен това новите файлове са по-защитени, защото не могат да съдържат код на Visual Basic for Applications (VBA). Ако използвате новия формат за създаване на шаблони, всички ActiveX контроли и VBA макроси се намират в отделна, по-защитена част от файла. Освен това можете да използвате различни инструменти, например инспектора на документи, за да премахнете всички лични данни. За повече информация относно използването на инспектора на документи вижте статията Премахване на скрити и лични данни от документи на Office.

Дотук добре, но какво става, ако имате XML данни без схема? Програмите на Office, които поддържат XML, имат собствени начини да ви помогнат да работите с данните. Excel например съставя схема, ако отворите XML файл, който няма такава. След това Excel ви дава възможност да заредите тези данни в XML таблица. Можете да използвате XML списъците и таблиците, за да сортирате, филтрирате или добавяте изчисления към данните.

Разрешаване на инструментите за XML в Office

Разделът "Разработчик" не се показва по подразбиране, а ще трябва да го добавите към лентата, когато искате да използвате XML команди в Office.

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×