XML Navnerum
- Forrige side XML Egenskaber
- Næste side XML visning
XML navnrom tilbyder en metode til at undgå elementnavnekollisioner.
Navnekollision
I XML defineres elementnavne af udvikleren. Når to forskellige dokumenter bruger det samme elementnavn, opstår der en navnekollision.
Denne XML-dokument bærer information fra en tabel:
<table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>
Denne XML-dokument indeholder information om et bord (et stykke møbel):
<table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>
Hvis disse to XML-dokumenter bruges sammen, vil der opstå navnekollisioner, da begge dokumenter indeholder <table> elementer med forskellig indhold og definitioner.
Brugere eller XML-applikationer vil ikke kunne bestemme, hvordan de skal håndtere denne type konflikter.
Løsning af navnekollisioner ved hjælp af præfiks
Brug af navneprefiks kan let undgå navnekollisioner i XML.
Denne XML indeholder information om HTML-tabeller og et stykke møbel:
<h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table>
Nu er der ingen navnkollisioner, hvilket skyldes, at de to dokumenter har brugt forskellige navne til at navngive deres <table> elementer (<h:table>
og <f:table>
)。
Ved at bruge præfiks har vi oprettet to forskellige typer af <table> elementer.
XML navnrom - xmlns egenskab
Når præfikset bruges i XML, skal præfikset defineres.Navnerum(Navnerum)。
Navnerum kan defineres gennem elementets startmærke xmlns
egenskaben til at definere。
Navnerum deklaration bruger denne syntaks:xmlns:prefix="URI"。
<root> <h:table xmlns:h="http://www.w3.org/TR/html4/"> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table xmlns:f="https://www.codew3c.com/furniture"> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root>
I det ovenstående eksempel:
den første <table>-elementets xmlns
Egenskaben er h:
Præfikset giver en begrænset navnerum.
den anden <table>-elementets xmlns
Egenskaben er f:
Præfikset giver en begrænset navnerum.
Hvis et element definerer et navnerum, er alle underelementer med samme præfiks forbundet med samme navnerum。
Navnerum kan også deklareres i XML rod-elementet:
<root xmlns:h="http://www.w3.org/TR/html4/"> xmlns:f="https://www.codew3c.com/furniture"> <h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root>
Bemærk:Analyseren bruger ikke navnerum URI til at finde information。
Formålet med at bruge URI er kun at give navnerummet et unikt navn。
Men mange virksomheder bruger ofte navnerum som pejle til eksisterende websider, der indeholder information om navnerummet。
Enighedens ressource identificer (URI)
Enighedens ressource identificer (Uniform Resource Identifier,URI) er en streng, der identificerer Internetressourcer。
) er den mest almindelige URI, der er en streng, der identificerer Internetressourcer。Enighedens ressource lokaliserer (Uniform Resource Locator,URL),den identificerer internettets domæneadresse。
En anden mindre almindelig URI-type erEnighedens ressource navn (Uniform Resource Name,URN)。
Standard navnerum (Default Namespaces)
At definere en standard navnerum for elementer kan lade os undgå at bruge præfiks på alle underelementer.
Brug nedenstående syntaks:
xmlns="namespaceURI"
Denne XML-dokument indeholder HTML-tabellen information:
<table xmlns="http://www.w3.org/TR/html4/"> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>
Denne XML indeholder information om et stykke møbel:
<table xmlns="https://www.codew3c.com/furniture"> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>
Brug af navnerum i praksis
XSLT er et sprog, der kan bruges til at konvertere XML-dokumenter til andre formater.
Denne XML-dokument er brugt til at konvertere XML til HTML.
Hvis du ser nøje på den nedenstående XSL-dokument, vil du se, at de fleste af tagget er HTML-tagget.
Ikke-HTML-tagget har præfiks xsl, og dette navnerum markeres af: "http://www.w3.org/1999/XSL/Transform":
Navnetrum "http://www.w3.org/1999/XSL/Transform" identificerer XSLT-elementer i HTML-dokumenter:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>Min CD Samling</h2> <table border="1"> <tr> <th style="text-align:left">Title</th> <th style="text-align:left">Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
Hvis du vil dykke dybere ned i mere om XSLT, så læs vores XSLT vejledning.
- Forrige side XML Egenskaber
- Næste side XML visning