XmlDecoder.getExtensionObject tries to eagerly decode the Structure. However it fails to pass a NamespaceTable that might have been set to the XmlDecoder.setNamespaceTable to the ExtensionObject.decode, which then by default uses the NamespaceTable from the EncoderContext.
Assuming the tables are same, no problem, however the XmlDecoder.setNamespaceTable allows a different table to be set, which will the affect how NodeIds and other constructs having a namespace index are decoded. It can be used e.g. to parse values from a Xml snipped from a NodeSet Values to the correct namespace indexes for the address space.
XmlDecoder.getExtensionObject tries to eagerly decode the Structure. However it fails to pass a NamespaceTable that might have been set to the XmlDecoder.setNamespaceTable to the ExtensionObject.decode, which then by default uses the NamespaceTable from the EncoderContext.
Assuming the tables are same, no problem, however the XmlDecoder.setNamespaceTable allows a different table to be set, which will the affect how NodeIds and other constructs having a namespace index are decoded. It can be used e.g. to parse values from a Xml snipped from a NodeSet Values to the correct namespace indexes for the address space.