SMAVH00400_인체기증자status조회.xrw 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>인체기증승낙서</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <donat>
  11. <donatlist>
  12. <humbodydnorid/>
  13. <rgstdd/>
  14. <restcertissdd/>
  15. <acptdd/>
  16. <hngnm/>
  17. <rrgstno1/>
  18. <rrgstno2/>
  19. <cntctel/>
  20. <mpphon/>
  21. <zipcd1/>
  22. <zipcd2/>
  23. <zipcdseq/>
  24. <addr/>
  25. <cntcaddr/>
  26. <btype/>
  27. <rh/>
  28. <bdht/>
  29. <bdwt/>
  30. <email/>
  31. <relign/>
  32. <baptnm/>
  33. <pastsickandophist/>
  34. <smplnmakeaprvyn/>
  35. <hepatitis/>
  36. <tuberculosis/>
  37. <vd/>
  38. <gita/>
  39. <basicto/>
  40. <nationto/>
  41. <restcertreissdd/>
  42. <restcertreissresn/>
  43. <rem/>
  44. <rgstyy/>
  45. <flag/>
  46. </donatlist>
  47. <lastpage>
  48. <lastpage/>
  49. </lastpage>
  50. </donat>
  51. <famyaprv>
  52. <famyaprvlist>
  53. <humbodydnorid/>
  54. <rgstdd/>
  55. <aprvpsnhngnm/>
  56. <aprvdd/>
  57. <aprvpsnrrgstno1/>
  58. <aprvpsnrrgstno2/>
  59. <aprvpsnrelign/>
  60. <aprvpsnbaptnm/>
  61. <aprvpsnzipcd1/>
  62. <aprvpsnzipcd2/>
  63. <aprvpsnzipcdseq/>
  64. <aprvpsnaddr/>
  65. <aprvpsncntcaddr/>
  66. <aprvpsncntctel/>
  67. <aprvpsnmpphon/>
  68. <aprvpsnemail/>
  69. <aprvpsnrela/>
  70. <orgndonatdispyn/>
  71. <rgstyy/>
  72. <flag/>
  73. </famyaprvlist>
  74. </famyaprv>
  75. <info>
  76. <donat>
  77. <humbodydnorid/>
  78. <rgstdd/>
  79. <restcertissdd/>
  80. <acptdd/>
  81. <hngnm/>
  82. <rrgstno1/>
  83. <rrgstno2/>
  84. <cntctel/>
  85. <mpphon/>
  86. <zipcd1/>
  87. <zipcd2/>
  88. <zipcdseq/>
  89. <addr/>
  90. <cntcaddr/>
  91. <btype/>
  92. <rh/>
  93. <bdht/>
  94. <bdwt/>
  95. <email/>
  96. <relign/>
  97. <baptnm/>
  98. <pastsickandophist/>
  99. <hepatitis/>
  100. <tuberculosis/>
  101. <vd/>
  102. <gita/>
  103. <basicto/>
  104. <nationto/>
  105. <restcertreissdd/>
  106. <restcertreissresn/>
  107. <smplnmakeaprvyn/>
  108. <rem/>
  109. <rgstyy/>
  110. <flag/>
  111. </donat>
  112. <famyaprv>
  113. <humbodydnorid/>
  114. <rgstdd/>
  115. <aprvpsnhngnm/>
  116. <aprvdd/>
  117. <aprvpsnrrgstno1/>
  118. <aprvpsnrrgstno2/>
  119. <aprvpsnrelign/>
  120. <aprvpsnbaptnm/>
  121. <aprvpsnzipcd1/>
  122. <aprvpsnzipcd2/>
  123. <aprvpsnzipcdseq/>
  124. <aprvpsnaddr/>
  125. <aprvpsncntcaddr/>
  126. <aprvpsncntctel/>
  127. <aprvpsnmpphon/>
  128. <aprvpsnemail/>
  129. <aprvpsnrela/>
  130. <orgndonatdispyn/>
  131. <rgstyy/>
  132. <flag/>
  133. </famyaprv>
  134. </info>
  135. </main>
  136. <send>
  137. <srchflag>G</srchflag>
  138. <hngnm/>
  139. <rrgst1/>
  140. <rrgst2/>
  141. <remaintret/>
  142. <donat/>
  143. <famyaprv/>
  144. <rgstdd/>
  145. <humbodydnorid/>
  146. <fromdd/>
  147. <todd/>
  148. <monflag/>
  149. </send>
  150. <init>
  151. <cmbinfo>
  152. <btype/>
  153. <rhtype/>
  154. <relign/>
  155. <emailaddr1/>
  156. <emailaddr2/>
  157. <smplnmakeaprvyn/>
  158. </cmbinfo>
  159. </init>
  160. <hidden>
  161. <list/>
  162. <emailsample1/>
  163. <emailsample2/>
  164. <paval/>
  165. </hidden>
  166. </root>
  167. </instance>
  168. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  169. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  170. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  171. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  172. <script type="javascript" src="../../../ast/commonweb/js/AST.js"/>
  173. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  174. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  175. <script type="javascript" src="../../../com/zipcodeweb/js/ZBP001.js"/>
  176. <script type="javascript" ev:event="xforms-ready">
  177. <![CDATA[
  178. //ipt_todd.value = getCurrentDate();
  179. //ipt_fromdd.value = ipt_todd.value.toDate().getAddDate(-6,"M").getDateFormat("YYYYMMDD") ;
  180. model.toggle("case1");
  181. //model.setValue("/root/send/srchflag", "1");
  182. model.refresh();
  183. ]]>
  184. </script>
  185. <submission id="TRAVH00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/donat"/>
  186. <submission id="TRAVH00301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/donat/donatlist"/>
  187. </model>
  188. <script type="javascript">
  189. <![CDATA[
  190. var DbClick_value =0 ;
  191. /** -------------------------------------------------------------------------------------------
  192. * 인체기증 승낙서 List 조회
  193. ------------------------------------------------------------------------------------------- **/
  194. /* @group : 인체기증자status 조회
  195. * @ver : 2008.10.06 (CMCDEV-0001)
  196. * @by : 한음미(평화IS)
  197. * @-----------------------------------
  198. * @type : function
  199. * @access : public
  200. * @desc : 인체기증 승낙서 List 조회
  201. */
  202. function fSearchList(page) {
  203. if(page == "") page = 1;
  204. if(page < 1) page = 1;
  205. if(page > Number(cap_lastPage.value)) page = Number(cap_lastPage.value);
  206. if (page == 0) page = 1;
  207. // model.removeNodeset("/root/send");
  208. model.removeNodeset("/root/main/donat/donatlist");
  209. model.removeNodeset("/root/main/donat/lastpage");
  210. //--------------------------------------------------------------------------------
  211. model.makeValue("/root/send/srchflag", model.getValue("/root/send/srchflag")); // 구분
  212. model.makeValue("/root/send/srchfromdd", model.getValue("/root/send/srchfromdd")); // 조회일자(from)
  213. model.makeValue("/root/send/srchtodd", model.getValue("/root/send/srchtodd")); // 조회일자(to)
  214. model.makeValue("/root/send/srchhngnm", model.getValue("/root/send/srchhngnm")); // 성명
  215. model.makeValue("/root/send/srchrrgst1", model.getValue("/root/send/srchrrgst1")); // 주민번호1
  216. model.makeValue("/root/send/srchrrgst2", model.getValue("/root/send/srchrrgst2")); // 주민번호2
  217. model.makeValue("/root/send/page", 1); // page
  218. model.makeValue("/root/send/itemlimit", "10000"); // 한그리드에 조회되는 row 수
  219. if(model.getValue("/root/send/srchflag") == "") {
  220. messageBox("구분을","C002");
  221. return ;
  222. }
  223. submit("TRAVH00301");
  224. ipt_paval.value = 1;
  225. }
  226. /* @group : 인체기증자관리
  227. * @ver : 2008.10.05 (CMCDEV-0001)
  228. * @by : 한음미(평화IS)
  229. * @-----------------------------------
  230. * @type : function
  231. * @access : public
  232. * @desc : 엑셀저장
  233. */
  234. function fExeSaveToExcel(){
  235. var fileName = window.fileDialog("save", ",", false, "인체기증자Status조회", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  236. if (fileName != "")
  237. {
  238. grd_list.saveExcel(fileName);
  239. }
  240. }
  241. /* @group : 인체기증자관리
  242. * @ver : 2008.10.05 (CMCDEV-0001)
  243. * @by : 한음미(평화IS)
  244. * @-----------------------------------
  245. * @type : function
  246. * @access : public
  247. * @desc : 성명 입력후 엔터키
  248. */
  249. function fExeRefValKeyPress(){
  250. if(event.keyCode == 13) {
  251. model.setValue("/root/send/hngnm", ipt_hngnm.currentText);
  252. ipt_hngnm.refresh();
  253. //---------------------------
  254. //조회 호출
  255. fSearchList();
  256. }
  257. }
  258. /* @group : 인체기증자관리
  259. * @ver : 2008.10.05 (CMCDEV-0001)
  260. * @by : 한음미(평화IS)
  261. * @-----------------------------------
  262. * @type : function
  263. * @access : public
  264. * @desc : 주민번호 입력후 엔터키
  265. */
  266. function fExeRrgstRefValKeyPress(){
  267. if(event.keyCode == 13) {
  268. model.makeValue("/root/send/srchrrgst1", ipt_rrgst1.currentText);
  269. model.makeValue("/root/send/srchrrgst2", ipt_rrgst2.currentText);
  270. ipt_rrgst1.refresh();
  271. ipt_rrgst2.refresh();
  272. //---------------------------
  273. //조회 호출
  274. fSearchList();
  275. }
  276. }
  277. function isDate(str) { // 날짜 형식에 대한 적합여부 체크
  278. if (str == "") return true; // 빈건 체크안함
  279. if (trim(str) == "") return true; // 빈건 체크안함
  280. if (isNaN(parseInt(str))) return false; // 숫자가 아니면 false
  281. if (str.length != 8) return false; // 8자리(yyyymmdd)가 아니면 false
  282. var yy = new Number(str.substring(0, 4));
  283. var mm = new Number(str.substring(4, 6)) - 1;
  284. var dd = new Number(str.substring(6, 8));
  285. var date = new Date(yy, mm, dd);
  286. if (yy != date.getFullYear() ||
  287. mm != date.getMonth() ||
  288. dd != date.getDate()) {
  289. return false; // 존재하지 않는 날짜
  290. }
  291. return true; // 존재하는 날짜
  292. }
  293. function trim(data){ // 문자에 대한 TRIM 작업
  294. return data.replace(/(^\s*)|(\s*$)/g, "");
  295. }
  296. function fGetTestInfoList(page) {
  297. // alert(model.getValue("/root/hidden/paval"));
  298. //----------------------
  299. // 이상 페이지 번호 처리
  300. if(page == "") page = 1;
  301. if(page < 1) page = 1;
  302. if(page > Number(cap_lastPage.value)) page = Number(cap_lastPage.value);
  303. if (page == 0) page = 1;
  304. // model.removeNodeset("/root/send");
  305. model.removeNodeset("/root/main/donat/donatlist");
  306. model.removeNodeset("/root/main/donat/lastpage");
  307. //--------------------------------------------------------------------------------
  308. model.makeValue("/root/send/srchflag", model.getValue("/root/send/srchflag")); // 구분
  309. model.makeValue("/root/send/monflag", model.getValue("/root/send/monflag")); // 조건
  310. model.makeValue("/root/send/fromdd", model.getValue("/root/send/fromdd")); // 조회일자(from)
  311. model.makeValue("/root/send/todd", model.getValue("/root/send/todd")); // 조회일자(to)
  312. model.makeValue("/root/send/hngnm", model.getValue("/root/send/hngnm")); // 성명
  313. model.makeValue("/root/send/rrgst1", model.getValue("/root/send/rrgst1")); // 주민번호1
  314. model.makeValue("/root/send/rrgst2", model.getValue("/root/send/rrgst2")); // 주민번호2
  315. model.makeValue("/root/send/remaintret", model.getValue("/root/send/remaintret")); // 유골처리
  316. model.makeValue("/root/send/page", page); // page
  317. model.makeValue("/root/send/itemlimit", "10000"); // 한그리드에 조회되는 row 수
  318. submit("TRAVH00301");
  319. ipt_paval.value = page;
  320. }
  321. ]]>
  322. </script>
  323. </xhtml:head>
  324. <xhtml:body guideline="1,1195;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  325. <group id="grp_tle" style="left:0px; top:0px; width:754px; height:13px; ">
  326. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:200px; height:14px; ">인체기증자 Status별 조회</caption>
  327. </group>
  328. <group id="grp_biz" scroll="auto" style="left:0px; top:15px; width:1195px; height:744px; ">
  329. <line id="line18" class="line_1" style="x1:0px; y1:70px; x2:1195px; y2:70px; "/>
  330. <caption id="caption18" class="tit_2" style="left:5px; top:55px; width:150px; height:13px; ">목록</caption>
  331. <datagrid id="grd_list" nodeset="/root/main/donat/donatlist" autoresize="true" caption="등록번호^성명^주민등록번호^주민등록번호^기증일자^화장일자^유골인수^묘역^주소" colwidth="117, 108, 65, 65, 110, 110, 110, 109, 384" dataheight="23" extendlastcol="scroll" focuscolor="#b9e5fb" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:0px; top:75px; width:1195px; height:655px; text-align:center; ">
  332. <col ref="humbodydnorid"/>
  333. <col ref="hngnm"/>
  334. <col ref="rrgstno1"/>
  335. <col ref="rrgstno2"/>
  336. <col ref="deadbodyacptdd" format="yyyy-mm-dd"/>
  337. <col ref="deadbodycremdd" format="yyyy-mm-dd"/>
  338. <col ref="remaintret" format="yyyy-mm-dd"/>
  339. <col ref="boundgraveno"/>
  340. <col ref="cntcaddr"/>
  341. </datagrid>
  342. <group id="grp_sea" style="left:1px; top:5px; width:1194px; height:40px; vertical-align:top; ">
  343. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1194px; height:40px; background-color:#fffbf2; border-color:#ffd799; "/>
  344. <button id="btn_seach" class="btn1_letter2" navindex="8" style="left:1125px; top:10px; width:56px; height:22px; ">
  345. <caption>조회</caption>
  346. <script type="javascript" ev:event="onclick">
  347. <![CDATA[
  348. fSearchList();
  349. ]]>
  350. </script>
  351. </button>
  352. <line id="line10" class="line_4" style="x1:1115px; y1:10px; x2:1115px; y2:29px; "/>
  353. <input id="ipt_rrgst1" ref="/root/send/rrgst1" class="input_search" navindex="3" maxlength="6" format="999999" style="left:391px; top:10px; width:70px; height:19px; ">
  354. <script type="javascript" ev:event="onkeypress">
  355. <![CDATA[
  356. fExeRrgstRefValKeyPress();
  357. ]]>
  358. </script>
  359. </input>
  360. <input id="ipt_rrgst2" ref="/root/send/rrgst2" class="input_search" navindex="4" maxlength="7" format="9999999" style="left:469px; top:10px; width:70px; height:19px; ">
  361. <script type="javascript" ev:event="onkeypress">
  362. <![CDATA[
  363. fExeRrgstRefValKeyPress();
  364. ]]>
  365. </script>
  366. </input>
  367. <select1 id="cmb_remaintret1" ref="/root/send/remaintret" navindex="7" appearance="minimal" style="left:992px; top:10px; width:85px; height:19px; ">
  368. <choices>
  369. <itemset nodeset="/root/init/baseinfo/remaintret03/A0476">
  370. <label ref="cdnm"/>
  371. <value ref="cdid"/>
  372. </itemset>
  373. </choices>
  374. </select1>
  375. <caption id="caption2" class="search_name" style="left:164px; top:10px; width:50px; height:17px; ">성명</caption>
  376. <caption id="caption44" class="search_name" style="left:10px; top:10px; width:50px; height:17px; ">구분</caption>
  377. <caption id="caption13" class="search_name" style="left:312px; top:10px; width:76px; height:17px; ">주민번호</caption>
  378. <input id="ipt_hngnm" ref="/root/send/hngnm" class="input_search" navindex="2" style="left:217px; top:10px; width:75px; height:19px; ">
  379. <script type="javascript" ev:event="onkeypress">
  380. <![CDATA[
  381. fExeRefValKeyPress();
  382. ]]>
  383. </script>
  384. </input>
  385. <caption id="caption5" class="search_name" style="left:913px; top:10px; width:76px; height:17px; ">유골처리</caption>
  386. <caption id="caption14" style="left:461px; top:10px; width:15px; height:20px; ">-</caption>
  387. <select1 id="combo8" ref="/root/send/srchflag" navindex="1" appearance="minimal" style="left:64px; top:10px; width:85px; height:19px; ">
  388. <choices>
  389. <item>
  390. <label>전체</label>
  391. <value>A</value>
  392. </item>
  393. <item>
  394. <label>기증자</label>
  395. <value>G</value>
  396. </item>
  397. <item>
  398. <label>기증취소자</label>
  399. <value>D</value>
  400. </item>
  401. </choices>
  402. </select1>
  403. <input id="input96" ref="/root/send/fromdd" class="input_default" navindex="5" inputtype="date" maxlength="8" format="yyyy-mm-dd" style="left:695px; top:10px; width:95px; height:19px; "/>
  404. <caption id="caption1" class="search_name" style="left:560px; top:10px; width:50px; height:17px; ">조건</caption>
  405. <input id="input25" ref="/root/send/todd" class="input_default" navindex="6" inputtype="date" maxlength="8" format="yyyy-mm-dd" style="left:803px; top:10px; width:95px; height:19px; "/>
  406. <caption id="caption4" style="left:790px; top:10px; width:20px; height:20px; ">~</caption>
  407. <select1 id="combo3" ref="/root/send/monflag" navindex="1" appearance="minimal" style="left:615px; top:10px; width:75px; height:19px; ">
  408. <choices>
  409. <item>
  410. <label/>
  411. <value>2</value>
  412. </item>
  413. <item>
  414. <label>사망년월</label>
  415. <value>0</value>
  416. </item>
  417. <item>
  418. <label>화장년월</label>
  419. <value>1</value>
  420. </item>
  421. </choices>
  422. <script type="javascript" ev:event="xforms-value-changed">
  423. <![CDATA[
  424. if (model.getValue("/root/send/monflag") != '2') {
  425. model.setValue("/root/send/todd", getCurrentDate());
  426. var getFromdate = input25.value.toDate().getAddDate(-12,"M").getDateFormat("YYYYMMDD") ;
  427. model.setValue("/root/send/fromdd", getFromdate);
  428. } else {
  429. model.setValue("/root/send/todd", "");
  430. model.setValue("/root/send/fromdd", "");
  431. };
  432. input96.refresh();
  433. input25.refresh();
  434. ]]>
  435. </script>
  436. </select1>
  437. </group>
  438. <button id="btn_excel" class="btn2_letter4" navindex="12" style="left:1126px; top:49px; width:64px; height:19px; ">
  439. <caption>엑셀저장</caption>
  440. <script type="javascript" ev:event="DOMActivate">
  441. <![CDATA[
  442. fExeSaveToExcel();
  443. ]]>
  444. </script>
  445. </button>
  446. <button id="button5" class="btn4_letter2" style="left:303px; top:47px; width:56px; height:22px; ">
  447. <caption>다음</caption>
  448. <script type="javascript" ev:event="DOMActivate">
  449. <![CDATA[
  450. fGetTestInfoList(Number(model.getValue("/root/hidden/paval")) + 1);
  451. ]]>
  452. </script>
  453. </button>
  454. <input id="ipt_paval" ref="/root/hidden/paval" class="input_search" style="left:173px; top:49px; width:65px; height:19px; text-align:right; ">
  455. <script type="javascript" ev:event="xforms-value-changed">
  456. <![CDATA[
  457. fGetTestInfoList(model.getValue("/root/hidden/paval"));
  458. ]]>
  459. </script>
  460. <script type="javascript" ev:event="onkeypress">
  461. <![CDATA[
  462. if(event.keyCode == 13 && ipt_paval.currentText != ipt_paval.value) {
  463. model.setValue("/root/hidden/paval", ipt_paval.currentText);
  464. ipt_paval.dispatch("xforms-value-changed");
  465. }
  466. else if(event.keyCode != 8 && (event.keyCode < 48 || event.keyCode > 57)) {
  467. event.defaultAction = "cancel";
  468. }
  469. ]]>
  470. </script>
  471. </input>
  472. <button id="button6" class="btn3_letter2" style="left:55px; top:47px; width:56px; height:22px; ">
  473. <caption>처음</caption>
  474. <script type="javascript" ev:event="DOMActivate">
  475. <![CDATA[
  476. fGetTestInfoList(1);
  477. ]]>
  478. </script>
  479. </button>
  480. <button id="button8" class="btn4_letter2" style="left:362; top:47px; width:56px; height:22px; ">
  481. <caption>최종</caption>
  482. <script type="javascript" ev:event="DOMActivate">
  483. <![CDATA[
  484. fGetTestInfoList(model.getValue("/root/main/list/lastpage/lastpage"));
  485. ]]>
  486. </script>
  487. </button>
  488. <caption id="cap_lastPage" ref="/root/main/donat/lastpage/lastpage" style="left:248px; top:49px; width:60px; height:20px; font-size:9pt; font-weight:bold; ">1</caption>
  489. <button id="btn_prntexcel" class="btn3_letter2" style="left:114px; top:47px; width:56px; height:22px; ">
  490. <caption>이전</caption>
  491. <script type="javascript" ev:event="DOMActivate">
  492. <![CDATA[
  493. fGetTestInfoList(Number(model.getValue("/root/hidden/paval")) - 1);
  494. ]]>
  495. </script>
  496. </button>
  497. <caption id="caption38" style="left:240px; top:49px; width:11px; height:20px; font-size:9pt; font-weight:bold; ">/</caption>
  498. </group>
  499. </xhtml:body>
  500. </xhtml:html>