mirror of
				https://github.com/gyurix1968/guacamole-client.git
				synced 2025-10-31 00:53:21 +00:00 
			
		
		
		
	GUACAMOLE-497: Fall back to qualified name of XML element if SAX parser does not provide local name.
This commit is contained in:
		| @@ -84,6 +84,10 @@ public class DocumentHandler extends DefaultHandler { | ||||
|     public void startElement(String uri, String localName, String qName, | ||||
|         Attributes attributes) throws SAXException { | ||||
|  | ||||
|         // If the SAX implementation does not provide the local name, the | ||||
|         // qualified name should be used instead | ||||
|         String name = localName.isEmpty() ? qName : localName; | ||||
|  | ||||
|         // Get current state | ||||
|         DocumentHandlerState current = getCurrentState(); | ||||
|  | ||||
| @@ -94,7 +98,7 @@ public class DocumentHandler extends DefaultHandler { | ||||
|         if (current == null) { | ||||
|  | ||||
|             // Validate element name | ||||
|             if (!localName.equals(rootElementName)) | ||||
|             if (!name.equals(rootElementName)) | ||||
|                 throw new SAXException("Root element must be '" + rootElementName + "'"); | ||||
|  | ||||
|             handler = root; | ||||
| @@ -103,12 +107,12 @@ public class DocumentHandler extends DefaultHandler { | ||||
|         // Otherwise, get handler from parent | ||||
|         else { | ||||
|             TagHandler parent_handler = current.getTagHandler(); | ||||
|             handler = parent_handler.childElement(localName); | ||||
|             handler = parent_handler.childElement(name); | ||||
|         } | ||||
|  | ||||
|         // If no handler returned, the element was not expected | ||||
|         if (handler == null) | ||||
|             throw new SAXException("Unexpected element: '" + localName + "'"); | ||||
|             throw new SAXException("Unexpected element: '" + name + "'"); | ||||
|  | ||||
|         // Initialize handler | ||||
|         handler.init(attributes); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user