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 Fon: 030-921019-85 Fax: 030-921019-89 info@comelio.com
Comelio GmbH (Ecos) Glockengießerwall 17 D-20095 Hamburg Deutschland Fon: 040-4689908-91 Fax: 040-4689908-95 info@comelio.com
Comelio GmbH (Ecos) Mainzer Landstraße 27-31 D-60329 Frankfurt Deutschland Fon: 069-2475030-35 Fax: 069-2475030-39 info@comelio.com
Comelio GmbH (Ecos) Stiglmaierplatz/Dachauer Str. 37 D-80335 München Deutschland Fon: 089-2000154-90 Fax: 089-2000154-94 info@comelio.com
Comelio GmbH (Ecos) Liebknechtstr. 33 D-70565 Stuttgart Deutschland Fon: 0711-252534-20 Fax: 0711-252534-24 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
|
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;
XML Consulting Oracle XDB: XML DB - XML Schema XMLType Programmierung XML Consulting Oracle XDB: XML DB - XML Schema XMLType Programmierung XML Consulting Oracle XDB: XML DB - XML Schema XMLType Programmierung XML Consulting Oracle XDB: XML DB - XML Schema XMLType Programmierung XML Consulting Oracle XDB: XML DB - XML Schema XMLType Programmierung XML Consulting Oracle XDB: XML DB - XML Schema XMLType Programmierung XML Consulting Oracle XDB: XML DB - XML Schema XMLType Programmierung XML Consulting Oracle XDB: XML DB - XML Schema XMLType Programmierung XML Consulting Oracle XDB: XML DB - XML Schema XMLType Programmierung |