Start
Unternehmen
ERP / PPS / Prozesse
Business Intelligence
Server-Technologien
Software-Technologien
Technologie-Beratung
Individual-Software
Produkte

Comelio GmbH
Am Fischhof 3
A-1010 Wien
Österreich
Fon: +43-720-2097-97
Fax: +43-720-2097-98
info@comelio.com

Comelio GmbH (Ecos)
Stiglmaierplatz/Dachauer Str. 37
D-80335 München
Deutschland
info@comelio.com

Comelio GmbH
Rellinghauser Straße 10
D-45128 Essen
Deutschland
Fon: 0201-437517-0
Fax: 0201-437517-10
info@comelio.com

Comelio GmbH
Goethestraße 34
D-13086 Berlin
Deutschland
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 Java SQLJ Datenbank-Entwicklung Manual Oracle Anleitung PL/SQL XML Programmierung Tutorial _Comelio GmbH Oracle XDB: XML DB - XML Schema XMLType Programmierung Java SQLJ Datenbank-Entwicklung Manual Oracle Anleitung PL/SQL XML Programmierung Tutorial _Comelio GmbH Oracle XDB: XML DB - XML Schema XMLType Programmierung Java SQLJ Datenbank-Entwicklung Manual Oracle Anleitung PL/SQL XML Programmierung Tutorial _Comelio GmbH Oracle XDB: XML DB - XML Schema XMLType Programmierung Java SQLJ Datenbank-Entwicklung Manual Oracle Anleitung PL/SQL XML Programmierung Tutorial _Comelio GmbH Oracle XDB: XML DB - XML Schema XMLType Programmierung Java SQLJ Datenbank-Entwicklung Manual Oracle Anleitung PL/SQL XML Programmierung Tutorial _Comelio GmbH Oracle XDB: XML DB - XML Schema XMLType Programmierung Java SQLJ Datenbank-Entwicklung Manual Oracle Anleitung PL/SQL XML Programmierung Tutorial _Comelio GmbH Oracle XDB: XML DB - XML Schema XMLType Programmierung Java SQLJ Datenbank-Entwicklung Manual Oracle Anleitung PL/SQL XML Programmierung Tutorial _Comelio GmbH Oracle XDB: XML DB - XML Schema XMLType Programmierung Java SQLJ Datenbank-Entwicklung Manual Oracle Anleitung PL/SQL XML Programmierung Tutorial _Comelio GmbH Oracle XDB: XML DB - XML Schema XMLType Programmierung Java SQLJ Datenbank-Entwicklung Manual Oracle Anleitung PL/SQL XML Programmierung Tutorial _
Seminare