私はスキーマに対してXMLタイプ・ファイルを検証するPL/SQLプロシージャを作成しています。 XML文書は、Oracleデータベースに、XML_TABLE
のXMLType表に、単一の列であるSYS_NC_ROWINFO$
に格納されます。私が使用したいスキーマは、XMLスキーマ(CLOB)と同じOracleデータベースにも含まれており、そのURLはStructuredProductsXMLSchema0v0.1.49.xsd
です。Oracle PL/SQLでXMLスキーマを使用してXML文書を検証しますか?
現時点では、可能な限り単純な方法を使用して、XMLドキュメントの1つ(したがって、以下のコードでrownum = 1
)を検証するだけです。以下は、私が作成した手順です:残念ながら
create or replace procedure XML_FILE_VALIDATOR is
XDATA XMLType;
begin
select SYS_NC_ROWINFO$ into XDATA
from XML_TABLE
where rownum = 1;
XDATA.isSchemaValid('StructuredProductsXMLSchema0v0.1.49.xsd');
if XDATA.isSchemaValid = 1 then
dbms_output.put_line ('XML document is VALID');
else
dbms_output.put_line ('XML document is INVALID => '||sqlerrm);
end if;
end;
、私はエラーメッセージを取得しています:
PLS-00221: 'ISSCHEMAVALIDは' 手続きではありませんか
すべてのヘルプを定義されていませんこの問題を解決することは非常に感謝しています。
'XDATA.isSchemaValid(「<*.xsd>」)は'関数ではなく手続きである、あなたは、返信@SudiptaMondalための変数 –
のおかげで、その値を保存する必要があります - どのように私は自分のコードにこれを実装することができますか? –