XML 学习,主要是DTD学习和IBATIS 的CDATA具体什么时候用

dtd 学习这个够简短精辟了,我就不写了:http://www.w3school.com.cn/dtd/dtd_intro.asp

 

&lt; < 小于号
&gt; > 大于号
&amp; &
&apos; ' 单引号
&quot; " 双引号

 

 我在用XML的中间主要遇到的问题是: ibatis中什么时候需要用到 : <![CDATA[   标记

 

经过反复的实验证明,如果在IBATIS中自己的SQL中包含

<

>

&

 

需要用<![CDATA[

一般 ibatis中出现 < 表示 小于号,于XML格式冲突。 > 号一样。

& 符号ibatis中一般不出现,除非很特殊就是写死要查某个值里含有这个&。

 

' 单引号我试了,没有影响:类似如下SQL配置是没有问题的:

	<select id="getByHobby" resultMap="baby-Result" cacheModel="baby-cache">
		select * from Baby where hobby = '\'' 
	</select>

 " 引号我也试了,同样没有问题:类似如下:

	<select id="getByHobby" resultMap="baby-Result" cacheModel="baby-cache">
		select * from Baby where hobby = '"'
	</select>

 

看了IBAITS的DTD文档,没有发现有其自己定义过的实体,综上所述,只有在SQL中遇到 < > & 符号时才需要用

<![CDATA[

 

==================== 后来我又仔细学习了DTD文档 ================

CDATA 标志在属性声明中用于指明属性为CDATA字符类型,这种类型中&,<,和引号

具有特殊意义。

PCDATA标志在元素声明中用于指明元素有混合内容(字符数据或者字符数据与子元素的混合)。元素内容将被解析。
这种类型中&和<

具有特殊意义,如果不是作为标记开始,则使用时要转义。

而我们IBATIS的DTD文档中些定义的数据类型是PCDATA,所以引号不过敏。

 

你可能感兴趣的:(sql,xml,cache,ibatis,asp)