Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv4813/src/org/sblim/cimclient/internal/cimxml/sax
Modified Files:
Tag: Experimental
XMLDefaultHandlerImpl.java
Log Message:
2713 Enforce loose validation of CIM-XML documents
Index: XMLDefaultHandlerImpl.java
===================================================================
RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/XMLDefaultHandlerImpl.java,v
retrieving revision 1.1.2.9
retrieving revision 1.1.2.10
diff -u -d -r1.1.2.9 -r1.1.2.10
--- XMLDefaultHandlerImpl.java 14 Apr 2009 22:21:54 -0000 1.1.2.9
+++ XMLDefaultHandlerImpl.java 22 Nov 2013 18:05:57 -0000 1.1.2.10
@@ -1,5 +1,5 @@
/**
- * (C) Copyright IBM Corp. 2006, 2009
+ * (C) Copyright IBM Corp. 2006, 2013
*
* THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE
* ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE
@@ -20,6 +20,7 @@
* 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1)
* 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2)
* 2763216 2009-04-14 blaschke-oss Code cleanup: visible spelling/grammar errors
+ * 2713 2013-11-22 blaschke-oss Enforce loose validation of CIM-XML documents
*/
package org.sblim.cimclient.internal.cimxml.sax;
@@ -148,7 +149,14 @@
throws SAXException {
this.iStrBuf = null;
String nodeNameEnum = NodeFactory.getEnum(qName);
- if (nodeNameEnum == null) throw new SAXException(qName + " is not a handled element name!");
+ if (nodeNameEnum == null) {
+ LogAndTraceBroker.getBroker()
+ .trace(
+ Level.FINEST,
+ "Ignoring unrecognized starting CIM-XML element found during parsing: "
+ + qName);
+ return;
+ }
Node parentNode = getPeekNode();
if (parentNode == null) {
@@ -189,7 +197,11 @@
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
String nodeNameEnum = NodeFactory.getEnum(qName);
- if (nodeNameEnum == null) throw new SAXException(qName + " is not a handled element name!");
+ if (nodeNameEnum == null) {
+ LogAndTraceBroker.getBroker().trace(Level.FINEST,
+ "Ignoring unrecognized ending CIM-XML element found during parsing: " + qName);
+ return;
+ }
Node peekNode = this.iNodeStack.pop();
try {
// pass character data
|