lqxue

常用链接

统计

book

tools

最新评论

#

提供 CheckBox 全選與取消全選

前言

  提供 CheckBox 全選與取消全選

方法

<script language="JavaScript">
function chkall(input1,input2)
{
    var objForm = document.forms[input1];
    var objLen = objForm.length;
    for (var iCount = 0; iCount < objLen; iCount++)
    {
        if (input2.checked == true)
        {
            if (objForm.elements[iCount].type == "checkbox")
            {
                objForm.elements[iCount].checked = true;
            }
        }
        else
        {
            if (objForm.elements[iCount].type == "checkbox")
            {
                objForm.elements[iCount].checked = false;
            }
        }
    }
}
</script>

<form id="form1">
<input type="checkbox" value='全部選取' onclick='chkall("form1",this)' name=chk><BR>
<input type="checkbox" name="item_001" value="1">1<BR>
<input type="checkbox" name="item_002" value="2">2<BR>
<input type="checkbox" name="item_003" value="3">3<BR>
<input type="checkbox" name="item_003" value="4">4
</form>

posted @ 2007-07-17 19:17 lqx 阅读(273) | 评论 (0)编辑 收藏

[收藏]Volo view Activex control

由于用dwg trueview 把dwg embed在ie中有点问题,所以换了一个activex控件,下面是一个用volo view activex control 显示.dwg的例子;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<object id = "dwgViewerCtrl1"
classid = "clsid:8718C658-8956-11D2-BD21-0060B0A12A50" border = "1" width = "100%" height = "100%">
    <param name = "src" value="dwgView_files\\1TYB6.DWG">
</object>  
</BODY>
</HTML>


http://discussion.autodesk.com/thread.jspa?threadID=261210

posted @ 2007-07-10 15:20 lqx 阅读(774) | 评论 (1)编辑 收藏

some resources of html or javascript

javascript 工具比较:http://mootools.net/slickspeed/

posted @ 2007-07-09 10:54 lqx 阅读(211) | 评论 (0)编辑 收藏

[收藏]有关MYSQLDUMP的详细解释

http://www.phpchina.com/viewnews_11459.html

、如果是以前导出的文件,导入的时候遇到错误:

  Got a packet bigger than ‘max_allowed_packet’ bytes

  or

  ERROR 1153 (08S01) at line 616: Got a packet bigger than ‘max_allowed_packet’ by

  tes

  就需要修改mysql的最大允许包大小了,编辑my.ini,在[mysqld]部分(不在这部分没用)添加一句:

  set-variable=max_allowed_packet=10485760

  重启mysql服务就可以了,我这里设置的是大约10M。

posted @ 2007-07-09 10:18 lqx 阅读(250) | 评论 (0)编辑 收藏

Inserting objects into HTML

http://www.w3.org/TR/WD-object-970218

posted @ 2007-07-08 15:09 lqx 阅读(172) | 评论 (0)编辑 收藏

如何把数据库中的dwf(cad图形)显示到网页上

利用AutoDesk DWF viewer 插件,可以把物理地址上的.dwf文件显示到一个html页面中,方法如下:
<object id = "viewer"
classid = "clsid:A662DA7E-CCB7-4743-B71A-D817F6D575DF">
<param name = "Src" value="D:\Drawings\Dwfs\New.dwf">
</object>

<object id = "viewer"
classid = "clsid:A662DA7E-CCB7-4743-B71A-D817F6D575DF"CODEBASE="http://www.autodesk.com/global/dwfviewer/installer/DwfViewerSetup.cab"

border = "1"

width = "950"

height = "600">

<param name = "Src" value="my.dwf">

</object>

posted @ 2007-07-08 11:29 lqx 阅读(2420) | 评论 (0)编辑 收藏

HRESULT 类型

大多数 COM 函数以及一些接口成员函数的返回值类型均为 HRESULT 类型。HRESULT 类型的返回值反映了函数中的一些情况,其类型定义规范如下:

   31 30 29 28                    16 15                                0
  |-----|--|------------------------|-----------------------------------|

类别码 (30-31) 反映函数调用结果:
                00 调用成功
                01 包含一些信息
                10 警告
                11 错误
自定义标记(29) 反映结果是否为自定义标识,1 为是,0 则不是;
操作码 (16-28) 标识结果操作来源,在 Windows 平台上,其定义如下:
                #define FACILITY_WINDOWS         8
                #define FACILITY_STORAGE         3
                #define FACILITY_RPC             1
                #define FACILITY_SSPI            9
                #define FACILITY_WIN32           7
                #define FACILITY_CONTROL         10
                #define FACILITY_NULL            0
                #define FACILITY_INTERNET        12
                #define FACILITY_ITF             4
                #define FACILITY_DISPATCH        2
                #define FACILITY_CERT            11
操作结果码(0-15) 反映操作的状态,WinError.h 定义了 Win32 函数所有可能返回结果。
                以下是一些经常用到的返回值和宏定义:
                S_OK            函数执行成功,其值为 0 (注意,其值与 TRUE 相反)
                S_FALSE         函数执行成功,其值为 1
                S_FAIL          函数执行失败,失败原因不确定
                E_OUTOFMEMORY   函数执行失败,失败原因为内存分配不成功
                E_NOTIMPL       函数执行失败,成员函数没有被实现
                E_NOTINTERFACE  函数执行失败,组件没有实现指定的接口

不能简单地把返回值与 S_OK 和 S_FALSE 比较,而要用 SECCEEDED 和 FAILED 宏进行判断。



Trackback: http://tb.donews.net/TrackBack.aspx?PostId=741200


posted @ 2007-07-05 10:32 lqx 阅读(319) | 评论 (0)编辑 收藏

[收藏]Spring 中 C3p0 connection pooling 的配置

Spring 的 DataSource bean 定义如下, 把可变的变量抽出放在db.properties file中, 方便修改 db.properties file只要放在当前项目的classes路径下,或放在Tomcat 的Shared/classes下, Spring 就可以找到
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
        <property name="driverClass">
            <value>${jdbc.driver}</value>
        </property>
        <property name="jdbcUrl">
            <value>${jdbc.url}</value>
        </property>
 
        <property name="acquireIncrement"><value>${hibernate.c3p0.acquire_increment}</value></property>
        <property name="idleConnectionTestPeriod"><value>${hibernate.c3p0.idle_test_period}</value></property>
        <property name="checkoutTimeout"><value>${hibernate.c3p0.timeout}</value></property>
        <property name="maxPoolSize"><value>${hibernate.c3p0.max_size}</value></property>
        <property name="minPoolSize"><value>${hibernate.c3p0.min_size}</value></property>
        <property name="maxStatements"><value>${hibernate.c3p0.max_statements}</value></property>
        <property name="initialPoolSize"><value>${hibernate.c3p0.min_size}</value></property>
        <property name="user"><value>${jdbc.username}</value></property>
        <property name="password"><value>${jdbc.password}</value></property>
    </bean>

db.properties 如下
 jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/zyw?useUnicode=true&characterEncoding=GBK
jdbc.username=root
jdbc.password=root
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.show_sql=true
hibernate.format_sql=false
hibernate.c3p0.min_size=80
hibernate.c3p0.max_size=80
hibernate.c3p0.timeout=3000
hibernate.c3p0.max_statements=6000
hibernate.c3p0.idle_test_period=3000
hibernate.c3p0.acquire_increment=5


下面是一些可供使用的项:
maxIdleTime:<!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
acquireIncrement:<!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
 maxStatements:<!--JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements
                             属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。
                             如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0-->
idleConnectionTestPeriod:<!--每60秒检查所有连接池中的空闲连接。Default: 0 -->
acquireRetryAttempts: <!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->
breakAfterAcquireFailure: <!--获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效
                                            保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试
                                             获取连接失败后该数据源将申明已断开并永久关闭。Default: false-->
 testConnectionOnCheckout:<!--因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的
  时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable
  等方法来提升连接测试的性能。Default: false -->

posted @ 2007-07-03 21:24 lqx 阅读(1263) | 评论 (0)编辑 收藏

[收藏]XML Schema 与 XML DTD的技术比较与分析


未显示需要 JavaScript 的文档选项






级别: 初级

周竞涛 (zhoujtnet@yahoo.com.cn)西北工业大学CAD/CAM国家专业实验室
王明微 (wangmv@hotmail.com)西北工业大学CAD/CAM国家专业实验室

2002 年 7 月 01 日

XML DTD是目前使用最广泛的一种XML 模式,XML Schema则已经成为W3C的正式推荐标准,并有替代XML DTD的趋势。那么,从技术角度看,XML Schema与XML DTD有那些区别,XML Schema又有那些优势呢?

引言

XML DTD(XML的文档类型定义)是近几年来XML技术领域所使用的最广泛的一种模式。但是,由于XML DTD并不能完全满足XML自动化处理的要求,例如不能很好实现应用程序不同模块间的相互协调,缺乏对文档结构、属性、数据类型等约束的足够描述等等,所 以W3C于2001年5月正式推荐XML Schema为XML 的标准模式。显然,W3C希望以XML Schema来作为XML模式描述语言的主流,并逐渐代替XML DTD。那么XML Schema与XML DTD相比到底有哪些优势呢,XML DTD是否真的会在XML的模式描述领域中逐渐消失呢?





回页首


XML模式与XML格式

XML模式是指用来描述XML结构、约束等因素的语言,例如XML Schema、XML DTD、XDR,SOX等等。XML格式则是XML文档本身所具有的格式。本文以XML Schema来代表W3C所推荐的XML Schema模式标准,而以"XML模式"来代表所有的XML模式描述语言。

从 模式的描述语言来说,XML Schema和XML DTD都属于语法模式。与概念模式不同,语法模式在对同一事物描述时,可以采用不同的语法,例如在对关系模式描述时,无论是使用XML Schema还是XML DTD,都既可以用元素也可以用属性来描述关系模式的列。

模式必须以某种格式来表示,XML Schema的格式与XML DTD的格式有着非常明显的区别,XML Schema事实上也是XML的一种应用,也就是说XML Schema的格式与XML的格式是完全相同的,而作为SGML DTD的一个子集,XML DTD具有着与XML格式完全不同的格式。这种区别会给XML Schema的使用带来许多好处:

  1. XML用户在使用XML Schema的时候,不需要为了理解XML Schema而重新学习,节省了时间;
  2. 由于XML Schema本身也是一种XML,所以许多的XML编辑工具、API 开发包、XML语法分析器可以直接的应用到XML Schema,而不需要修改。
  3. 作为XML的一个应用,XML Schema理所当然的继承了XML的自描述性和可扩展性,这使得XML Schema 更具有可读性和灵活性。
  4. 由于格式完全与XML一样,XML Schema除了可以像XML一样处理外,也可以同它所描述的XML文档以同样的方式存储在一起,方便管理。
  5. XML Schema与XML格式的一致性,使得以XML为数据交换的应用系统之间,也可以方便的进行模式交换。
  6. XML有非常高的合法性要求,XML DTD对XML的描述,往往也被用作验证XML合法性的一个基础,但是XML DTD本身的合法性却缺少较好的验证机制,必需独立处理。XML Schema则不同,它与XML有着同样的合法性验证机制。




回页首


数据类型

或 许,对于许多开发人员来讲,XML Schema与XML DTD相比的一个最显著的特征,就是其对数据类型的支持了。这完全是因为XML DTD提供的数据类型只有CDATA 、Enumerated、NMTOKEN 、NMTOKENS等十种内置(built-in)数据类型。这样少的数据类型通常无法满足文档的可理解性和数据交换的需要。XML Schema则不同,它内置了三十七种数据类型,如long,int,short,double等常用的数据类型,并通过将数据类型表示为由value space、lexical space和facet三部分组成的三元组而获得更大的灵活性。但是, XML Schema数据类型的真正灵活性来自于其对用户自定义类型的支持。XML Schema提供两种方式来实现数据类型的定义。

1) 简单类型定义(simpleType),即在XML Schema内置的数据类型基础上或其它由XML Schema内置的数据类型继承或定义所得到的简单的数据类型(simpleType)基础上,通过restriction,list 或者 union方式定义新的数据类型。

例如:



源码1 restriction方式的定义
<simpleType name='Sku'>
<restriction base='string'>
<pattern value='\d{3}-[A-Z]{2}'/>
</restriction>
</simpleType>




源码2 list方式的定义
<simpleType name='listOfDouble'>
<list itemType='double'/>
</simpleType>




源码3 union方式的定义
<xsd:attribute name="size">
<xsd:simpleType>
<xsd:union>
<xsd:simpleType>
<xsd:restriction base="xsd:positiveInteger">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="12"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="month"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:union>
</xsd:simpleType>
</xsd:attribute>

2) 复合类型定义(complexType),该方法提供了一种功能强大的复杂数据类型定义机制,可以实现包括结构描述在内的复杂的数据类型。下面是一个以 complexType定义实现关系模式中表结构的例子,设有表T_C_Type(Psign,Count),其中Psign为CHAR数据类型, Count为NUMBER数据类型。则有:



