什么时候使用属性或者元素(Designing XML document)
Properties 是平面结构,想要表达结构复杂的信息有一定难度:
font.name = song?
font.size=3
?
?
属性只应该在修改值的解释时使用,而不应该在指定值时使用,
?
?
Html: 凡是不在页面上显示的都是属性
?
Parse:
?
DOM(Documnet Object Model)--- 树形结构解析器
?
?
SAX(Simple API for XML)--流机制解析器
?
Jaxp--- pluggability sun 公司的xml库实现了可以插入(apache, ibm and so on)的解析器
?
-----------------------------------------------
XML 文档验证 --- Schema or DTD ?
?
Schema比较复杂,Relax NG(http://www/relaxng.org)也可以对XML进行验证。
?
Notes: 如过你使用的是DTD的相对URL(如config.dtd, 那么给解析器一个文件或URL对象,而不是InputStream。 如果必须从一个输入流来解析,那么必须提供一个实体解析器, ?代码的架构如下:
?
import org.xml.sax.EntityResolver;import org.xml.sax.InputSource;import org.xml.sax.SAXException;public class MyEntityResolver implements EntityResolver{@Overridepublic InputSource resolveEntity(String publicId, String systemId)throws SAXException, IOException {if (publicId.equals("Known SystemId")) {// this inputSource is representative of data of DTDreturn new InputSource();} else {return null;}}}??