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位浮点类型)
相关文档:
第一, 谈谈final, finally, finalize的区别。 (最常被问到)
final修饰符(关键字)
如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract,又被声明为final。将变量或方法声明为final,可以保证它们在使用中不被改变。其初始化可以在两个地方 ......
接触java正则表达式有一年的时间了,好久没有复习了,现在写个来复习一下:
package com.fengfei.test;
public class GetNumber {
/**
* 体验Java的正则表达式,找出字符串s中的数字
* @param args
*/
public static void main(String[] args) {
& ......
可从IO的类层次,IO框架的设计模式来论述。
总体来说,IO可以分为字节流和字符流,不同在于字符流由字节流包装而来,在IO读入之后经过JVM处理,把字节流转换成字符流。而字符流的字符采用哪种字符编码实现由JVM默认编码决定。
而每个流都分输入和输出,所以,总体来说,IO有四个顶层类:
InputStream
OutputStream ......