Avatar billede tolling Nybegynder
22. november 2004 - 14:03 Der er 3 kommentarer

validere XML dokument vha XSD uden at kende element navnet

Jeg har et spørgsmål, som jeg håber I kan hjælpe mig med. Mit problem er at jeg gerne vil have et XSD schema, der validerer mit XML dokument uden at kende navnet på elementet. Måske via et loop eller hvad der nu kan lade sig gøre. Således at XSD dokumentet selv finder navnet på elementet og looper igennem dets child elementer. Jeg håber i forstår hvad jeg mener.

(Eks.)

**************************************************
Mit xsd dokument..
**************************************************
<xs:element name="mad">
  <xs:complexType>
    <xs:sequence>

      <xs:element name=" NAVNET PÅ DEN UKENDTE FIL (grill & stege)">
        <xs:complexType>
      <xs:sequence>

        <xs:element name="navn" type="xs:string" />
            <xs:element name="god" type="xs:string" />
            <xs:element name="data">
              <xs:complexType>
        <xs:sequence>
         
                  <xs:element name="dataNavn" type="xs:string" />

          </xs:sequence>
        </xs:complexType>
      </xs:element>

    </xs:sequence>
  </xs:complexType>
</xs:element>

**************************************************
Mit XML dokument ser således ud..
**************************************************
<mad>

  <grill> !! Det ukendte navn i XSD dokumentet
    <navn>Grill Bøf</navn>
    <god>Ja</god>
    <data>
      <dataNavn>GrillMix</dataNavn>
    </data>
  </grill>

  <stege> !! Det ukendte navn i XSD dokumentet
    <navn>Plankebøf</navn>
    <god>Nej</god>
    <data>
      <dataNavn>Planken ud</dataNavn>
    </data>
  </stege>

</mad>
**************************************************
Avatar billede tknudsen Nybegynder
22. november 2004 - 14:37 #1
Hvis du kan komme til at ændre dit xml, så noden kommer til at hedde noget fast tror jeg du kan komme videre:

<mad>
  <metode type="grill">
  ...
  </metode>

  <metode type="stege">
  ...
  </metode>
</mad>



så skal dit xsd ændres til:
<xs:element name="mad">
  <xs:complexType>
    <xs:sequence>

      <xs:element name="metode">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="navn" type="xs:string" />
            <xs:element name="god" type="xs:string" />
            <xs:element name="data">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="dataNavn" type="xs:string" />
              </xs:sequence>
            </xs:complexType>
            </xs:element>
    </xs:sequence>
    <xs:attribute name="type" type="xs:string" />
  </xs:complexType>
</xs:element>
Avatar billede tknudsen Nybegynder
22. november 2004 - 14:47 #2
...der mangler en afslutning på yderste element:

<xs:element name="mad">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="metode">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="navn" type="xs:string" />
                        <xs:element name="god" type="xs:string" />
                        <xs:element name="data">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="dataNavn" type="xs:string" />
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute name="type" type="xs:string" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
</xs:element>
Avatar billede tolling Nybegynder
22. november 2004 - 15:23 #3
Tak for svaret,

..men jeg kan desværre ikke udvide mit XML dokument, da det vil kræve alt for meget omstrukturering af mine andre filer der laver XML filen. Det skal helst kunne lade sig gøre uden at jeg ændrer ved filen.

Jeg havde også selv tænkt på at sætte en ekstra attribut ind, men det hjælper mig som sagt ikke på den måde jeg gerne vil løse problemet på. Håber at der er en måde at løse det på med min nuværende xml fil.
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