Java and XML_读书笔记_2010 05 17
五、XML模式
l XML模式能更精确的处理XML结构约束的表示之外还为约束数据的处理提供一个XML样式。模式只是一个XML文档,受DTD的约束。对于XML模式而言,XML DTD只是一种创建文档约束的手段。因为XML模式是为了强化XML文档的有效性,它必须采用一种机制,而不是自己定义约束条件。这种机制必须是一个DTD。但是原始的DTD允许创建一个模式,这个模式允许所有其他文档可以完全抛弃DTD。(古怪的逻辑)
l XML模式文档以一个标准的XML声明作为开头然后引用XML模式的名字空间。
l 可接受的操作时经常使用schema作为XML模式文档的根元素,然后是规定一些名字空间的定义,定义的数量应与我们处理原始的XML文档定义的相当。
l 创建缺省的名字空间声明<schema xmlns=”http://www.w3.org/1999/XMLSchema”>任何元素不是带有特定名字空间前缀,就是带有另一个与缺省的名字空间相关联的名字空间前缀
<schema targetNamespace="http://www.oreilly.com/catalog/javaxml"
xmlns:JavaXML="http://www.oreilly.com/catalog/javaxml"
xmlns="http://www.w3.org/1999/XMLSchema"
> targetNamespace属性让模式知道它的约束条件作用的目标是第一个名字空间
l 指定元素:
<element name=”[Name of Element]”
type=”[Type of Element]”
[options…]
>
[Name of Element]是要约束的XML文档中的元素名字。与DTD不同,该元素的名字空间不会为元素加前缀。目标名字空间是JavaXML,所有元素的说明以及我们创建的用户自定义类型的元素必须被应用于或被指派给那个目标名字空间。这也有助于创建一个更加原始的模式,因为在元素被定义后才能使用名字空间。
[Type of Element]要么是一个预定义的XML模式数据类型,要么是一个用户定义类型。
XML模式数据类型:类型(子类型,用途)。string(NMTOKEN/language,字符串),boolean(N/A,(true or false)),float(N/A,32位浮点类型)
相关文档:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Xml;
using System.Text; ......
数年前,当和一个软件团队一起用 Java 语言编写一个应用程序时,我体会到比一般程序员多知道一点关于 Java 对象序列化的知识所带来的好处。
大约一年前,一个负责管理应用程序所有用户设置的开发人员,决定将用户设置存储在一个 Hashtable 中,然后将这个 Hashtable 序列化到磁盘,以便持久化。当用户更改设置时,便重新将 ......
原文发表在http://baihuazhou.javaeye.com/blog/200642
我们在项目中,经常会碰到这样一种需求,就是让某个程序在某个固定的时间去运行,比如定时备份操作。在Java的J2SE的API中可以很容易做到这一点。
让我们需要定时执行的类继承自java.util.TimerTask中的TimerTask类,把需要执行的方法放入run方法中:
import java. ......
彩五连珠游戏开发过程
彩五连珠,一开始叫“五彩连珠”,同学抗议说不会玩,因为她理解成了要把五种不同颜色的球连成一线才能赢,考虑到这个标题的确引人误解,游戏又没有任何说明,最终把名称改成了“彩五连珠”。这是一个很经典的小游戏,很多手机里都有,最近因为学习java,作为练习,把这个游戏做 ......
可从IO的类层次,IO框架的设计模式来论述。
总体来说,IO可以分为字节流和字符流,不同在于字符流由字节流包装而来,在IO读入之后经过JVM处理,把字节流转换成字符流。而字符流的字符采用哪种字符编码实现由JVM默认编码决定。
而每个流都分输入和输出,所以,总体来说,IO有四个顶层类:
InputStream
OutputStream ......