// függőségek if ("undefined" == typeof AITIA) { alert("AITIA include missing!"); } // többszörös include if ("undefined" != typeof AITIA_XML) { alert("AITIA_DOM multiple insert!"); } AITIA_XML = 1; Aitia.XML = {}; /* Aitia.Dom.getCurrentTable = function(currentNode) { } */ // XML-t tartalmazó string xml objektumba töltése function createAndLoadXML(xmlText) { var newXML = false; try { // Internet Explorer //var newXML = new ActiveXObject("Microsoft.XMLDOM"); var newXML = new ActiveXObject(getXmlHttpPrefix() + ".DomDocument"); newXML.async = "false"; newXML.loadXML(xmlText); newXML.setProperty("SelectionLanguage","XPath"); } catch(e) { try { // Firefox, Mozilla, Opera, etc. parser = new DOMParser(); newXML = parser.parseFromString(xmlText,"text/xml"); } catch(e) { //e.message } } if ( newXML ) { if ( newXML.parseError && newXML.parseError.errorCode!=0 ) { // IE /* debugWriteLn("" +newXML.parseError.errorCode +"\n"+newXML.parseError.reason +"\n"+newXML.parseError.line +"\n"+newXML.parseError.linepos +"\n"+newXML.parseError.srcText +"\n"+newXML.parseError.url +"\n"+newXML.parseError.filepos ); */ newXML = false; } else if ( newXML.documentElement && newXML.documentElement.nodeName=="parsererror") { // Egyéb /* (error description) (a snippet of the source XML) */ newXML = false; } } return newXML; } // XML-t tartalmazó stringet fejléc adatokkal látunk el xml objektumba töltéshez function setXMLheader(xmlText) { var xmlHeadPre = ''; xmlHeadPre += ''; var xmlHeadPost = ''; xmlText = trim(xmlText.replace(/<\?xml version="1.0" encoding="utf-8"\?>/gi, '')); xmlText = trim(xmlText.replace(/^\s*]*>/gi, '')); return xmlHeadPre+xmlText+xmlHeadPost; } // xml-ben xpath-os keresés function getXMLNodes(xmlDoc, rootNode, XPathText) { var result = null; try { // ie result = rootNode.selectNodes(XPathText); } catch(e) { try { // Firefox, Mozilla, Opera, etc. var nodes = xmlDoc.evaluate(XPathText, rootNode, null, XPathResult.ANY_TYPE, null); var item = nodes.iterateNext(); if (item) { result = new Array(); while (item) { result.push(item); item = nodes.iterateNext(); } } } catch(e) { } } return result; } // xml-ben node értékének lekérdezése: // getXMLNodeValue(node) // getXMLNodeValue(xmlDoc, rootNode) // getXMLNodeValue(xmlDoc, rootNode, XPathText) function getXMLNodeValue(xmlDoc, rootNode, XPathText) { var nodeValue = ''; if ( arguments.length==1 ) { var node = arguments[0]; if ( typeof node!='undefined' && node ) { if ( node.nodeType==1 ) { // Tag if (typeof XMLSerializer != 'undefined') { // FF var serializer = new XMLSerializer(); nodeValue = serializer.serializeToString(node); } else if ( typeof node.xml!='undefined' && node.xml!==null ) { // IE nodeValue = node.xml; } else { nodeValue = 'ERROR'; } nodeValue = nodeValue.replace(/^<[^>]*>/g, ''); nodeValue = nodeValue.replace(/<\/[^>]*>$/g, ''); if ( node.childNodes && node.childNodes.length==1 && node.childNodes[0].nodeType==4 ) { // Csak egy darab cdata-zott gyereke van nodeValue = nodeValue.replace(/^$/gi, ''); } } else { // Text node nodeValue = node.nodeValue; } nodeValue = nodeValue.replace(/&/g, '&'); } } else if ( arguments.length==2 ) { var node = arguments[0]; var isRoot = arguments[1]; if ( typeof isRoot!='undefined' && isRoot ) { // Szerver oldalon a cdata-zás megoldása miatt van szükség arra, hogy az első szintű gyerekeket egyesével cdata mentesítsük if ( node.childNodes ) { for(var i=0;i 0) { nodeValue = getXMLNodeValue(nodes[0],true); } } return nodeValue; } function getXMLAllNodeValues(xmlDoc, rootNode, XPathText) { var nodeValue = []; var nodes = getXMLNodes(xmlDoc, rootNode, XPathText); if (nodes) { for (var i = 0; i < nodes.length; i++) nodeValue.push(getXMLNodeValue(nodes[i])); } return nodeValue; } function isXmlNode(node) { var ret = false; // FF if (typeof XMLSerializer != 'undefined') { if (node.childNodes.length > 1 || (node.childNodes.length == 1 && node.childNodes.nodeType == 1)) ret = true; } else { if (node.childNodes.length > 0) ret = (node.childNodes[0].nodeType == 1); } return ret; } function xhtmlToHtml(xhtml) { xhtml = ( (typeof xhtml!='undefined' && xhtml!==null) ? xhtml.toString() : '' ); var html = xhtml.replace(new RegExp(' xmlns[^=]*="[^"]*"', 'g'), ''); html = html.replace(/<(br[^>]*)\/>/gi, '<$1>'); html = html.replace(/<(hr[^>]*)\/>/gi,'<$1>'); html = html.replace(/<(img[^>]*)\/>/gi,'<$1>'); html = html.replace(/<([A-Za-z0-9\-\_\:]*)\s?([^>]*)\/>/gi,'<$1 $2>'); return html; } function htmlSpecialChars(tmpStr,apos,quot) { var tmpStr = ( (typeof tmpStr!='undefined' && tmpStr!==null) ? tmpStr.toString() : '' ); var apos = ( typeof apos!='undefined' ? apos : true ); var quot = ( typeof quot!='undefined' ? quot : true ); tmpStr = tmpStr.replace(/&/g,'&'); tmpStr = tmpStr.replace(//g,'>'); if ( quot ) tmpStr = tmpStr.replace(/"/g,'"'); if ( apos ) tmpStr = tmpStr.replace(/'/g,'''); return tmpStr; } function htmlSpecialCharsDecode(tmpStr) { tmpStr = ( (typeof tmpStr!='undefined' && tmpStr!==null) ? tmpStr.toString() : '' ); tmpStr = tmpStr.replace(/</g,'<'); tmpStr = tmpStr.replace(/>/g,'>'); tmpStr = tmpStr.replace(/"/g,'"'); tmpStr = tmpStr.replace(/'/g,"'"); tmpStr = tmpStr.replace(/&/g,'&'); return tmpStr; } function xml2Str(xmlNode) { try { // Gecko- and Webkit-based browsers (Firefox, Chrome), Opera. return (new XMLSerializer()).serializeToString(xmlNode); } catch (e) { try { // Internet Explorer. return xmlNode.xml; } catch (e) { //Other browsers without XML Serializer alert('Xmlserializer not supported'); } } return false; } function strip_tags (input, allowed) { allowed = (((allowed || "") + "").toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join(''); // making sure the allowed arg is a string containing only tags in lowercase () var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi, commentsAndPhpTags = /|<\?(?:php)?[\s\S]*?\?>/gi; return input.replace(commentsAndPhpTags, '').replace(tags, function ($0, $1) { return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : ''; }); }