以下の問合わせでは、customerXMLText列に格納されているテキスト表現に基づいて、XML型インスタンスが作成されます。その列の型としては、VARCHARまたはCLOBが可能です。
SELECT customerID, CREATEXML(customerXMLText) FROM customerText;
この問合わせの結果の一部を以下に示します。省略記号(...)は、問合わせ結果の一部ではありません。これは、問合わせからさらに結果が返されるが、この例では省略されていることを示しています。
customerID CREATEXML(customerXMLText) ----------- ----------------------------------------------------------- 1 <?xml version="1.0" encoding="UTF-8" ?> <Customer> <Name>John Hancock</Name> <Address>100 1st Street, San Francisco, CA 94118</Address> <Phone1>(858)555-1234</Phone1> <Phone2>(858)555- ...
XML型インスタンスが作成されたら、さまざまなXML処理操作をそのインスタンスに対して呼び出すことができます。
SELECT customerID, CREATEXML(customerXMLText).XMLEXTRACT('/Customer/Address', NULL) FROM customerText;
問合わせの結果:
customerID CREATEXML(customerXMLText).XMLEXTRACT('/Customer/Address', NULL) ----------- ---------------------------------------------------------------- 1 <Address>100 1st Street, San Francisco, CA 94118</Address>
SELECT customerID, CREATEXML(customerXMLText).ISSCHEMAVALID(schematab.schemaContent, 'Customer', NULL) FROM customerText, schematab WHERE schematab.schemaid = 'customerschema.xsd';
問合わせの結果:
customerID CREATEXML(customerXMLText).ISSCHEMAVALID(schemaContent, 'Customer', NULL) ---------- ------------------------------------------------------------------------ 1 1