From: Dave B. <bla...@us...> - 2013-11-22 18:05:59
|
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 |