Avatar billede evilfish Nybegynder
26. april 2010 - 10:39 Der er 1 kommentar og
1 løsning

En form for IF ELSE i XML Schema

Hej eksperter

Jeg har et XML dokument, som jeg er ved at lave en schema til. Jeg er støt ind på et problem hvor jeg har et XML element "CAT", som kan indholde flere forskellige elementer: INFO, SERVICE og VULN.

Jeg kunne løse problemet på følgende måde
<xs:element name="CAT">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="INFO" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="SERVICE" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="VULN" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

Problemet er dog i midlertid at denne løsning gør det muligt at alle 3 elementer kan være i CAT tag. Jeg skal have lavet det sådan at hvis INFO er i CAT, så kan de andre ikke være i det konkrete tag.
Hvis der så kommer et nyt CAT tag med VULN, så må de andre ikke være i det tag.

Jeg kiggede på Substitution, men da VULN, INFO og SERVICES er forskellige, kan dette ikke lave sig gøre.

Nogen der har et forslag?
Avatar billede evilfish Nybegynder
26. april 2010 - 11:38 #1
En mere søgning på nettet gav ikke noget resultat, og det så ud til det ikke kunne lade sig gøre. Jeg oprettede derfor nested CAT's og kunne i dem definere hvilke tag jeg vil acceptere.
Avatar billede arne_v Ekspert
26. april 2010 - 15:11 #2
Du kan ikke bruge xs:choice ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester