模式和xml学习(2)
一:设计模式部分
状态模式(state)
状态模式类似于一种简单的工作流,用来把大量的判断分支进行拆分,给每一种判断增加一个状态,如果不满足该判断可以进行状态转换,知道遇到满足条件为止
这样做的好处就是,当需要增加判断的时候,不需要改变已经存在的代码。只需要增加判断的类,原始判断类中增加新的状态转换。
适配器模式(adapter)
适配器模式用来对原始接口进行改造,用来适应新的接口,但是要求2者大部分功能应该相同。多用于项目维护期。新开发的项目应当多重构,少使用适配器模式
备忘录模式(memento)
该模式用来进行对象的保存和恢复。通常情况下,如果不用该模式,在调用类中,对象的细节就会被暴露。对象的属性保存多少也是固定的,不能灵活使用。
备忘录模式就提供了一个类(class1)用来保存需要保存的对象,可以设置需要保存对象的属性个数。再提供一个管理类(class2)用来管理(class1),
这样调用类只要操作管理类(class2)就可以保存对象和恢复对象,而不需要指定具体的细节。
二:xml部分
DTD约束只要包括
1:元素声明 <!ELEMENT website (name)>
<!ELEMENT name #PCDATA>
2:属性声明<!ELEMENT website (name)>
<!ELEMENT name #PCDATA>
<!ATILIST name fistname #PCDATA #FIXED "will">
3:实体声明:可以内部声明,也可以外部声明,外部声明时 <?xml version='1.0'>是做为文本声明,而不是xml声明,所有version值可以没有。
<!ENTITY >(一般实体)
<!ENTITY % >(参数实体) 在内部DTD中,参数实体的引用不可以用在实体声明中,可以用在允许使用的地方。而外部DTD中则没有这个限制。
4:标记声明 用来说明一些未解析的实体的外部处理命令
<!NOTATION >
格式良好的xml(well-formed) 只要符合xml定义的书写格式,就可以成为格式良好的xml
有效的xml 有完整的DTD定义
相关文档:
能读写任何XML配置文件,能实现用户层面的加解密,以下代码中的B64E函数为加密函数,B64D为解密函数,可以自己编写
生成的XML根节点为ZBS,可以替换为其它有意义的节点名称
Option Explicit
Public xmlDoc As DOMDocument
Public aNode As IXMLDOMElement '当前激活Node
Public xmlFilePath As String, ReadOnly As Bo ......
Ajax和jsp的怪现象
如果用Ajax去请求一个jsp页面,该jsp页面返回的是xml(response.setContentType("text/xml; charset=GB2312");),并且该jsp包含下面这些头@page指令的话,则在客户端xml=XMLHttpRequest.responseXML得到的是一个不包含任务东西的xml对象,即xml.childNodes.length将会是0.
......
XML中一种扩展的标记语言,它具有很好的扩展性标记.本文通过XML实现不同数据库的定义,实现对XML数据库的访问和异构数据库之间的互访.
关键词:XML 异构数据库 信息交换 数据库访问
1 引言
XML(Extensible Markup Language)它是由W3C组织于1998年2月 &nb ......
大家都知道在SQL Server中利用 FOR XML PATH 语句能够把查询的数据生成XML数据,下面是它的一些应用示例。
DECLARE @TempTable table(UserID int , UserName nvarchar(50));
insert into @TempTable (UserID,UserName) values (1,'a')
insert into @TempTable (UserID,UserName) values (2,'b')
select UserID, ......