Start
Methodik
Unternehmen



Comelio GmbHBerlin
Fon: +49(0)30-3640339-80
Fax: +49(0)30-3640339-89
info@comelio.com

Comelio GmbHEssen
Fon: +49(0)201-437517-0
Fax: +49(0)201-437517-10
info@comelio.com

Comelio GmbHMünchen
Fon: +49(0)89-38156860-0
Fax: +49(0)89-38156860-9
info@comelio.com

Comelio GmbHWien
Fon: +43-720-2097-97
Fax: +43-720-2097-98
info@comelio.com

Comelio GmbHZürich
info@comelio.com










Comelio-Blog > Oracle > XDB: XML Schema

XML DB: XMLType und XML Schema

Der Datentyp XMLType der XML-Datenbank Oracle XDB bietet nicht nur einfache Möglichkeiten zur XSLT-Transformation, sondern auch ein Unterprogramm für die Validierung der enthaltenen Daten mit XML Schema. Dieser kurze Artikel soll dieses spezielle Unterprogramm vorführen.

Kontakt

Anrede* Herr Frau
Vorname*
Nachname*
Firma
E-Mail*
Tel-Nr.
Bereich*
Freitext

Oracle XDB: Validierung von XMLType mit XML Schema

Die gleiche Vereinfachung wie für die Transformation ist auch für die Validierung mit Hilfe von XML Schema möglich. Hier kann man mit Hilfe der Methode isSchemaValid() herausfinden, ob eine XML-Datei in Hinblick auf das angegebene Schema gültig ist. Zusätzlich lässt sich mit isSchemaBased() herausfinden, ob für das angegebene XML-Dokument ein Schema vorliegt bzw. eine Schema-Verknüpfung vorhanden ist. Dann lässt sich mit getSchemaURL() genau diese Verknüpfung aus einem XML-Dokument filtern.

Die allgemeinte Syntax XMLIsValid ( XMLType_inst [, schemaurl [, elem]]) zeigt, dass neben dem XML-Dokument die Schema-URL für die XML Schema-Datei und – bei mehrdeutigen Wurzelelementen im Schema – das Wurzelelement des Instanzdokuments angegeben werden können

.

Auch hier lässt sich leicht eine PL/SQL-Variante vorstellen, in der nicht Spaltenwerte, sondern Variablenwerte auf Gültigkeit geprüft werden und die benötigten Variablen für XML Schema und XML selbst jeweils als XMLType-Daten vorliegen.

-- Werte einfügen
INSERT INTO termin_d VALUES(1015068, XMLType('<Termin Nr="498">
  <Beginn>10.06.03</Beginn>
  <Ende>13.06.03</Ende>
  <Kurs>1015068</Kurs>
</Termin>'),
XMLType('<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="Termin">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Beginn" type="xs:string"/>
        <xs:element name="Ende" type="xs:string"/>
        <xs:element name="Kurs" type="xs:int"/>
      </xs:sequence>
      <xs:attribute name="Nr" type="xs:short" use="required"/>
    </xs:complexType>
  </xs:element>
</xs:schema>
'));
/
SELECT XMLIsValid(t_xml, t_schema), t_xml, t_schema
 FROM termin_d;

    Comelio GmbH Oracle XDB: XML DB - XML Schema XMLType Programmierung Programmierung Anleitung Manual Java Tutorial XML Datenbank-Entwicklung SQLJ Oracle PL/SQL -Comelio GmbH Oracle XDB: XML DB - XML Schema XMLType Programmierung Programmierung Anleitung Manual Java Tutorial XML Datenbank-Entwicklung SQLJ Oracle PL/SQL -Comelio GmbH Oracle XDB: XML DB - XML Schema XMLType Programmierung Programmierung Anleitung Manual Java Tutorial XML Datenbank-Entwicklung SQLJ Oracle PL/SQL -Comelio GmbH Oracle XDB: XML DB - XML Schema XMLType Programmierung Programmierung Anleitung Manual Java Tutorial XML Datenbank-Entwicklung SQLJ Oracle PL/SQL -Comelio GmbH Oracle XDB: XML DB - XML Schema XMLType Programmierung Programmierung Anleitung Manual Java Tutorial XML Datenbank-Entwicklung SQLJ Oracle PL/SQL -Comelio GmbH Oracle XDB: XML DB - XML Schema XMLType Programmierung Programmierung Anleitung Manual Java Tutorial XML Datenbank-Entwicklung SQLJ Oracle PL/SQL -Comelio GmbH Oracle XDB: XML DB - XML Schema XMLType Programmierung Programmierung Anleitung Manual Java Tutorial XML Datenbank-Entwicklung SQLJ Oracle PL/SQL -Comelio GmbH Oracle XDB: XML DB - XML Schema XMLType Programmierung Programmierung Anleitung Manual Java Tutorial XML Datenbank-Entwicklung SQLJ Oracle PL/SQL -Comelio GmbH Oracle XDB: XML DB - XML Schema XMLType Programmierung Programmierung Anleitung Manual Java Tutorial XML Datenbank-Entwicklung SQLJ Oracle PL/SQL -