 |
 |
 |
 |
 |
 |
|
 |
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
|
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 -
|
 |