package Ġname . osh ur kov . books . api . file . fb 2 . parser čĊč Ċ import Ġorg . w 3 c . dom .* čĊč Ċ /** čĊ Ġ* Ġhttp :// www . fi ction book . org / index . php / ÐŃ Ð»ÐµÐ¼ÐµÐ½ÑĤ _ annotation čĊ Ġ*/ č Ċ open Ġclass ĠAnnotation Ġinternal Ġconstructor ( node : ĠNode ) Ġ: ĠId Element ( node ) Ġ{ čĊčĊĠĠĠ Ġvar Ġlang : ĠString ? Ġ= Ġnull čĊĠĠĠ Ġvar Ġannotations Ġ= Ġarray ListOf < Element >() čĊčĊĠĠĠ Ġinit Ġ{ čĊčĊĠĠĠĠĠĠĠ Ġval Ġmap Ġ= Ġnode . attributes čĊĠĠĠĠĠĠĠ Ġ( 0 Ġuntil Ġmap . length ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġmap . item ( it ) Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . nodeName Ġ== Ġ" xml : lang " Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġlang Ġ= Ġit . node Value Ġ} čĊčĊĠĠĠĠĠĠĠ Ġval Ġnode List Ġ= Ġnode . childNodes čĊčĊĠĠĠĠĠĠĠ Ġ( 0 Ġuntil Ġnode List . length ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġnode List . item ( it ) Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it . nodeName ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" p " Ġ-> Ġannotations . add ( P ( it )) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" po em " Ġ-> Ġannotations . add ( Po em ( it )) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" cite " Ġ-> Ġannotations . add ( C ite ( it )) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" subtitle " Ġ-> Ġannotations . add ( Subtitle ( it )) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" empty - line " Ġ-> Ġannotations . add ( Empty Line ()) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" table " Ġ-> Ġannotations . add ( Table ()) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ } čĊ