verwendetes Datenbanksystem: XML Schema
Hallo zusammen,
ich stehe momentan vor dem Problem das ich XML-Serialisierte Typen in meiner Konfiguration speichern möchte.
Soweit ist das ja kein Problem, nun will ich aber die Konfiguration mit einem Schema überprüfen.
Nun stehe ich vor der Aufgabe das ich im Schema irgendwie festlegen muss das die Childs eines bestimmten Elementes alles sein dürfen.
Laut dem was ich gelesen habe funktioniert das ganze mit "xs:any".
Leider bekomme ich dennoch Schema Validierungsfehler (im Beispiel bei Point und Size).
Was mache ich falsch?
Beispiel XML
<configuration>
<section name="AssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
<value name="ApplicationLocation" version="0" lastchanged="29.03.2008 16:09:24">
<Point xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <X>-1422</X> <Y>101</Y></Point>
</value>
<value name="ApplicationSize" version="0" lastchanged="29.03.2008 16:09:24">
<Size xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Width>1029</Width> <Height>735</Height></Size>
</value>
</section>
</configuration>
das Schema:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="configuration">
<xs:complexType>
<xs:sequence>
<xs:element name="section" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="value" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="version" type="xs:decimal" use="required" />
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="lastchanged" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="version" type="xs:decimal" use="required" />
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:schema>
Danke schonmal für eure Hilfe!
mfG Markus
Hallo!
Zumindest sollte im xs:any-Tag noch namespace="##other" oder "##any" stehen.
Evtl. muss auch noch proccessContents auf Skip gestellt werden.
Nobody is perfect. I'm sad, i'm not nobody 🙁