I am using the SQLXML3.0 Bulk Load component and I understand
that the component consumes a XML file, and an annotated Mapping Schema.

The problem is constructing the Mapping Schema.

The XML Data looks as follows:
--------end XML Data ---
The use of ChildTag1,2,3 is because all the 'Block' elements contain
child nodes.
The Root Node, Applications contains one or many Application tags.
I have no control over the format of the XML, as it is being constructed for us by an outside vendor, hence, although I would have done it differently, that does not matter.

Each KeyBlock has a <IntID> tag which contains the ID
of the entire record (each record is an <Application> tag and children)
The problem is that we want to consume this XML into a database that has a table corresponding to each *Block tag above.

The component itself is working, but I cannot construct an Annotated Mapping Schema to accurately transfer this data without adding an extra <IntID> tag to each <*Block> tag.

I know that I can use XSL to transform the original data files, but I want to avoid that transformation for performance reasons.
So is there a way in the annotated mapping schema language
to at load time, refer that the key field in each of the *Block corresponding tables corresponds to the Key field in the KeyBlock tag of each Application Record.

I apologize for the confused nature of this message, but I have been hammering away at this problem for days and its like ramming my head into a brick wall...
any help will be appreciated.
any and all suggestions are considered, even if you believe that I am going about this the wrong way.
thanks in advance,
best regards