参考:存储过程配置规范文档

下载 XML Schema

这个XML Schema文档限定了编写存储过程配置文件所需要遵守的规范。在IDE中使用能简化编写过程并校验配置文件,可以智能提示及实时的错误提示,如下所示:

使用方式:在配置文件的命名空间中引用此XML Schema文件即可,可参考存储过程配置示例文件

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://www.dist.com.cn"
           xmlns="http://www.dist.com.cn"
           xmlns:dist="http://www.dist.com.cn"
           elementFormDefault="qualified">
    <xs:element name="procedures">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="datasource" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:all>
                            <xs:element name="driver" type="DistString" />
                            <xs:element name="url" type="DistString" />
                            <xs:element name="username" type="DistString" />
                            <xs:element name="password" type="DistString" />
                        </xs:all>
                        <xs:attribute name="src" type="DistString" use="optional" />
                    </xs:complexType>
                </xs:element>
                <xs:element name="procedure" type="procedure" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
        <xs:unique name="UNIQUEID">
            <xs:selector xpath="dist:procedure" />
            <xs:field xpath="@id" />
        </xs:unique>
    </xs:element>
    <xs:complexType name="procedure">
        <xs:all>
            <xs:element name="desc" type="DistString" minOccurs="0"/>
            <xs:element name="proName" type="DistString"/>
            <xs:element name="executeClass" type="DistString" minOccurs="0"/>
            <xs:element name="executeMethod" type="DistString" minOccurs="0"/>
            <xs:element name="parameters" type="parameters"/>
        </xs:all>
        <xs:attribute name="id" use="required" type="DistString" />
    </xs:complexType>
    <xs:complexType name="parameters">
        <xs:sequence>
            <xs:element name="parameter" type="parameter" maxOccurs="unbounded" minOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="parameter">
        <xs:sequence>
           <xs:element name="rule" type="RuleType" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="name" type="DistString" use="required"/>
        <xs:attribute name="type" type="InOutType" use="required"/>
        <xs:attribute name="dataType" type="DataType" use="required" />
        <xs:attribute name="format" type="DistString" use="optional" />
        <xs:attribute name="vo" type="DistString" use="optional" />
    </xs:complexType>
    <xs:complexType name="RuleType">
        <xs:attribute name="ruleFile" type="DistString" use="required" />
        <xs:attribute name="group" type="DistString" use="optional" />
        <xs:attribute name="filterKey" type="DistString" use="optional" />
        <xs:attribute name="filterType" type="FilterType" use="optional" />
    </xs:complexType>
    <xs:simpleType name="DistString">
        <xs:restriction base="xs:string">
            <xs:whiteSpace value="replace" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="InOutType">
        <xs:restriction base="DistString">
            <xs:enumeration value="in" />
            <xs:enumeration value="out" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DataType">
        <xs:restriction base="DistString">
            <xs:enumeration value="varchar" />
            <xs:enumeration value="number" />
            <xs:enumeration value="date" />
            <xs:enumeration value="cursor" />
            <xs:enumeration value="clob" />
            <xs:enumeration value="blob" />
            <xs:enumeration value="integer" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="FilterType">
        <xs:restriction base="DistString">
            <xs:enumeration value="START" />
            <xs:enumeration value="END" />
            <xs:enumeration value="CONTAIN" />
            <xs:enumeration value="EQUAL" />
            <xs:enumeration value="EQUALIGNORECASE" />
            <xs:enumeration value="REGEX" />
        </xs:restriction>
    </xs:simpleType>
</xs:schema>

results matching ""

    No results matching ""