InfoPath - check leap year using expression


This is a fun one.

  1. Use the undocumented msxsl:utc function, which checks / converts a date into a normalized representation.


  2. So, what will happen if I test it with with a garbage date, say, the 29th of February of 2001, which isn't a leap year?

  3. So just check if the result of the utc function returns empty string or not.


msxsl:utc(concat(my:year, "-02-29")) != ""