源码4 complexType定义
<!--表结构类型定义-->
<complexType name="T_C_Type">
<sequence minOccurs="0" maxOccurs="unbounded">
<element name="Psign">
<complexType>
<simpleContent>
<restriction base="string">
<attribute name="value" type="string"/>
</restriction>
</simpleContent>
</complexType>
</element>
<element name="Count" minOccurs="0">
<complexType>
<complexContent>
<restriction base="anyType">
<attribute name="value" type="int" use="optional"/>
</restriction>
</complexContent>
</complexType>
</element>
</sequence>
</complexType>

不仅如此,XML Schema还允许元素的内容取空值,这一点可以扩大XML Schema对数据情况的描述范围,而XML DTD则无能为力。例如:



源码5 XML Schema 元素取空值的定义
<element name='test' nullable='true'/>





回页首


元素顺序的支持

XML DTD与XML Schema 都支持对子元素节点顺序的描述,但XML DTD没有提供对于无序情况的描述,也就是如果以XML DTD来描述元素的无顺序出现情况,它必须采用穷举元素各种可能出现的排列顺序的方式来实现,这种方法不仅繁琐,有时甚至是不现实的。例如对于table 的a,b子元素,如果希望它们以任意的顺序出现,用XML DTD来描述:



源码6 a,b子元素任意顺序出现的XML DTD定义
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT ENTER_NAME_OF_ROOT_ELEMENT_HERE EMPTY>
<!ELEMENT table ((a,b)|(b,a))>
<!ELEMENT a (#PCDATA)>
<!ELEMENT b (#PCDATA)>

XML Schema提供了<all>标记来描述这种情况:



源码7 a,b子元素任意顺序出现的XML Schema定义
<xsd:element name="a" type="xsd:string"/>
<xsd:element name="b" type="xsd:string"/>
<xsd:element name="table">
<xsd:complexType>
<xsd:all>
<xsd:element ref="a"/>
<xsd:element ref="b"/>
</xsd:all>
</xsd:complexType>
</xsd:element>

可见,用XML Schema来实现子元素的无序描述要简单的多。





回页首


命名空间

在XML中引入命名空间的目的是为了能够在一个XML文档中使用其它XML文档中的一些具有通用性的定义(通常是一些元素或数据类型等的定义),并保证不 产生语义上的冲突。XML DTD并不能支持这一特性,这进一步限制了XML DTD的适用范围。而XML Schema则很好的满足了这一点。

并 且, XML Schema还提供了include 和 import两种引用命名空间的方法。下面的例子中XML Schema文档引用了其它两个XML Schema的定义,通过使用import实现了混合使用不同命名空间的目的。例子中还定义了不同命名空间中元素之间的keyref约束。



源码8 XML Schema对命名空间的使用
schema targetNamespace="http://202.117.84.144"
xmlns:xs="http://202.117.84.144"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:a="http://202.117.84.228/middlewareSqlServer2000sqlservertest20211784228"
xmlns:b="http://202.117.84.228/middlewareOracle805ioracletest20211784144"
elementFormDefault="qualified">
<import namespace="http://202.117.84.228/middlewareSqlServer2000sqlservertest20211784228"
schemaLocation="F:\xml schema\middlewareSqlServer2000sqlservertest20211784228.xsd"/>
<import namespace="http://202.117.84.228/middlewareOracle805ioracletest20211784144"
schemaLocation="F:\xml schema\middlewareOrcal805ioracletest20211784144.xsd"/>
<annotation>
<documentation xml:lang="cn">
schema for Middleware
Copyright 2001 Zhou Jingtao. All rights reserved.
</documentation>
</annotation>
<element name="CombineDatabase">
<complexType>
<sequence>
<element name="CombinGlobeSchema">
<complexType>
<sequence>
<element ref="a:H-Database"/>
<element ref="b:H-Database"/>
</sequence>
</complexType>
<keyref name="SqlServerTest_T_C_Psign" refer="b:gz_jgxx_ID_pk">
<selector xpath="a:H-Database/a:SqlServerTest/a:T_C/a:Count"/>
<field xpath="@value"/>
</keyref>
</element>
</sequence>
</complexType>
</element>
</schema>





回页首


对于API的支持

在掌握和使用XML技术时,DOM和SAX可能是技术人员最常使用到的XML API。DOM和SAX只对XML实例文档有效,虽然可以通过它们实现以XML DTD来验证XML文档,但是DOM和SAX却没有提供解析XML DTD文档内容的功能,也就是说我们无法通过DOM或SAX来得到DTD中元素、属性的声明和约束的描述。但是在基于XML+DTD的数据交换过程中,一 些应用程序需要得到DTD本身的描述内容和结构,以方便对XML文档中数据的处理,例如在使用关系数据库存储XML 文档的过程中就涉及到如何将XML DTD映射为关系模式描述的问题。为了实现对XML DTD的解读,研究人员必须为XML DTD开发新的接口或者专用工具,带来了很大的不便。

由于XML Schema本身就是一个XML 文档,所以我们可以通过使用DOM、SAX或JDOM等XML API很容易的解析XML Schema,这就实现了XML文档与其描述模式处理方式的一致性,利于数据的传输和交换。





回页首


更加清晰的属性出现情况的限制、以及缺省值和枚举

XML DTD以关键字#IMPlIED、#FIXED和#REQUIRED来指定属性是否出现,并支持属性缺省值的定义。XML Schema则提供了更明确的标记来实现清晰易懂的表示。XML Schema废弃了XML DTD的#IMPlIED,不再支持属性的隐含状态,而要求必须给出明确的状态,并以prohibited来表示属性的禁用。对于缺省值的表达则更为直 观,用default来直接给出。



源码9 XML DTD 、XML Schema对属性出现情况的限制
<!ATTLIST TestDTD testAr1 CDATA  #IMPLIED>
<!ATTLIST TestDTD testAr2 CDATA #REQUIRED>
<!ATTLIST TestDTD testAr3 CDATA #FIXED "3">
<!ATTLIST TestDTD testAr4 CDATA "3">
<xsd:attribute name="TestAr1" type="xsd:string" use="optional" default="3"/>
<xsd:attribute name="TestAr2" type="xsd:string" use="prohibited"/>
<xsd:attribute name="TestAr3" type="xsd:string" use="required" fixed="3"/>

对于XML Schema在枚举方面的改进,请参见参考资料中"XML 问题 #7 W3C XML Schema 与文档类型定义 (DTD) 比较"一文(文献9)。





回页首


注释

XML DTD和XML Schema都支持<!-注释内容-->这样的注释方法,但是XML Schema提供了更灵活和有用的注释方式:documentation和appinfo。它们提供了面向读者和应用的注释。



源码10 XML Schema的注释
<xsd:annotation>
<xsd:documentation>面向用户和应用的注释</xsd:documentation>
<xsd:appinfo>
//这是一段C语言代码。
#include stdio.h
void main()
{
int i,j;
i =1;
j=i+1;
}
</xsd:appinfo>





回页首


对数据库的支持

目前如何将关系数据表示为XML数据和如何实现基于关系数据库的XML数据存储、查询和更新已经成为了研究的热点。Deutsh,Florescu [5],Kossman[5],Shanmugasundaram[6,7]和D W Lee[8]等人都在XML与关系数据的相互转化问题方面作了较深入的研究。然而由于XML Schema成为正式推荐标准的时间较晚,加之XML DTD语法相对简单,所以现在大部分的研究和应用都是基于XML DTD展开的。但是,XML DTD在对关系数据的描述方面明显存在着不足,例如XML DTD有限的数据类型根本无法完成对关系数据数据类型的一一映射,也无法实现大部分的数据规则的描述。XML Schema提供了更多的内建数据类型,并支持用户对数据类型的扩展,基本上满足了关系模式在数据描述上的需要,这一点可以作为XML Schema比XML DTD更适合描述关系数据的一个主要的原因。





回页首


一个结论

通过比较,可以看出,XML Schema比XML DTD具有更强的表现力,能够更好的满足不同领域应用的需求。那么,是不是可以说XML DTD会很快被XML Schema替代并最终消失呢。从作者的观点来看,XML Schema虽然在大多数的应用领域都有替代XML DTD的趋势,但是XML DTD仍然有它的适用范围,并不可能被XML Schema完全替代:

  • XML DTD是作为XML 标准的一部分发布的,W3C似乎并没有准备将其从XML标准中废除掉,对于XML DTD的支持还将持续。
  • 目 前大多数的面向XML应用,都对XML DTD做了很好的支持,XML DTD的工具也相对较为成熟,一般情况下,这些应用和工具并不会选择以XML Schema替换XML DTD的方式对其升级,更多的选择应该是二者都支持。当然,对于那些对数据交换或者描述能力要求较高、XML DTD已不能满足功能需求的应用来说,以XML Schema来代替XML DTD已经成为一种必然趋势。
  • 当前大多数与XML 模式相关的算法研究都是基于XML DTD展开的,作为一种研究的延续,并不会放弃XML DTD的研究成果,但是,针对XML Schema的研究将会成为一个新的热点。
  • 在一些相对要求简单的处理环境中,XML DTD仍然会占有它的一席之地。
  • 同其他技术的发展一样,由于新标准的出现,XML DTD的作用会逐渐减弱,但正如层次数据库在今天仍然在使用一样, 对XML Schema是否会完全替代XML DTD做一个结论似乎为时过早。

所以,作为一种强有力的标准,XML Schema作为XML模式的主流已经成为一种趋势;但作为一种最简单的XML模式,XML DTD也还将会在一段时间内发挥它应有的作用。



参考资料

  • Fallside D C. XML Schema Part 0: Primer. http://www.w3.org/TR/xmlschema-0, 2001.5 XML Schema 标准的总体介绍。

  • Thompson H,et al . XML Schema Part 1: Structures. http://www.w3.org/TR/xmlschema-1, 2001.5 XML Schema的结构标准

  • Biron P V, Malhotra A. XML Schema Part 2: Datatypes. http://www.w3.org/TR/xmlschema-2, 2001.5 XML Schema的数据类型标准。

  • Lee D W, Chu W W. Comparative Analysis of Six XML Schema Languages.ACM SIGMOD Record, 2000.9,29(3): 76~87 该文对XML 模式中的XML DTD , XML Schema , XDR , SOX , Schematron, DSD作了详细的比较,其中对于XML Schema的论述,由于当时XML Schema标准还未定稿,所以与最新的标准相比有些出入。

  • Florescu D, Kossman D. Storing and Querying XML Data Using a RDBMS. IEEE Data Engineering Bulletin, 1999,22(3): 27~34 研究了如何利用RDBMS实现XML数据的存储和查询。

  • Shanmugasundaram J, et al..Efficiently Publishing Relational Data as XML Documents..The VLDB Journal, 2000, 65~76 提出了一种基于SQL语言的的关系数据到XML的有效发布方法。

  • Shanmugasundaram J,et al.Querying XML Views of Relational Data.The VLDB Journal, 2001, 261~270提出了用来实现复杂XQuery的框架结构,研究如何提高XML视的查询效率。

  • Lee D W, Chu W W. Constraints-preserving Transformation from XML Document Type Definition to Relational Schema.International Conference on Conceptual Modeling / the Entity Relationship Approach, 2000, 323~338 详细论述了XML DTD到关系模式的映射算法CPI。

  • David Mertz ,W3C XML Schema 与文档类型定义 (DTD) 比较, http://www.ibm.com/developerWorks/cn/xml/x-matters/part7/index.shtml


作者简介


周竞涛,西北工业大学CAD/CAM国家专业实验室博士研究生,致力于将哲学、数学结合到技术研究中,主要研究方向:中间件、XML技术、EII,Semantic Web Services。可以通过 zhoujtnet@yahoo.com.cn与他联系。



王明微,陕西西安,西北工业大学CAD/CAM国家专业实验室硕士研究生,研究方向:逆向工程、模式识别。可以通过 wangmv@hotmail.com与他联系。










摘自:http://www-128.ibm.com/developerworks/cn/xml/x-sd/index.html

posted @ 2007-07-02 17:00 lqx 阅读(198) | 评论 (0)编辑 收藏

[收藏]truncate,delete,drop的异同点

注意:这里说的delete是指不带where子句的delete语句
相同点
truncate和不带where子句的delete, 以及drop都会删除表内的数据

不同点:
1. truncate和 delete只删除数据不删除表的结构(定义)
    drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态.
2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.
   truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger.
3.delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动
  显然drop语句将表所占用的空间全部释放
  truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage;   truncate会将高水线复位(回到最开始).
4.速度,一般来说: drop>; truncate >; delete
5.安全性:小心使用drop 和truncate,尤其没有备份的时候.否则哭都来不及
使用上,想删除部分数据行用delete,注意带上where子句. 回滚段要足够大.
想删除表,当然用drop
想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用delete.
如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据

摘自:http://www.chinaunix.net/jh/19/252763.html

posted @ 2007-07-02 16:03 lqx 阅读(216) | 评论 (0)编辑 收藏

仅列出标题
共18页: First 上一页 8 9 10 11 12 13 14 15 16 下一页 Last