hieviewer.jsp 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. <%@page contentType="text/html; charset=euc-kr" %>
  2. <%@page import="java.net.URLDecoder" %>
  3. <%
  4. String cdastr = URLDecoder.decode(request.getParameter("cdastr"),"UTF-8");
  5. %>
  6. <!DOCTYPE html>
  7. <html>
  8. <head>
  9. <script>
  10. function fRun(){
  11. //var xml = window.dialogArguments;
  12. xslStylesheet('<%= cdastr %>');
  13. }
  14. function xslStylesheet(xmlString){
  15. var xslStylesheet;
  16. var myXMLHTTPRequest;
  17. var fragment;
  18. var xsl_url = './hieviewer.xsl';
  19. var docviewTable = document.getElementById('docviewTable');
  20. var xmlDoc = TpLoadXMLString(xmlString);
  21. if(window.ActiveXObject || 'ActiveXObject' in window){
  22. var objXSLT=new ActiveXObject('MSXML2.FreeThreadedDOMDocument.6.0');
  23. objXSLT.async = false;
  24. objXSLT.load(xsl_url);
  25. var objCache = new ActiveXObject("Msxml2.XSLTemplate.6.0");
  26. objCache.stylesheet = objXSLT;
  27. var objXSLTProc = objCache.createProcessor();
  28. objXSLTProc.input = xmlDoc;
  29. objXSLTProc.transform();
  30. console.log(xmlDoc);
  31. docviewTable.innerHTML = objXSLTProc.output;
  32. }
  33. else
  34. {
  35. myXMLHTTPRequest = new XMLHttpRequest();
  36. myXMLHTTPRequest.open("GET", xsl_url, false);
  37. myXMLHTTPRequest.send(null);
  38. xslStylesheet = myXMLHTTPRequest.responseXML;
  39. console.log(xslStylesheet);
  40. if (typeof XSLTProcessor !== 'undefined') {
  41. var xsltProcessor = new XSLTProcessor();
  42. xsltProcessor.importStylesheet(xslStylesheet);
  43. fragment = xsltProcessor.transformToFragment(xmlDoc, document);
  44. console.log(fragment);
  45. docviewTable.appendChild(fragment);
  46. }
  47. else if (typeof xmlDoc.transformNode !== 'undefined') {
  48. document.getElementById("docviewTable").innerHTML = xmlDoc.transformNode(xslStylesheet);
  49. }
  50. }
  51. return fragment;
  52. }
  53. function TpLoadXMLString(XMLString) {
  54. return CreateXMLDOM(XMLString);
  55. }
  56. function CreateXMLDOM(XMLStr) {
  57. if (window.ActiveXObject)
  58. {
  59. xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  60. xmlDoc.loadXML(XMLStr);
  61. return xmlDoc;
  62. }
  63. else if (document.implementation && document.implementation.createDocument) {
  64. var parser=new DOMParser();
  65. return parser.parseFromString(XMLStr,"text/xml");
  66. }
  67. else {
  68. return null;
  69. }
  70. }
  71. function hide_show(obj){
  72. var section = obj.parentNode;
  73. var ss = section.childNodes;
  74. var element = document.getElementsByTagName( 'label' );
  75. var len = element.length - 1;
  76. if(ss[0].parentNode.classList[1]) {
  77. ss[0].parentNode.classList.remove('show-content');
  78. }
  79. else {
  80. ss[0].parentNode.classList.add('show-content');
  81. }
  82. var btn = document.getElementById('all-hide-show-button');
  83. var showLen = document.getElementsByClassName('show-content').length;
  84. var text = document.getElementById('all-hide-show-text');
  85. if(btn != null && typeof(btn) !== "undefined") {
  86. var btns = btn.childNodes;
  87. if(len == showLen) {
  88. btns[0].parentElement.classList.add('active');
  89. text.innerText = '접어보기';
  90. }
  91. else {
  92. btns[0].parentElement.classList.remove('active');
  93. text.innerText = '펼쳐보기';
  94. }
  95. }
  96. }
  97. function all_show(){
  98. var btn = document.getElementById('all-hide-show-button');
  99. var bb = btn.childNodes;
  100. var text = document.getElementById('all-hide-show-text');
  101. if(bb[0].parentNode.classList[1]){
  102. bb[0].parentNode.classList.remove('active');
  103. text.innerText = '펼쳐보기';
  104. var element = document.getElementsByTagName( 'label' );
  105. var len = element.length - 1;
  106. for(var i=1; i<=len; i++) {
  107. element[i].classList.remove('show-content');
  108. }
  109. }
  110. else{
  111. bb[0].parentNode.classList.add('active');
  112. text.innerText = '접어보기';
  113. var element = document.getElementsByTagName( 'label' );
  114. var len = element.length - 1;
  115. for(var j=1; j<=len; j++) {
  116. element[j].classList.add('show-content');
  117. }
  118. }
  119. }
  120. </script>
  121. </head>
  122. <body onload="fRun()">
  123. <div id="docviewTable"></div>
  124. </body>
  125. </html>