深入Xerces代码分析DOM结构的创建过程:
1. 在包org.apache.xerces.jaxp下面,
- 以JAXP作为调用入口,通过DocumentBuilderFactory.newInstance(),这样就返回一个DocumentBuilderFactoryImpl实例
- 由DocumentBuilderFactory的newDocumentBuilder方法,可以获取一个DocumentBuilderImpl实例
2. 在包org.apache.xerces.parsers下面,
- 一个DOcumentBuilderImpl的实例含有一个对象domParser: DOMParser,它是XMLParser的子类,SAXParser也是XMLParser的子类。
- 在DOMParser实例中有一个fConfiguration: X11Configuration对象,它掌管DOM解析过程中的所有特征和属性。
- fConfiguration包含一个特别的fCurrentScanner: XMLDocumentScanner对象,它用来执行具体解析文档的任务。
- fCurrentScanner在实际运行中的对象类型是XMLDocumentScannerImpl
3. 在包org.apache.xerces.impl下面,
- fCurrentScanner对象在scanDo