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]
