Hi Mukul,

Mukul Gandhi <[email protected]> wrote on 04/16/2009 01:46:55 PM:

> Hi all,
>    The XML Schema 1.1 specification requires us to have a typed XDM
> instance, for assertions XPath 2.0 processing. By typed, I mean the
> nodes in the XDM instance rooted at some element, need to acquite the
> type annotations from the Schema under processing.
>
> Presently, I am constructing a DOM (rooted at an element, whose Schema
> type has assertions) from XNI events. I then supply this DOM to the
> XPath 2.0 engine directly. The XPath 2.0 engine I think internally
> maps this DOM to the XPath data model and executes the XPath 2.0
> expressions on it.
>
> The DOM that I construct at present is untyped, and as a consequence,
> the XPath 2.0 engine doesn't have type information from the original
> schema. This doesn't allow some type aware operations (like using
> XPath 2.0 'le' operator) to be possible directly. As a workaround, we
> have to do explicit type casting (like, "xs:int(@min) le
> xs:int(@max)") for some operations to succeed.
>
> I think, with psychopath XPath 2.0 engine, we might be able to solve
> this problem, as it is schema aware and is compatible to Xerces-J.
>
> But with Saxon basic, I find difficult to implement schema awareness
> of the XDM instance.
>
> I think, to provide type information to the XPath 2.0 engine, we can
> use the Xerces Augmentations object available in XNI methods, in
> XMLSchemaValidator. I think, I can build a tree (for e.g., a DOM tree
> which has PSVI information) or generate a SAX stream with PSVI
> information. But I think, Saxon doesn't support Xerces PSVI model.
>
> Could somebody please share an implementation strategy to implement
> type awareness for XPath 2.0 processing in assertions.

Seems like the right thing to do for Psychopath is to construct a PSVI DOM
and pass that in. As for Saxon, I thought only Saxon-SA (the one folks need
to pay for) is schema-aware. I assume by "Saxon basic" you're working with
the open source version: Saxon-B. I understand that it isn't schema-aware
so perhaps the best you can pass into Saxon-B is the untyped DOM.

> --
> Regards,
> Mukul Gandhi
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]

Thanks.

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: [email protected]
E-mail: [email protected]

Reply via email to