// Loose style. Add any duration to any date or time value.
if ( vs1.equals(VSPACE_DATETIME) && vs2.equals(VSPACE_DURATION) )
{
XMLGregorianCalendar cal = nv1.getDateTime() ;
XMLGregorianCalendar result = xsd_add(cal, nv2.getDuration()) ;
NodeValue r = NodeValue.makeDateTime(result) ;
return r ;
}
// Loose style. Add any duration to any date or time value.
if ( vs1.equals(VSPACE_DATE) && vs2.equals(VSPACE_DURATION) )
{
XMLGregorianCalendar cal = nv1.getDateTime() ;
XMLGregorianCalendar result = xsd_add(cal, nv2.getDuration()) ;
NodeValue r = NodeValue.makeDate(result) ;
return r ;
}
// Loose style. Add any duration to any date or time value.
if ( vs1.equals(VSPACE_TIME) && vs2.equals(VSPACE_DURATION) )
{
// ONLY dayTime.
XMLGregorianCalendar cal = nv1.getDateTime() ;
XMLGregorianCalendar result = xsd_add(cal, nv2.getDuration()) ;
NodeValue r = NodeValue.makeNode(result.toXMLFormat(), XSDDatatype.XSDtime) ;
return r ;
}
if ( isDT(vs2) && vs1.equals(VSPACE_DURATION) )
// Carefully ...