Avatar billede tolling Nybegynder
26. november 2004 - 16:05

Problemer med <any> og XML schema

Jeg har nu siddet i timevis og forsøgt at løse et måske simplet problem uden held, og jeg håber derfor at I kan hjælpe mig videre.

Problemet er med <any> propertien, som jeg ikke kan få til at virke.

Min XML fil ser således ud:

<?xml version="1.0" encoding="utf-8" ?>

<properties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/license.xsd">
    <default>
        <settings>
            <database>
                <username>tester</username>
                <password>tester</password>
                <server>test.test.dk</server>
            </database>
            <supplier>
                <id>Tester</id>
                <name>Test ApS</name>
                <url>www.test.dk</url>
            </supplier>
        </settings>
    </default>
    <licenses>
        <license id="support">
            <name>Support</name>
            <state>1</state>
            <database>
                <dbname>test_support</dbname>
            </database>
            <HerSkerFejlen>Fejl</HerSkerFejlen>
        </license>
        <license id="well">
            <name>Well</name>
            <state>1</state>
            <database>
                <dbname>TT_well</dbname>
            </database>
        </license>
    </licenses>
</properties>

Min XSD fil:

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema targetNamespace="http://tempuri.org/license.xsd" xmlns="http://tempuri.org/license.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:element name="properties">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="default">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="settings">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="database" minOccurs="1" maxOccurs="1">
                                            <xs:complexType>
                                                <xs:sequence>
                                                    <xs:element name="username" type="xs:string" />
                                                    <xs:element name="password" type="xs:string" />
                                                    <xs:element name="server" type="xs:string" />
                                                </xs:sequence>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="supplier" minOccurs="1" maxOccurs="1">
                                            <xs:complexType>
                                                <xs:sequence>
                                                    <xs:element name="id" type="xs:string" />
                                                    <xs:element name="name" type="xs:string" />
                                                    <xs:element name="url" type="xs:string" />
                                                </xs:sequence>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="licenses">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="license" minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="name" type="xs:string" />
                                        <xs:element name="state" type="state" />
                                        <xs:element name="database">
                                            <xs:complexType>
                                                <xs:sequence>
                                                    <xs:element name="dbname" type="xs:string" />
                                                </xs:sequence>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:any minOccurs="0" maxOccurs="unbounded"/><!-- Her er fejlen jeg gerne vil have rettet -->
                               
                                    </xs:sequence>
                                    <xs:attribute name="id" type="xs:string" use="required" />
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:simpleType name="state">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-1]" />
        </xs:restriction>
    </xs:simpleType>
</xs:schema>
__________________________________________________________________

Mit problem er at når jeg validerer vil jeg gerne have at XSD skemaet ved hjælp af <xs:any - tagget selv kan finde den ekstra node jeg har lagt ind, men dette fungerer ikke. Istedet får jeg denne fejl.

Error at (26,5): The 'http://tempuri.org/license.xsd:jonah' element is not declared. An error occurred at , (26, 5).

Håber I forstår hvad jeg mener og at I kan hjælpe mig.

Hilsen Jakob
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