/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 . Ċ Ġ* Ċ Ġ* ĠThis Ġfile Ġis Ġpart Ġof ĠXml Util . Ċ Ġ* Ċ Ġ* ĠThis Ġfile Ġis Ġlic enced Ġto Ġyou Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ċ Ġ* Ġ" License "); Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ċ Ġ* Ġwith Ġthe ĠLicense . Ġ ĠYou Ġshould Ġhave Ġreceived Ġa Ġcopy Ġof Ġthe Ġlicense Ġwith Ġthe Ġsource Ġdistribution . Ċ Ġ* ĠAlternatively , Ġyou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ċ Ġ* Ġsoftware Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ċ Ġ* Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY Ċ Ġ* ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ġ ĠSee Ġthe ĠLicense Ġfor Ġthe Ċ Ġ* Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ġlimitations Ċ Ġ* Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġnl . adapt ivity . xml util . util Ċ Ċ import Ġnl . adapt ivity . xml util . EventType Ċ import Ġnl . adapt ivity . xml util . Namespace Context Ċ import Ġnl . adapt ivity . xml util . Xml Reader Ċ import Ġnl . adapt ivity . xml util . util . impl . Fragment Namespace Context Ċ Ċ interface ĠXML Fragment StreamReader Java Ġ: ĠXml Reader Ġ{ ĊĠĠĠ Ġvar Ġlocal Namespace Context : ĠFragment Namespace Context ĊĠĠĠ Ġval Ġdelegate : ĠXml Reader ĊĊĊĠĠĠ Ġoverride Ġfun Ġnext (): ĠEventType Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( val Ġdelegate Next Ġ= Ġdelegate . next ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEventType . END _ DOCUMENT Ġ Ġ-> Ġdelegate Next ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEventType . START _ DOCUMENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEventType . PROCESS ING _ INSTR UCTION , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEventType . DOC DECL ĠĠĠĠĠĠ Ġ-> Ġnext () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEventType . START _ ELEMENT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( WRAPPER NAMESPACE . content Equals ( delegate . namespace URI )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSpecial Ġcase Ġthe Ġwrapping Ġnamespace , Ġdropping Ġthe Ġelement . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextend Namespace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate Next ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEventType . END _ ELEMENT ĠĠ Ġ-> Ġif Ġ( WRAPPER NAMESPACE . content Equals ( delegate . namespace URI )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDrop Ġthe Ġclosing Ġtag Ġof Ġthe Ġwrapper Ġas Ġwell ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate . next () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocal Namespace Context Ġ= Ġlocal Namespace Context . parent Ġ?: Ġlocal Namespace Context ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate Next ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġdelegate Next ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġnamespace Start : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġval Ġnamespace End : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġlocal Namespace Context . size ĊĊĠĠĠ Ġoverride Ġfun Ġget Namespace Prefix ( index : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlocal Namespace Context . get Prefix ( index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Namespace URI ( index : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlocal Namespace Context . getName space URI ( index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġnamespace Context : ĠNamespace Context ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġlocal Namespace Context ĊĊĠĠĠ Ġfun Ġextend Namespace () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġns Start Ġ= Ġdelegate . namespace Start ĊĠĠĠĠĠĠĠ Ġval Ġns count Ġ= Ġdelegate . namespace End Ġ- Ġns Start ĊĠĠĠĠĠĠĠ Ġval Ġprefixes Ġ= ĠArray ( ns count ) Ġ{ Ġidx Ġ-> Ġdelegate . getName space Prefix ( idx Ġ+ Ġns Start ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġnamespaces Ġ= ĠArray ( ns count ) Ġ{ Ġidx Ġ-> Ġdelegate . getName space URI ( idx Ġ+ Ġns Start ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġlocal Namespace Context Ġ= ĠFragment Namespace Context ( local Namespace Context , Ġprefixes , Ġnamespaces ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠWR AP PER P PREFIX Ġ= Ġ" SD FK L J DS F " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠWR AP PER NAMESPACE Ġ= Ġ" http :// wrapper ns " ĊĊĠĠĠ Ġ} Ċ }