<?xml version="1.0" ?>
<!--
XData Schema
Version : 3.0
Author : JoJo
Document Mode : Release
Release Date : 11/9/2004
-->
<xs:schema targetNamespace="urn:schemas-tksoft-com:xdata" elementFormDefault="qualified" attributeFormDefault="qualified"
xmlns="urn:schemas-tksoft-com:xdata" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="XData">
<xs:complexType>
<xs:sequence>
<!-- 全局参数 -->
<xs:element name="Options" type="Options" minOccurs="0" />
<!-- 连接器 -->
<xs:element name="Connector" minOccurs="0" type="Connector"></xs:element>
<!-- 查询,查询返回结果集 -->
<xs:element name="Query" type="Query" minOccurs="0" maxOccurs="unbounded" />
<!-- 命令,命令只返回是否成功 -->
<xs:element name="Command" type="Command"></xs:element>
<!-- 全局结构映射 -->
<xs:element name="StructMap" type="StructMap" minOccurs="0" />
<!-- 脚本:未实现 -->
<xs:element name="Script" minOccurs="0" maxOccurs="unbounded" type="Script"></xs:element>
</xs:sequence>
<xs:attribute name="version" type="xs:string" default="3.0" />
</xs:complexType>
</xs:element>
<!-- 结构映射 -->
<xs:complexType name="StructMap">
<xs:sequence>
<xs:element name="Field" type="Field" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<!-- 调用参数集合 -->
<xs:complexType name="Parameters">
<xs:sequence>
<xs:element name="Parameter" type="Parameter" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<!-- 调用参数 -->
<xs:complexType name="Parameter">
<xs:attribute name="Name" type="xs:string" />
<xs:attribute name="DefaultValue" type="xs:string" />
<xs:attribute name="FormMap" type="xs:string" />
<!-- 新增:索引映射 [3.0] -->
<xs:attribute name="Index" type="xs:int" />
</xs:complexType>
<xs:complexType name="Options">
<xs:attribute name="PageMode" type="xs:boolean" />
<xs:attribute name="PageSize" type="xs:integer" />
<xs:attribute name="PageMap" type="xs:string" default="page" />
<xs:attribute name="RootTag" type="xs:string" default="Dataset" />
<xs:attribute name="RecordTag" type="xs:string" default="Record" />
</xs:complexType>
<!-- 查询 -->
<xs:complexType name="Query">
<xs:sequence>
<xs:element name="SQL" type="xs:string" minOccurs="0" />
<xs:element name="Parameters" type="Parameters" minOccurs="0" maxOccurs="unbounded" />
<!-- 新增:私有结构映射 [3.0]-->
<xs:element name="StructMap" type="StructMap" />
</xs:sequence>
<xs:attribute name="Name" type="xs:string" />
<xs:attribute name="PageMode" type="xs:boolean" />
<xs:attribute name="PageSize" type="xs:integer" />
<xs:attribute name="UseGlobalStructMap" type="xs:boolean" default="true" />
<!-- 新增:查询结果集根标记 [3.0] -->
<xs:attribute name="Tag" type="xs:string" />
</xs:complexType>
<!-- 字段映射 -->
<xs:complexType name="Field">
<xs:attribute name="Name" type="xs:string" />
<xs:attribute name="Tag" type="xs:string" />
<xs:attribute name="Ref" type="xs:integer" default="1" />
<xs:attribute name="Format" type="xs:string" />
</xs:complexType>
<!-- 新增:命令 [3.0] -->
<xs:complexType name="Command">
<xs:sequence>
<xs:element name="SQL" type="xs:string" />
<xs:element name="Parameters" type="Parameters" />
</xs:sequence>
<xs:attribute name="Name" type="xs:string" />
</xs:complexType>
<!-- 连接器 -->
<xs:complexType name="Connector">
<xs:attribute name="src" type="xs:string" />
</xs:complexType>
<!-- 脚本 [3.0 未实现]-->
<xs:complexType name="Script">
<xs:attribute name="language" type="xs:string" />
<!-- 新增:事件响应处理句柄 [3.0] -->
<xs:attribute name="event" type="xs:string" />
</xs:complexType>
</xs:schema>