XML в прикладах, Різне, Інтернет-технології, статті

Опис


XML документ повинен містити один або більше елементів.

Правильно сформовані документи


Документ з одним елементом:


            
<text>This is an XML document</text>

 

 

Документ з кількома елементами:


            
<text>This is an

               
<doctype>XML document</doctype>

            
</text>

 

 

Документи з помилками


XML документ повинен містити, як мінімум, один елемент:


            
??? This is an XML document ???

 

 

Існує рівно один елемент, званий кореневим або документних, ні яка частина якого не входить у вміст будь-якого іншого елемента.

Правильно сформовані документи


є кореневим:


            
<book>This is a book</book>

 

 

є кореневим:


            
<list>

               
<item>Item 1</item>

               
<item>Item 2</item>

               
<item>Item 3</item>

            
</list>

 

 

Документи з помилками


В документі може бути тільки один кореневий елемент:


            
???

            
<item>Item 1</item>

            
<item>Item 2</item>

            
<item>Item 3</item>

            
???

 

 

Ім’я закриває тега елемента має збігатися з типом елемента в відкриваючому тезі. Імена чутливі до регістру.

Правильно сформовані документи


Закриваючий тег відповідає відкриває :


            
<book>This is a book</book>

 

 

Правильно сформований документ, що містить 4 різних елемента , , і :


            
<list>

               
<item>Car</item>

               
<ITEM>Plane</ITEM>

               
<Item>Train</Item>

            
</list>

 

 

Документи з помилками


і не порівняти:


            
<list>

               
<item>Car</itm>

               
<item>Plane</ITEM>

               
<item>Train</item> 

            
</list>

 

 

Якщо відкриває тег міститься всередині якого-небудь елементу, то і закриває повинен міститися в тому ж елементі. Простіше кажучи, елементи, що задаються відкриває і закриває тегами, повинні бути правильно вкладені одна в одну.

Правильно сформовані документи


Елементи з правильною вкладеністю:


            
<Weight>

                 
<number>12</number>

                 
<unit>grams</unit>

            
</Weight>

 

 

Інший правильно сформований документ:


            
<book>

                 
<chapter>

                      
<title>Introduction</title>

                
</chapter>

                 
<chapter>

                      
<title>Story</title>

                      
<subChapter>

                           
<title>Part 1</title>

                      
</subChapter>

                      
<subChapter>

                           
<title>Part 2</title>

                      
</subChapter>

                 
</chapter>

                 
<chapter>

                      
<title>Index</title>

                 
</chapter>

            
</book>

 

 

Документи з помилками


Елемент не є правильно вкладеним:

            
<text>

                 
<bold><italic>XML</bold></italic>

            
</text>

 

 

Кінець будь-якого елемента, що починається відкриває тегом, повинен бути визначений закриває тегом, ім’я якого збігається з типом елемента, зазначеного в відкриваючому тезі. Текст між відкриває і закриває тегами називається вмістом елемента. Елемент без вмісту може бути записаний в спеціальній формі: . Коса риса (“/”) перед> обумовлює закриває тег.

Правильно сформовані документи


Кожен елемент повинен мати закриває тег або повинен бути представлений в спеціальній формі. У XML немає різниці між конструкціями і :


            
<listOfTags>

                 
<AAA></AAA>

                 
<BBB></BBB>

                 
<CCC/>

                 
<DDD/>

            
</listOfTags>

 

 

Документи з помилками


Пропуск косою риси (“/”) є дуже поширеною помилкою:


 
<description>

    
There are  <color>yellow<color> and <color>red</color> apples.

 
</description>

 

 

Імена елементів можуть містити літери, цифри, дефіси (“-“), символи підкреслення (“_”), двокрапки (“:”) і крапки (“. ‘), Однак починатися вони можуть тільки з букви або символу підкреслення. Двокрапка може бути використано тільки в спеціальних випадках, коли воно розділяє так зване простір імен. Імена елементів, що починаються з ‘xml’, незалежно від комбінації регістрів букв в цьому виразі зарезервовані для потреб стандарту.

Правильно сформовані документи


Документ з дозволеними символами:

               <permitedNames>
                    <name/>
                    <xsl:copy-of/>
                    <A_long_element_name/>
                    <A.name.separated.with.full.stops/>
                    <a123323123-231-231/>
                    <_12/>
               </permitedNames>
               
            

Документи з помилками


Цей документ містить кілька помилок:

               <forbidenNames>
                    <A;name/>
                    <last@name/>
                    <@#$%^()%+?=/>
                    <A*2/>
                    <1ex/>
               </forbidenNames>
               
            

