Vad är filformatet XML?
.xml-filer lagrar data i formatet Extensible Markup Language, en textbaserad standard utvecklad av W3C. XML-filer kan representera vilken datastruktur som helst i klartext, vilket gör dem lämpliga för att lagra, dela och transportera data mellan applikationer över internet.
XML använder markeringsstrukturer - nästlade taggar och attribut - som definierar reglerna en kodningsprocess måste följa för att producera dokument som är både maskinläsbara och mänskligt läsbara. Det designades som en mer tillgänglig implementering av SGML (Standard Generalized Markup Language), förenklad för webbanvändning. Filer börjar vanligtvis med deklarationen <?xml version="1.0" encoding="UTF-8"?>, och MIME-typen är application/xml.
XML-filer använder Unicode-kodning (UTF-8 som standard) och kan öppnas och redigeras med valfri standardtextredigerare. Eftersom formatet är självbeskrivande - varje element är namngivet och nästlat i en tydlig hierarki - kan datan inspekteras utan dedikerad programvara, även om bearbetning eller sökning programmatiskt kräver en parser eller ett frågespråk som XPath.
XML liknar på många sätt .HTML, då båda formaten använder markeringsspråk för att representera strukturerat innehåll. HTML fokuserar på webbsidors presentation och interaktion, medan XML beskriver innehåll i förhållande till själva datan. De två formaten används tillsammans i många webbapplikationer. XML fungerar också som grund för relaterade standarder som .XSD-valideringsscheman, .XSL-stilmallar för transformation och .RSS-flöden.
Säkerhet & trygghet
RISK: MEDIUMEn XML-fil är vanlig text och innehåller ingen exekverbar kod, så det är säkert att läsa en. De verkliga riskerna finns hos PARSERN, inte filen: XML External Entity (XXE)-attacker missbrukar <!DOCTYPE>/<!ENTITY>-deklarationer för att läsa lokala filer eller utlösa nätverksanrop, och «billion laughs»-entitetsexpansion kan tömma minnet (överbelastningsattack). Dessa spelar bara roll när programvara parsar okänd XML med externa entiteter och DTD-bearbetning aktiverad - moderna parsers inaktiverar dessa som standard. För en slutanvändare som bara öppnar en .xml för att läsa den finns ingen fara; varningen gäller utvecklare som bearbetar okänd XML. Var också vaksam på filer som ser ut som «data.xml» men egentligen är något annat som döpts om.
Formatdetaljer
i ett nötskalProgram som öppnar XML-filer
Tekniska detaljer
djup specifikation| Filkodning | Endast Unicode; UTF-8 är standard när ingen deklaration finns; UTF-16 och UTF-32 stöds och måste deklareras i XML-prologen |
| MIME-typ | `application/xml` (primär, enligt RFC 7303); `text/xml` accepteras för bakåtkompatibilitet; specifika dialekter kan registrera sin egen typ (t.ex. `application/rss+xml`) |
| Filsignatur | Inget fast binärt magiskt nummer; filer börjar vanligtvis med den valfria XML-deklarationen `<?xml` (hex `3C 3F 78 6D 6C`); en UTF-8 BOM (`EF BB BF`) eller UTF-16 BOM (`FF FE` / `FE FF`) kan föregå den |
| Dokumentstruktur | Strikt hierarki: exakt ett rotelement; obegränsad nästling av underordnade element; starttaggar kan bära namngivna, citerade attribut; hela trädet måste vara välformaterat |
| Regler för välformaterad struktur | Alla taggar måste stängas eller vara självstängande; element får inte kors-nästlas; attributvärden måste omges av citattecken; fem fördefinierade entiteter (&, <, >, ", ') hanterar reserverade tecken |
| Valideringsmekanismer | DTD (Document Type Definition - inbäddad eller extern `.dtd`-fil, äldre standard) och XSD (XML Schema Definition - en `.xsd`-fil i sig skriven i XML, med ett rikare typsystem); Schematron erbjuder regelbaserad validering |
| Stöd för namnrymder | `xmlns` och `xmlns:prefix`-deklarationer binder element- och attributnamn till en URI, vilket förhindrar kollisioner när man kombinerar vokabulärer från flera källor |
| CDATA-sektioner | `<![CDATA[...]]>`-block låter råtext som innehåller <, >, och & visas utan entitetskodning; användbart för att bädda in HTML-fragment eller skriptkod |
| Bearbetningsinstruktioner | `<?target instruction?>`-syntax bäddar in applikationsspecifika direktiv (t.ex. `<?xml-stylesheet type="text/xsl" href="style.xsl"?>`) utanför XML-datamodellen |
| Frågespråk | XPath 1.0/2.0/3.1 adresserar enskilda noder inuti ett dokument; XQuery tillhandahåller SQL-liknande sökning över XML-dataset; båda är W3C-standardiserade |
| XSLT-transformation | `.xml`-filer kan transformeras till HTML, klartext eller andra XML-vokabulärer vid körning av en XSLT-processor som slår samman källdokumentet med en `.xsl`- eller `.xslt`-stilmall |
| Kommentarsyntax | `<!-- text -->` kommentarer kan förekomma var som helst utanför en tagg; dubbla bindestreck är förbjudna inuti kommentaren; kommentarer exkluderas från XML-datamodellen |
| Normalisering av radbrytningar | Kompatibla parsers normaliserar \r\n och enstaka \r till \n före bearbetning, vilket säkerställer konsekvent beteende för radslut över plattformar |
| Entitetsdeklarationer | Namngivna entiteter (&name;) och numeriska teckenreferenser (&#nnnn; decimalt eller &#xHHHH; hex) bäddar in valfri Unicode-kodpunkt; anpassade entiteter kan deklareras i en DTD |
| Prologstruktur | Ett XML-dokument består av en valfri XML-deklaration, en valfri DOCTYPE-deklaration, valfria bearbetningsinstruktioner och kommentarer, följt av exakt ett rotelement |
| Ekosystem av dialekter | XML är bassyntaxen för XHTML, SVG, RSS, Atom, DOCX (Office Open XML), EPUB, KML och konfigurationsformat som används av Android, Maven, Spring och Java EE |
| Släppt | 1998 (XML 1.0 W3C Recommendation, February 10, 1998) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | www.w3.org |
XML-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om XML-filer.