hieviewer.html 4.5 KB

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