Імена не можуть починатися з ‘xml’:

               <forbidenNames>
                    <xmlTag/>
                    <XMLTag/>
                    <XmLTag/>
                    <xMlTag/>
                    <xmLTag/>
               </forbidenNames>
               
            

Елемент може мати жодного, один або декілька атрибутів. Правила на імена атрибутів накладаються такі ж як і на імена елементів. Імена атрибутів відокремлюються від їх значень знаком ‘=’. Значення атрибута полягає в апострофи ‘…’ або в подвійні лапки “…”. Якщо апостроф або подвійні лапки присутні в значенні атрибуту, то використовуються ті з них, які не зустрічаються в цьому значенні.

Правильно сформовані документи


Документ із правильно оформленими атрибутами:

               <elements-with-attributes>
                    <el _ok = “yes” />
                    <one attr = “a value”/>
                    <several first=”1″ second = ‘2’ third= “333”/>
                    <apos_quote case1=”John’s” case2=’He said: “Hello, world!”  ‘/>
               </elements-with-attributes>
               
            

Документи з помилками


Документ з помилковими атрибутами:


            
<errors>

                 
<wrong_char a*b = “23432”/>

                 
<mismatched_separator value = “12’/>

                 
<wrong_separator_type  value=”aa”aa”/>

                 
<wrong_separator_type  value=’bb’bb’/>

                 
<wrong_start XML-ID = “xml234″/>

            
</errors>

 

 

Символи <і & не можуть бути використані в тексті, так як вони використовуються в розмітці. Якщо ці символи необхідні, слід використовувати < замість <і & замість &.

Правильно сформовані документи


Заміщення & і <:


            
<example>

                 
<isLower>

                      
23 &lt; 46

                 
</isLower>

                 
<ampersand>

                      
Willey &amp; sons

                 
</ampersand>

            
</example>

 

 

Документи з помилками


Символи & і <не можуть бути використані в тексті:


            
<example>

                 
<isLower>

                      
23 < 46

                 
</isLower>

                 
<ampersand>

                      
Willey & sons

                 
</ampersand>

            
</example>

 

 

Символи>, “, і” також можуть бути замінені на >, " і ', відповідно.

Правильно сформовані документи


Можливі підстановки:


   
<example>

        
<right-bracket> both > and &gt; permitted</right-bracket>

        
<double-quote> both ” and &quot; permitted</double-quote>

        
<apostrophe> both ‘ and &apos; permitted</apostrophe>

        
Useful in: <el value=” &apos; &quot; &apos; “/>

   
</example>

 

 

Коментарі можуть міститися в будь-якому місці документа, крім розмітки. XML-процесор може, але не зобов’язаний, надавати програмам доступ до вмісту коментарів. В тексті коментарем не повинна міститися послідовність з двох знаків дефіса (‘-‘).

Правильно сформовані документи


Коментарі можуть містити будь-які символи, крім рядка ‘-‘:


            
<!– doc A –>

            
<example>

               
<!– <HEAD>  –>

               
<!– Characters <&<  –>

            
</example>

 

 

Документи з помилками


Коментарі не повинні містити ‘-‘:


            
<example>

                 
<!– A — B –>

            
</example>

 

 

Документ може містити інструкції по обробці (PI), що несуть інформацію для додатків.

Правильно сформовані документи


Інструкції по обробці:


            
<example>

               
<?perl lower-to-upper-case  ?>

               
<?web-server add-header = “university” ?>

               
<text>vscht</text>

            
</example>

 

 

Документи з помилками


Інструкції до обробки повинні закінчуватися послідовністю?>:


            
<example>

               
<?perl run _>

            
</example>

 

 

Секція CDATA використовується для того, щоб позначити частини документа, які не повинні сприйматися як розмітка. Секція CDATA починається з рядка ‘

Правильно сформовані документи


Секція CDATA:


            
<example>

                 
<![CDATA[ <aaa>bb&cc<<<]]>

            
</example>

 

 

Документи з помилками


Секція CDATA не може містити послідовність ‘]]>’:


            
<example>

                 
<![CDATA[ <aaa>bb ]]>cc<<<]]>

            
</example>

 

 

XML-документ може, але не зобов’язаний, починатися з XML-декларації, що визначає версію XML.

Правильно сформовані документи


Визначення версії XML:

         <?xml version=”1.0″?>
         <text>This document conforms to the XML 1.0 specification.</text>
               
            

Визначення використовуваної кодування:

         <?xml version=”1.0″ encoding=”ISO-8859-2″?>
         <text>If encoding is not given UTF-8 is assumed</text>
               
            

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*