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位浮点类型)
相关文档:
2010-05-16
三、解析XML文档
l Xerces解析器、SAX类和接口
l SAX阅读器
n 首先要得到一个符合SAX org.xml.sax.XMLReader接口规范的例子,这个接口定义了解析行为并允许设置某些特征和属性。该接口替换了SAX1.0中的org.xml.sax.Parser
import org.apache.xerces.parsers.SAXParser;
import org.xml. ......
JVM内存的设置的原理
默认的java虚拟机的大小比较小,在对大数据进行处理时java就会报错:java.lang.OutOfMemoryError。
设置jvm内存的方法,对于单独的.class,可以用下面的方法对Test运行时的jvm内存进行设置。
java -Xms64m -Xmx256m Test
-Xms是设置内存初始化的大小
-Xmx是设置最大能够使用内存的大小( ......
原文发表在http://baihuazhou.javaeye.com/blog/200642
我们在项目中,经常会碰到这样一种需求,就是让某个程序在某个固定的时间去运行,比如定时备份操作。在Java的J2SE的API中可以很容易做到这一点。
让我们需要定时执行的类继承自java.util.TimerTask中的TimerTask类,把需要执行的方法放入run方法中:
import java. ......
第一, 谈谈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) {
& ......