I have a stream of data that is XML. The XML data that I am receiving is following many different XML schemas and therefore the data is different. Is is possible to create separate GeoEvent Definitions for each XML document type in the same adapter? What are my options here?
The answer to your question is 'YES you can'. GeoEvent Processor (GEP) gallery page has different examples of adapters that support multiple GeoEvent formats. The only thing here to mention is that the number and structure of those different GeoEvent Definitions (GEDs) must be predefined. When new adapter component is registered with the GEP it should declare all GEDs it produces. All GEDs that adapter produces should be specified in the adapter Definition. Take a look at this sample Trimble TAIP adapter definition xml. It is available on our public GitHub repository. It declares three different GEDs that Trimble TAIP adapter can produce https://github.com/Esri/trimble-for-geoevent/blob/master/trimble-taip-adapter/src/main/resources/ada... Similarly your adapter can support as many GEDs as you like.
Actually there are two options for defining GEDs in the component definition code: 1) You can define them inside of component definition represented by an xml as you saw in the sample. 2) You can write an actual java class that does the same thing.
You choose which method you prefer but you need to pick the one. Should you need more information on either one please let know.