@@ -855,21 +855,23 @@ def unlexify(s: str) -> str:
855855 ("0000-00-00" , XSD .date , None ),
856856 ("NOT A VALID HEX STRING" , XSD .hexBinary , None ),
857857 ("NOT A VALID BASE64 STRING" , XSD .base64Binary , None ),
858+ # xsd:gYear and xsd:gYearMonth also do not get converted
859+ ("1921-05" , XSD .gYearMonth , None ),
860+ ("0001-01" , XSD .gYearMonth , None ),
861+ ("0001-12" , XSD .gYearMonth , None ),
862+ ("2002-01" , XSD .gYearMonth , None ),
863+ ("9999-01" , XSD .gYearMonth , None ),
864+ ("9999-12" , XSD .gYearMonth , None ),
865+ ("1921" , XSD .gYear , None ),
866+ ("2000" , XSD .gYear , None ),
867+ ("0001" , XSD .gYear , None ),
868+ ("9999" , XSD .gYear , None ),
869+ ("1982" , XSD .gYear , None ),
870+ ("2002" , XSD .gYear , None ),
871+
858872 # these literals get converted to python types
859873 ("1921-05-01" , XSD .date , datetime .date ),
860874 ("1921-05-01T00:00:00" , XSD .dateTime , datetime .datetime ),
861- ("1921-05" , XSD .gYearMonth , datetime .date ),
862- ("0001-01" , XSD .gYearMonth , datetime .date ),
863- ("0001-12" , XSD .gYearMonth , datetime .date ),
864- ("2002-01" , XSD .gYearMonth , datetime .date ),
865- ("9999-01" , XSD .gYearMonth , datetime .date ),
866- ("9999-12" , XSD .gYearMonth , datetime .date ),
867- ("1921" , XSD .gYear , datetime .date ),
868- ("2000" , XSD .gYear , datetime .date ),
869- ("0001" , XSD .gYear , datetime .date ),
870- ("9999" , XSD .gYear , datetime .date ),
871- ("1982" , XSD .gYear , datetime .date ),
872- ("2002" , XSD .gYear , datetime .date ),
873875 ("1921-05-01T00:00:00+00:30" , XSD .dateTime , datetime .datetime ),
874876 ("1921-05-01T00:00:00-00:30" , XSD .dateTime , datetime .datetime ),
875877 ("true" , XSD .boolean , bool ),
0 commit comments