Hi again,
Let's be practical.
Considering the ItemTransform of your IDML fragment, you can set the transformation parameters as follows:
a = .9702957262759965;
b = -.24192189559966773;
c = .24192189559966773;
d = .9702957262759965;
tx = 98.8904199390546;
ty = 85.39783839154677;
Those values describe the transformation that translates the page item INNER coordinate space into its parent coordinate space, i.e. the SPREAD coordinate space—assuming the pageitem is not nested.
Now, you need to browse the PathGeometry element of your TextFrame to retrieve the desired path point location. Provided a rectangular geometry is used, you should have four PathPointType elements in the PathPointArray, and the first path point should reflect the TOP-LEFT anchor. Here you have an Anchor attribute, say Anchor="-150 50". This means that the location of this pathpoint is [-150,50] in the INNER coordinate space:
xInner = -150;
yInner = 50;
Note: the Anchor attribute always gives the [x,y] location of a PathGeometry point relative to the INNER coordinate space. This may be confusing as the ORIGIN of the inner space is in some way 'arbitrary.' Indeed, that origin does not only result from the intrinsic location of the object. It also depends on translations (moves) that have been manually applied by the user since the creation of the object—such translations have an effect on the tx and ty values of the ItemTransform element (see above). Thus, two identical page items which exactly share the same place in the layout can have both their pathpoints' locations AND their (tx,ty) pair different. Anyway, you can still translate the location of any pathpoint into the spread coordinate space, because this is the role of the transformation matrix to convert the INNER coordinate system into the parent coordinate system with respect to the origin of each one. (By the way, [tx, ty] is the location of the INNER space origin expressed in the SPREAD space system.)
From that point, we can compute the coordinates of the TOP-LEFT anchor in the SPREAD system. We just have to apply the transformation:
xInSpread = xInner*a + yInner*b + tx;
yInSpread = xInner*c + yInner*d + ty;
In my example, this gives the following coordinates: [-58.75, 97.62] (after rounding). These are the location of the anchor, in POINTS, relative to the SPREAD origin (which is always the center point of the spread). If you need to have this location relative to a PAGE, then you have to also consider the ItemTransform element of that page—which usually describes a simple translation (unless the page itself is scaled/rotated/skewed…).
If the above method does not work, then your TextFrame is probably not the direct child of a Spread, so you must consider each parent's ItemTransform and compose the corresponding transformations.
@+
Marc