Vanliga problem med XML


1. Deklaration av xs prefix

Metadata validatorn testar att alla XML name space prefix är deklarerade. Name space prefix är valda referens-identifierare som på ett läsbart sätt förmedlar information om var olika element, attribut och i vissa fall parametrar är definierade.

När man inspekterar metadata för andra tjänster i metadata validatorn så visas deklarationer av name space prefix så som ex:

xmlns:mdattr="urn:oasis:names:tc:SAML:metadata:attribute"

Dock visas sällan deklaration av name space prefix ”xs” som används för att deklarera bl.a. sträng värden ”xs:string” där xs skall deklareras som:

xmlns:xs="http://www.w3.org/2001/XMLSchema"

Det finns flera skäl till detta: xs:string är en deklaration som förekommer som ett attributvärde typ xsi:type="xs:string". Det gör att dess deklaration inte skrivs ut till skillnad mot deklaration av element- och attributnamn. Deklarationen av xs görs oftast i rot elementet i en metadata fil och inte i enskilda tjänsters metadata. Resultatet är att det är lätt att missa just deklarationen av xs i ”xs:string”.

Lösningen på problemet, om metadata validatorn ger felmeddelandet at xs ej är definierat, är att lägga in följande deklaration i metadatas rotelement (EntityDescriptor):

xmlns:xs="http://www.w3.org/2001/XMLSchema"