xml
Byggklossar
Sök…
element
Element kommer med vinkelfästen är den mest framstående byggstenen för XML.
Element kan antingen vara tomma, i vilket fall de är gjorda av en tom tagg (lägg märke till att det snedstreckade slutet):
<an-empty-element/>
Eller så kan de ha innehåll, i vilket fall de har en öppningstagg (ingen snedstreck) och en stängningskod (börjar snedstreck):
<a-non-empty-element>Content</a-non-empty-element>
Element kan bygga bo (men bara mellan öppnande och stängande taggar):
<parent-element>
<child-element/>
<another-child-element>
Some more content.
</another-child-element>
</parent-element>
Elementnamn kallas QNames (kvalificerade namn). Alla ovanstående element finns i inget namnutrymme, men elementnamn kan också definieras i namnutrymmen med prefix som så:
<my-namespace:parent-element xmlns:my-namespace="http://www.example.com/">
<my-namespace:child-element/>
<my-namespace:another-child-element>
Some more content.
</my-namespace:another-child-element>
</my-namespace:parent-element>
Namnområden och elementnamn beskrivs mer detaljerat i detta avsnitt av dokumentationen .
attribut
Attribut är namn-värdepar kopplade till ett element.
De representeras av värden i enstaka eller dubbla citat inuti den öppnande elementtaggen, eller den tomma elementtaggen om det är ett tomt element.
<document>
<anElement foo="bar" abc='xyz'><!-- some content --></anElement>
<anotherElement a="1"/>
</document>
Attribut är inte ordnade (till skillnad från element). Följande två element har samma uppsättning attribut:
<foo alpha="1" beta="2"/>
<foo beta="2" alpha="1"/>
Attribut kan inte upprepas i samma element (till skillnad från element). Följande dokument är inte välformat: eftersom attributet <foo a="x" a="y"/>
a
visas två gånger i samma element.
Följande dokument är välformat. Värdena kan vara identiska, det är attributnamnet som inte kan upprepas.
<foo a="x" b="x"/>
Attribut kan inte kapslas (till skillnad från element).
Text
Text är gjord av alla tecken utanför någon markering (öppning av elementetiketter, stängning av elementetiketter osv.).
<?xml version="1.0"?>
<document>
This is some text and <b>this is some more text</b>.
</document>
Den exakta XML-terminologin för text är teckeninformation . XML-specifikationen faktiskt använder ordet text för hela XML-dokument eller en analyserad enhet, eftersom det definierar XML på den syntaktiska nivån. Vissa datamodeller som XDM (XQuery och XPath Data Model), som representerar XML-dokument som träd, hänvisar emellertid till teckendata som textnoder , så att text ofta förstås som en synonym för teckendata i praktiken.
Karaktärsdata kan inte innehålla ett <
-tecken - detta tolkas som det första tecknet i ett öppningselementtagg - och kan inte heller innehålla teckensekvensen ]]>
. Lämpliga tecken måste undvikas med en enhetsreferens istället.
<?xml version="1.0"?>
<document>
It is fine to escape the < character, as well as ]]>.
</document>
För enkelhets skull kan man också komma undan en större bit text med ett CDATA-avsnitt (men sekvensen ]]>
är fortfarande inte tillåtet av uppenbara skäl):
<?xml version="1.0"?>
<document>
<![CDATA[
In a CDATA section, it is fine to write < or even & and entity references
such as & are not resolved.
]]>
</document>
kommentarer
Kommentarer i XML ser så ut:
<!-- This is a comment -->
De kan visas i elementinnehåll eller toppnivå:
<?xml version="1.0"?>
<!-- a comment at the top-level -->
<document>
<!-- a comment inside the document -->
</document>
Kommentarer kan inte visas i taggar eller i attribut:
<element <!-- comment with -- inside --> />
eller
<element attr="<!-- comment with -- inside -->"/>
är inte välformade.
Teckenföljden --
kan inte visas i mitten av en kommentar. Detta är inte välformat XML:
<!-- comment with -- inside -->
Kommentarer i XML, till skillnad från på andra språk som C ++, är en del av datamodellen : de är parsade, vidarebefordrade och synliga för den konsumtiva applikationen.
Behandla instruktioner
En bearbetningsinstruktion används för att direkt vidarebefordra viss information eller instruktion till applikationen via parser.
<?my-application some instructions ?>
Token efter det första frågetecknet (här my-application
) kallas målet och identifierar applikationen som instruktionen syftar till. Det som följer det anges inte ytterligare och det är upp till applikationen att tolka det. Enhets- och teckenreferenser erkänns inte.
Det kan visas på toppnivå eller i elementinnehåll.