I am working on some code which performs XSD validation against an XML document within an Oracle database. I have managed to get the validation code running but Oracle is complaining about how an xs:dateTime element is being supplied with the 'Z' at the end specifying it is UTC time. The error I am getting is;
ORA-30992: error occurred at Xpath [Xpath to xs:dateTime element]
ORA-01830: date format picture ends before converting entire input string
This is solved by me removing the 'Z' from the time, so making '2013-08-06T12:29:15Z' into '2013-08-06T12:29:15'. After spending a bit of time researching I was able to identify that if I included Oracles XDB namespace and specified the 'xdb:SQLType="TIMESTAMP WITH TIME ZONE"' for that element that this will perform the XSD validation correctly, allowing for the UTC marker at the end. Unfortunately for me this means that I would have to get an XSD which is maintained internationally over many organisations modified to include Oracle specific annotations, which will not be easy. I was wondering whether any one know's any way that I can specify through code that the timestamp must include the UTC marker, rather than having to get the XSD document changed
I know I could make these modifications to only the local copy of the XSD, but I would consider this a last resort as this would add an additional human step to any upgrades and we all know how prone to error us fleshy meat bags are.
Thanks for any help or advice anyone is able to give on this.
Sam