package Ġcom . oct opus . cal am ari . utils Ċ Ċ import Ġorg . f unktion ale . option . Option Ċ import Ġorg . w 3 c . dom . Document Ċ import Ġorg . w 3 c . dom . Node Ċ import Ġorg . w 3 c . dom . NodeList Ċ import Ġjava . io . File Ċ Ċ interface ĠXML Utils Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreate Ġor Ġreturn Ġa Ġmatching Ġnode ĊĠĠĠĠ Ġ* Ġ@ param Ġnode Ġthe Ġparent Ġnode Ġwhose Ġchildren Ġare Ġmatched Ġagainst Ġthe Ġcriteria ĊĠĠĠĠ Ġ* Ġ@ param Ġelement Name Ġthe Ġname Ġof Ġthe Ġchild Ġelement Ġnode Ġto Ġmatch ĊĠĠĠĠ Ġ* Ġ@ param Ġrequired Attribute Values Ġa Ġmap Ġof Ġattribute Ġnames Ġand Ġvalues Ġthat Ġare Ġrequired Ġto Ġbe Ġpresent ĊĠĠĠĠ Ġ* Ġ@ param Ġrequired Or Missing Attributes Ġa Ġmap Ġof Ġattributes Ġand Ġvalues Ġthat Ġare Ġrequired Ġto Ġbe Ġpresent , ĊĠĠĠĠ Ġ* Ġor Ġcompletely Ġabsent . ĠThis Ġis Ġused Ġto Ġmatch Ġdefault Ġvalues . ĊĠĠĠĠ Ġ* Ġ@ param Ġcreate If Missing Ġtrue Ġif Ġthe Ġchild Ġis Ġto Ġbe Ġcreated Ġif Ġit Ġis Ġmissing , Ġand Ġfalse Ġotherwise ĊĠĠĠĠ Ġ* Ġ@ return ĠThe Ġmatching Ġnode Ġif Ġit Ġis Ġfound , Ġor Ġthe Ġnewly Ġcreated Ġnode Ġif Ġno Ġmatch Ġwas Ġfound Ġand Ġcreate If Missing Ġis Ġtrue ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġcreate Or Return Element ( node : ĠNode , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement Name : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequired Attribute Values : ĠMap < String , ĠString > Ġ= Ġmap Of (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequired Or Missing Attributes : ĠMap < String , ĠString > Ġ= Ġmap Of (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate If Missing : ĠBoolean Ġ= Ġtrue ): ĠOption < Node > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoad Ġthe ĠXML Ġfrom Ġa Ġfile ĊĠĠĠĠ Ġ* Ġ@ param Ġlocation ĠThe Ġpath Ġto Ġthe ĠXML Ġfile ĊĠĠĠĠ Ġ* Ġ@ return ĠThe Ġloaded ĠXML Ġfile ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġload XML ( location : ĠString ): ĠDocument ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoad Ġthe ĠXML Ġfrom Ġa Ġfile ĊĠĠĠĠ Ġ* Ġ@ param Ġlocation ĠThe ĠXML Ġfile ĊĠĠĠĠ Ġ* Ġ@ return ĠThe Ġloaded ĠXML Ġfile ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġload XML ( file : ĠFile ): ĠDocument ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSave Ġthe ĠXML Ġto Ġa Ġfile ĊĠĠĠĠ Ġ* Ġ@ param Ġlocation ĠThe Ġpath Ġto Ġthe ĠXML Ġfile ĊĠĠĠĠ Ġ* Ġ@ param Ġdocument ĠThe Ġdocument Ġto Ġbe Ġsaved ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsave XML ( location : ĠString , Ġdocument : ĠDocument ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ param Ġnode ĠThe Ġnode Ġto Ġstart Ġthe Ġquery Ġfrom ĊĠĠĠĠ Ġ* Ġ@ param Ġquery ĠThe Ġxpath Ġquery Ġto Ġrun ĊĠĠĠĠ Ġ* Ġ@ return ĠThe Ġcollection Ġof Ġmatching Ġnodes ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġxpath Query Node list ( node : Node , Ġquery : ĠString ): ĠNode List ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ param Ġnode ĠThe Ġnode Ġto Ġstart Ġthe Ġquery Ġfrom ĊĠĠĠĠ Ġ* Ġ@ param Ġquery ĠThe Ġquery Ġto Ġrun ĊĠĠĠĠ Ġ* Ġ@ return Ġtrue Ġor Ġfalse Ġbased Ġon Ġthe Ġresult Ġof Ġthe Ġquery ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġxpath Query Boolean ( node : ĠNode , Ġquery : ĠString ): ĠBoolean Ċ }