When you are working with external applications or when SQL queries are too complex to be configured regarding to your data model, you can build XML data and use this XML as input to generate your schematic diagrams.
Schematic builders are used to generate and update the content of schematic diagrams. They expect specific data and a specific context from which they are able to generate/update the schematic diagrams. The XML builder is the builder to configure to process XML data.
By avoiding developing specific interfaces that are costing a lot and not easy to maintain, the XML builder is particularly useful when you work with external applications such as industry applications (for example, Network Engineer), ERPs (for example, SAP), PLMs (for example, Matrix One), or analysis packages (for example, CYME).
The XML builder is also helpful when your data model is complex and SQL queries are too difficult to be configured to retrieve the data you want to use as an input for your diagram generation.
The XML builder processes any XML data based on the XMLBuilderDiagram XML Schema definition file. It works from physical XML file or in-memory XML data that can be automatically built using an external component.
It populates the expected schematic feature classes by creating the schematic features related to the input XML NodeFeature, LinkFeature, NodeOnLinkFeature, and SubLinkFeature items, and initializes the topology, geometry, and attribute values from this XML.
Your XML data can be automatically built by an external component which is configured to be executed each time you ask Schematics to generate or update schematic diagrams. This external component can work from the context sets when end users ask any diagram generation or update—for example, a set of features which is currently selected in a map document, a keyword specified for the diagram to generate—to generate the XML that is passed into the builder.
The external custom component must implement some specific Schematics interfaces—ISchematicXmlGenerate or ISchematicXmlUpdate.