package Ġj md ict . parsers Ċ Ċ import Ġj md ict . datat ypes . K an ji Element Ċ import Ġj md ict . enums . K an ji Info Enum Ċ import Ġj md ict . exceptions . Missing Field Exception Ċ import Ġxml reader . Tag Ċ Ċ object ĠK an ji Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠELEMENT Ġ= Ġ" ke b " ĊĠĠĠ Ġprivate Ġconst Ġval ĠINFORMATION Ġ= Ġ" ke _ inf " ĊĠĠĠ Ġprivate Ġconst Ġval ĠPR I ORITY Ġ= Ġ" ke _ pri " ĊĊĠĠĠ Ġfun Ġparse ( element : ĠTag ): ĠK an ji Element Ġ= ĊĠĠĠĠĠĠĠ ĠK an ji Element ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement Ġ= Ġelement ( element ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinformation Ġ= Ġinformation ( element ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpriority Ġ= Ġpriority ( element ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġfun Ġelement ( element : ĠTag ): ĠList < String > Ġ= ĊĠĠĠĠĠĠĠ Ġelement . children With TagName ( ELEMENT ). map Ġ{ Ġit . text () Ġ}. if Empty Ġ{ Ġthrow ĠMissing Field Exception ( ELEMENT ) Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinformation ( element : ĠTag ) Ġ= ĊĠĠĠĠĠĠĠ Ġelement . children With TagName ( INFORMATION ). map Ġ{ ĠK an ji Info Enum . from ( it . text ()) Ġ}. if Empty Ġ{ Ġnull Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpriority ( element : ĠTag ) Ġ= ĊĠĠĠĠĠĠĠ Ġelement . children With TagName ( PRIORITY ). map Ġ{ Ġit . text () Ġ}. if Empty Ġ{ Ġnull Ġ} Ċ } Ċ