Innføring i xml
Helt grunnleggende innføring i XML. Både regelfiler og skjemadata i Altinn lagres som XML.
Xml er et format for å sette opp data på en måte som både menneske og maskin skal kunne lese. Formatet har som mål å være enkelt, generelt og kunne brukes på tvers av plattformer og språk.
<?xml version="1.0" encoding="UTF-8"?>
<Brev>
<Til>Tove</Til>
<Fra>Ole</Fra>
<Tittel>Husk møtet</Tittel>
<Innhold>Husk møtet klokka 16!</Innhold>
</Brev>
Xml er basert på tekst, og bruker spesiell kode for å strukturere data. Det er viktig å merke seg at xml består av to
hoveddeler, tekst som representerer data og tekst som er brukt til å strukturere data («markup»). Tekst som blir brukt
til å strukturere data starter med tegnet <
og blir avsluttet med tegnet >
.
Tag er en markør som starter med <
og slutter med >
. Den finnes i tre varianter: Start-tag <seksjon>
,
slutt-tag </seksjon>
og tomt element <seksjon />
.
Element/Node er en logisk del av xml-en som starter med en start-tag og slutter med en slutt-tag, eller bare er en tom tag. Teksten mellom start-tagen og slutt-tagen er innholdet i elementet.
<Til>Tove</Til>
Attributt er egenskaper som kan legges til en tag. Disse kan bare legges inne i en start-tag eller en tom
element-tag. Attributt består av to deler, nemlig navn og verdi. Eksempelet under har lagt til to attributt, sendedato
og mottaksdato
, til elementet Brev
. Verdien må alltid stå inne i hermetegn (enkle eller doble).
<Brev sendedato="23.10.2013" mottaksdato="25.10.2013">
Xml-deklarasjon er et spesialelement som skal stå i starten av dokumentet. Dette er brukt til å fortelle at dette er et xml-dokument, samt hvilken versjon og tegnkoding det bruker. I de fleste tilfeller kan du bruke den slik som det står i eksempelet.
<?xml version="1.0" encoding="UTF-8"?>
Kommentarer kan bli markert med <!--
i starten og -->
i slutten. Det som står mellom disse tegnene vil ikke
bli betraktet som en del av xml-en når maskinen leser den. Disse blir brukt til å fortelle noe som et menneske som leser
xml-en kan ha nytte av, men som maskinen ikke trenger kjenne til.
<!-- En kommentar -->
Regler
For å være et velformet xml-dokument må du følge et sett med regler.
- Du må bare ha ett rotelement
- Elementer må være avgrenset av en start-tag og slutt-tag med samme navn, f.eks.
<Til>Tove</Til>
. Tomme elementer kan alternativt bruke en lukket tag. f.eks.<Til />
. - Alle attributtverdier må stå i anførselstegn.
- Elementer kan inneholde andre elementer, men ikke overlappe hverandre.
- Det er forskjell på små og store bokstaver i elementnavn.
<Til/>
er ikke det samme som<til/>
.
Xsd
Xsd står for «xml schema definition» og er et format som brukes til å fortelle detaljert hvilke regler en xml må følge. Dette blir brukt for å sikre at xml-er kan bli brukt til et spesielt formål som krever et samordnet format. Xsd-en brukes for å sette strengere regler enn det som vanligvis gjelder for xml.
Finne mer informasjon
For å lære mer om xml finnes det masse informasjon på internett (http://www.w3schools.com/xml/ er et eksempel).
Verktøy
Når du skal jobbe med xml-filer (som regelfila) anbefales det å bruke verktøy som hjelper deg å følge reglene for xml. Eksempel på slike verktøy er XML Spy og Visual Studio, men det finnes også andre alternativ. Ved å legge inn referanse (se under) til xsd-en vil slike verktøy kunne sjekke om du følger reglene for regelfilen.
<AltinnRuleEngine name="test" version="1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="AltinnRuleEngine.xsd">