关于DOM\SAX\JAXP\JDOM\DOM4J说法太多,小弟我迷糊了

关于DOM\SAX\JAXP\JDOM\DOM4J说法太多,我迷糊了
1、DOM、SAX是规范还是接口?我能否在代码中直接调用DOM or SAX的接口实现XML文件的解析吗?
2、JAXP、JDOM、DOM4J 这几个是封装DOM、SAX的接口来解析XML,还是仿照DOM、SAX的接口完全自己实现类似的功能?
3、JS在使用DOM, JSP也在使用DOM,这是DOM针对两种语言的实现吗?

我的目的是做个简单的功能:
服务器上的JSP将数据库的数据转成XML返回给浏览器。
客户端的JS代码解析所接受到的XML数据。
------解决方案--------------------
1,DOM和SAX是规范。你可以用已经封装好的DOM或SAX类库实现对XML文件的解析。
2,JAXP、JDOM、DOM4J等即实现了DOM、SAX同时有自己的功能实现。也就是说,它们的功能实现超出了DOM和SAX。
3,这个问题,你可以从1得到答案。JS下调用的是封装好的DOM类库。JSP用的也是封装好的DOM类库。但由于执行的环境不一样,调用的是不同的类库。但这些类库基本都服从于DOM的规范,所以你可以看到相同的API。