Gå til innhold

Finne lovlige barnenoder iht. xml dtd (vanskelig?)


Anbefalte innlegg

Tjohei!

 

Jeg har ikke fått sett så mye på det enda, men jeg har en sterk mistanke om at dette er vanskelig eller i beste fall omfattende. Er egentlig litt skeptisk til om dette lar seg gjøre da det er en veldig kompleks dtd jeg jobber mot.

 

Si at jeg har en XML fil lastet inn i DOM modellen til PHP. Det jeg vil gjøre er å finne alle lovlige barnenoder (samt antall lovlige forekomster av de) til en gitt node i henhold til DTD.

 

Tips? Ferdige klasser?

Endret av Kimble
Lenke til kommentar
Videoannonse
Annonse

Bah.. tror løsningen blir en ny xml fil som definerer den delen av strukturen jeg trenger. I den kan jeg også legge inn informasjon ut over det som er i skjema.

 

Men om noen vet noe om det opprinnelige problemet er jeg interessert i å høre det.

Lenke til kommentar

Vel. Du kunne lage en parser til DTD med regex. Har ikke vært serlig borti DTD før, men det ser ikke så ille ut. BTW: Det ser ut som DTD er litt på vei ut ettersom det har en del begrensninger. Sjekk wikipedia.

 

Kan man definere eksakt antall for lovlige noder? Eller gjelder kun "*", "+" og "?"?

Lenke til kommentar
Vel. Du kunne lage en parser til DTD med regex. Har ikke vært serlig borti DTD før, men det ser ikke så ille ut. BTW: Det ser ut som DTD er litt på vei ut ettersom det har en del begrensninger. Sjekk wikipedia.

 

Kan man definere eksakt antall for lovlige noder? Eller gjelder kun "*", "+" og "?"?

 

Det enkleste er veldig greit, men det er en utrolig kompleks dtd i dette tilfellet med referanser til andre filer og det hele. Når jeg uansett hadde behov for å lagre mer informasjon om hvert element var det ikke så ille å lage en egen xml struktur på det.

 

Håper du har rett i at dtd er på vei ut da jeg aldri har hatt sansen for det. Så litt på Relax NG i går og det så veldig bra ut! Ikke så ulikt Schema, men mye mer lesbart for oss mennesker :-)

Endret av Kimble
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...