Wat zijn 'xmlns' en 'xsi:schemaLocation' in XML-bestanden?


Datum van publicatie:

Bijgewerkt:


Artikelen > Wat zijn 'xmlns' en 'xsi:schemaLocation' in XML-bestanden?

2026 status en veilig gebruik

Conclusie: xmlns bindt een voorvoegsel of standaardnaamruimte aan een URI zodat elementnamen ondubbelzinnig blijven. xsi:schemaLocation is slechts een hint dat namespace URI's met schemalocaties paren; validatiegedrag hangt nog steeds af van de XML-processor.

Wat je zult leren

  • Hoe standaard en prefixed namespaces de uitgebreide naam van een element wijzigen.
  • Waarom een namespace URI een identificatiecode is en geen webpagina hoeft terug te sturen.
  • Hoe xsi:schemaLocation verschilt van xsi:noNamespaceSchemaLocation.

Voor wie: Ontwikkelaars die Maven, Spring, SOAP of andere XML configuratiebestanden lezen.

Actualisatie voor 2026: De W3C namespace en XML Schema regels blijven de autoriteit. Behandel remote schema locaties als onbetrouwbare invoer en vermijd afhankelijk van het netwerk ophalen tijdens de productie ontleden.

Veiligheidsopmerking: de opdrachten en configuratievoorbeelden uit het oorspronkelijke artikel zijn niet opnieuw in een moderne productieomgeving uitgevoerd. Controleer ondersteunde versies, back-ups, toegangsbeheer en terugrolstappen eerst in een afzonderlijke testomgeving.

Officiële primaire bronnen

Overzicht

In XML-bestanden komen "xmlns" en "xsi:schemaLocation" vaak voor. In deze sectie wordt uitgelegd wat deze attributen betekenen.

Inhoudsopgave

  1. Wat is een XML-bestand?
  2. samenvatting

1. Wat is een XML-bestand?

XML staat voor Extensible Markup Language en is gespecificeerd door het World Wide Web Consortium (W3C). Voor meer gedetailleerde specificaties, anders dan "xmlns" en "xsi:schemaLocation", verwijzen wij u naar de volgende sites.

https://www.w3.org/TR/xml/

1-1. Wat zijn "xmlns" en "xsi:schemaLocation"?

Het volgende voorbeeld is een voorbeeld van de eerste beschrijving in een XML-bestand bij gebruik van het Spring framework voor Java applicatie-ontwikkeling.

applicationContext.xml


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:util="http://www.springframework.org/schema/util"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd">

Samenvattend, "xmlns" en "xsi:schemaLocation" zijn instellingen voor definities over hoe XML wordt geschreven. Bij de ontwikkeling van Java-toepassingen voert het Spring-framework bewerkingen uit op basis van de gegevens in dit XML-bestand. Als er geen definitie is van hoe XML moet worden geschreven, is het moeilijk te weten hoe het moet worden geschreven. Zo bepalen zij bijvoorbeeld dat "je het id attribuut in de bean tag kunt definiëren" en "je de constructor-arg tag in de inner tag van de bean tag kunt definiëren".

1-2. Wat is xmlns?

xmlns verwijst naar de "XML namespace". Kort gezegd is een namespace een ID, d.w.z. een uniek identificerende waarde.

Als we het vorige voorbeeld van "xmlns="http://www.springframework.org/schema/beans" als voorbeeld nemen, is "http://www.springframework.org/schema/beans" de namespace, d.w.z. de waarde die op unieke wijze identificeert De waarde is.

Het is een URL, maar wanneer het programma het verwerkt, wordt het niet verwerkt als een URL, maar als een ID. Daarom wordt het XSD-bestand (XML definition file) gezocht waarin "http://www.springframework.org/schema/beans" als ID is gedefinieerd en wordt nagegaan of het beschreven is zoals in het XSD-bestand is gedefinieerd. Het proces wordt uitgevoerd door te zoeken naar een XSD-bestand (XML-definitiebestand) met "" gedefinieerd als een ID en te controleren of het wordt beschreven zoals in het XSD-bestand is gedefinieerd. In het geval van Spring wordt het XSD-bestand ook als een set in het jar-bestand opgeslagen.

1-3. Wat is "xmlns:xsi"?

"xmlns", "xmlns:xsi", enz. om dubbele definities te vermijden. Als bijvoorbeeld dezelfde voorbeeldtag is gedefinieerd in "xmlns" en "xmlns:xsi", is het niet mogelijk te bepalen als welke definitie hij wordt beschreven. Daarom is het mogelijk onderscheid te maken tussen de definities "xmlns" en "xmlns:xsi" voor "sample" en "xsi:sample" voor "xmlns:xsi". Met andere woorden, die met "xmlns="~"" zijn de standaardwaarden, terwijl die met "xmlns:xxxx="~"" moeten worden gedefinieerd als "xxxx:tag name".

2. samenvatting

"xmlns" en "xsi:schemaLocation" zijn definitiebestandinstellingen voor het correct schrijven van XML-bestanden.

■INFORMATION

Artikelen


■PROFILE

Profiel


■Contact

Contact