2013-09-23 32 views
3

我試圖移植MS SQL腳本以在PostGreSQL中執行。它使用的定義如下XML架構集合腳本:如何根據PostgreSQL中的XSD驗證XML變量

CREATE XML SCHEMA COLLECTION [MySchema] AS N'<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> 
<xsd:element name="MyRootElement"> 
<xsd:complexType> <xsd:complexContent> <xsd:restriction base="xsd:anyType"> <xsd:sequence> <xsd:element name="Child1" minOccurs="0"> <xsd:complexType> <xsd:complexContent> <xsd:restriction base="xsd:anyType"> <xsd:sequence> 
    . 
    . 

我可以轉換成該XML模式類型在PostgreSQL中使用?所以我可以使用存儲過程xml類型輸入參數驗證的定義。如果不是,我如何確保輸入參數具有所需的模式?

,我讀了The xml type does not validate input values against a document type declaration (DTD), even when the input value specifies a DTD. There is also currently no built-in support for validating against other XML schema languages such as XML Schema

回答

1

我會寫一個自定義函數(在PL/Perl或PL/Python的可能),做必要的驗證,並鉤住使用檢查約束列。