1 / 13

Пространства на имената

Пространства на имената. Namespaces ( Пространства на имената). XML Namespaces (пространства на имената) осигуряват начин за избягване на конфликта на имената на елементите . Конфликт на имена

leiko
Download Presentation

Пространства на имената

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Пространства на имената

  2. Namespaces (Пространства на имената) • XML Namespaces (пространства на имената)осигуряват начин за избягване на конфликта на имената на елементите. • Конфликт на имена • Много често има конфликт на имена тогава, когато два документа използват едни и същи имена, които описват два различни по тип елемента. Какво има върху масата <table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>

  3. Namespaces (области на имената) Масата като мебел • Ако тези 2 XML документа се съберат заедно, то ще има конфликт на имената поради факта, че и двата документа съдържат елемента <table> с различно съдържание и дефиниция. <table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>

  4. Namespaces (пространства на имената) • Разрешаване на конфликта на имената с използване наPrefix Какво има върху масата, но с prefix <h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> Масата като мебел, но сprefix <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table>

  5. Namespaces (пространства на имената) • В този случай няма конфликт на имената защото двата документа използват различни имена за техните елементи <table> (<h:table> и <f:table>). • С използването на prefix, се създават два различни типа елементи <table>. • Пространството от имена е група имена, принадлежащи си едно на друго.

  6. Namespaces (пространства на имената) • Типична е ситуацията и при обединяване на два документа – XML документ ще носи дефиниран собствен префикс, а XHTML документ – ще има друг префикс. Два вида елементи: тип persи тип xhtml– те принадлежат на 2 категории (пространства на имената) <?xml version=“1.0”?> <pers:person> <pers:name> <pers:first>Ivan</pers:first> <pers:last>Ivanov</pers:last> </pers:name> <pers:position>President</pers:position> <pers:info> <xhtml:html> <xhtml:head><xhtml:title>info for Ivan Ivanov</xhtml:title> </xhtml:head> . . . </xhtml:html> </pers:info> </pers:person>

  7. Namespaces (пространства на имената) • Префиксният подход е неудобен. Администрирането на префиксите е както администрирането на домейн имената в Интернет. • За решаване на проблема – използване на уникални Интернет домейн имена, като укажем, че URI ще се използват за префикси. <?xml version=“1.0”?> <pers:personxmlns:pers=“http://firma_x.com/pers”> xmlns:html=“http://www.w3.org/1999/xhtml”> <pers:name> <pers:first>Ivan</pers:first> <pers:last>Ivanov</pers:last> </pers:name> <pers:position>President</pers:position> <pers:info> <html:html> <html:head><html:title>info for Ivan Ivanov</html:title> </html:head> . . . </html:html> </pers:info> </pers:person> Дефинирано пространство от имена

  8. Namespaces (пространства на имената) • Използване на Namespaces <h:tablexmlns:h="http://www.w3.org/TR/html4/"> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> Какво има върху масата, но сатрибут <f:tablexmlns:f="http://www.w3schools.com/furniture"> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> Масата като мебел, но сатрибут

  9. Namespaces (пространства на имената) • Вместо използването само на префикси,се добавя xmlnsатрибуткъм<table> tagза да се даде на префикса на елемента специално име, което да е свързано с пространство на имена(namespace). • Атрибут на namespace • Атрибутът на namespace се разполага в началото на тага на елемента и има следния синтаксис: • В примерапространството на имената е дефинирана с Internet адрес: • xmlns:f="http://www.w3schools.com/furniture" xmlns:namespace-prefix="namespace"

  10. Namespaces (пространства на имената) • Атрибут на namespace • W3Cnamespaceспецификациятаозначава, че областта на имената (namespace)трябва да бъдеUniform Resource Identifier (URI). • Когато областта на имената се дефинира в стартовия таг на елемента, всички елементи на по-долни нива (дъщерни) със същияпрефикс са свързани със същото пространство на имената. • Много често се използват пространства на имена като указатели към реални Web страници, съдържащи информация за областите на имената. • Опитайте да отидете на адрес: http://www.w3.org/TR/html4/.

  11. Namespaces (пространства на имената) • Обобщени идентификатори на ресурси (Uniform Resource Identifiers) • Идентификаторът на ресурс (URI) е символен низ, който идентифицира един Internet Resource. • Най-често използваният URI еUniform Resource Locator (URL), който идентифицира Internet домейн адрес. • Друг, не така типичен URI еUniversal Resource Name (URN). URN е ресурс и при преместване на документа адресът става невалиден. Обикновено се използват URL-и. • Тъй като примерът за масата – мебел използва Internet адрес за определяне на областта на имената,можем да сме сигурни, че областта на имената е уникална.

  12. Namespaces (пространства на имената) • Области на имената по подразбиране • Дефиниране на области на имената по подразбиране за един елемент спестява използването на префикси във всички дъщерни елементи. • Има следния синтаксис: • Областта на данни се определя от URI, а не от префикса. <element xmlns:префикс="URI"> Декларацията свързва префикса с URI <element xmlns="URI">

  13. Namespaces (пространства на имената) • Пространства на имената по подразбиране <table xmlns="http://www.w3.org/TR/html4/"> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table> Област на имената по подразбиране <table xmlns="http://www.w3schools.com/furniture"> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table> Област на имената по подразбиране

More Related