AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Funktion und Sinn von XML Schemata

Ein Thema von Luckie · begonnen am 21. Feb 2008 · letzter Beitrag vom 22. Feb 2008
Antwort Antwort
Seite 3 von 3     123
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#21

Re: Funktion und Sinn von XML Schemata

  Alt 22. Feb 2008, 13:05
War Käse, was ich geschrieben habe.

Ich wollte das ganze jetzt etwas erweitern:
XML-Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<verlag xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="verlag02.xsd">
  <buch>
    <titel>Der Duden</titel>
    <autor>Dieter Duderich</autor>
    <erschdat>1987</erschdat>
    <isbn>3-86680-192-9</isbn>
  </buch>
  <buch>
    <titel>Pflanzen</titel>
    <autor>Paul Pflanzer</autor>
    <erschdat>1996</erschdat>
    <isbn>3-12656-189-9</isbn>
  </buch>
</verlag>
Dazu habe ich mir folgendes Schema erstellt:
XML-Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="verlag">
    <xs:sequence>
      <xs:complexType name="buch">
        <xs:sequence>
          <xs:element name="titel" type="xs:string"/>
          <xs:element name="autor" type="xs:string"/>
          <xs:element name="erschdat" type="xs:string"/>
          <xs:element name="isbn" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
    </xs:sequence>
  </xs:element>
</xs:schema>
In Zeile vier sagt er mir:
Zitat:
Encountered child was not expected


So muss es aussehen:
XML-Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="ctbuch">
    <xs:sequence>
      <xs:element name="titel" type="xs:string"/>
      <xs:element name="autor" type="xs:string"/>
      <xs:element name="erschdat" type="xs:string"/>
      <xs:element name="isbn" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="verlag">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="buch" type="ctbuch" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#22

Re: Funktion und Sinn von XML Schemata

  Alt 22. Feb 2008, 14:12
Zitat von Luckie:
Zitat:
Encountered child was not expected
VS ist da ein _wenig_ ausführlicher :
Zitat:
Warning The element 'element' in namespace 'http://www.w3.org/2001/XMLSchema' has invalid child element 'sequence' in namespace 'http://www.w3.org/2001/XMLSchema'. List of possible elements expected: 'annotation, simpleType, complexType, unique, key, keyref' in namespace 'http://www.w3.org/2001/XMLSchema'.
So funktioniert es auch ohne benannten complexType:
XML-Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <xs:element name="verlag">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="buch" maxOccurs="unbounded">
               <xs:complexType>
                  <xs:sequence>
                     <xs:element name="titel" type="xs:string"/>
                     <xs:element name="autor" type="xs:string"/>
                     <xs:element name="erschdat" type="xs:string"/>
                     <xs:element name="isbn" type="xs:string"/>
                  </xs:sequence>
               </xs:complexType>
            </xs:element>
         </xs:sequence>
      </xs:complexType>
   </xs:element>
</xs:schema>
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#23

Re: Funktion und Sinn von XML Schemata

  Alt 22. Feb 2008, 14:39
Ah, danke. Wurde als alternative aufgenommen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.902 Beiträge
 
Delphi 2010 Professional
 
#24

Re: Funktion und Sinn von XML Schemata

  Alt 22. Feb 2008, 16:47
Zitat von Luckie:
Ah, danke. Wurde als alternative aufgenommen.
Das VisualStudio hat einen ziemlich coolen XSD Designer.
Damit kannst du dir schnell mal ein Dokumentenformat zusammen klicken. Ich nutze das Ding schon seit Jahren .
Du kannst auch einfach eine XML im studio öffnen und dir aus der XML ein XSD geneieren lassen, was du dann als Fundament nehmen kannst.
Ich habe mal Klarabellas () Version damit etwas aufgewertet:
XML-Code:
<?xml version="1.0" encoding="iso-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="www.luckie.de/BuchBleistift"
           xmlns:bv="www.luckie.de/BuchBleistift"
           elementFormDefault="qualified">
  <xs:element name="verlag">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="buch"
                    maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="titel"
                          type="xs:string" />
              <xs:element name="autor">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="erschdat"
                          type="xs:date" />
              <xs:element name="isbn"
                          type="bv:isbnType">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:simpleType name="isbnType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9]{3}[-][0-9]{3}[-][0-9]{3}" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
Aber IMO sind da zu viele Elemente. Die ISBN und das Datum hätten Attribute sein können, Titel und Author eigentlich auch...
Und wer so dumme, abgekürzte Bezeichner wie "erschtdat" in ein wirkliches Schema packen würde (nicht wie hier einen Bleistift), gehört in den Knast...

Und zum Validieren in deinem Code kannst du dir mal die Klasse XmlSchemaSet ansehen.
Miniaturansicht angehängter Grafiken
schema_568.png  
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#25

Re: Funktion und Sinn von XML Schemata

  Alt 22. Feb 2008, 21:15
Dank dir auch noch mal für deine Mühe, aber das kann XMLPad auch. Aber gut, dass du das mit dem VS erwähnst. Dann kann ich jetzt schon zwei Programm erwähnen die man als Editoren nutzen kann.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf