Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
WIKIPEDIA
/
nodejs
/
callDir
/
node_modules
/
xml-crypto
/
lib
:
utils.js
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
var select = require("xpath").select; function findAttr(node, localName, namespace) { for (var i = 0; i < node.attributes.length; i++) { var attr = node.attributes[i]; if ( attrEqualsExplicitly(attr, localName, namespace) || attrEqualsImplicitly(attr, localName, namespace, node) ) { return attr; } } return null; } function findFirst(doc, xpath) { var nodes = select(xpath, doc); if (nodes.length == 0) throw "could not find xpath " + xpath; return nodes[0]; } function findChilds(node, localName, namespace) { node = node.documentElement || node; var res = []; for (var i = 0; i < node.childNodes.length; i++) { var child = node.childNodes[i]; if (child.localName == localName && (child.namespaceURI == namespace || !namespace)) { res.push(child); } } return res; } function attrEqualsExplicitly(attr, localName, namespace) { return attr.localName == localName && (attr.namespaceURI == namespace || !namespace); } function attrEqualsImplicitly(attr, localName, namespace, node) { return ( attr.localName == localName && ((!attr.namespaceURI && node.namespaceURI == namespace) || !namespace) ); } var xml_special_to_encoded_attribute = { "&": "&", "<": "<", '"': """, "\r": "
", "\n": "
", "\t": "	", }; var xml_special_to_encoded_text = { "&": "&", "<": "<", ">": ">", "\r": "
", }; function encodeSpecialCharactersInAttribute(attributeValue) { return attributeValue.replace(/([&<"\r\n\t])/g, function (str, item) { // Special character normalization. See: // - https://www.w3.org/TR/xml-c14n#ProcessingModel (Attribute Nodes) // - https://www.w3.org/TR/xml-c14n#Example-Chars return xml_special_to_encoded_attribute[item]; }); } function encodeSpecialCharactersInText(text) { return text.replace(/([&<>\r])/g, function (str, item) { // Special character normalization. See: // - https://www.w3.org/TR/xml-c14n#ProcessingModel (Text Nodes) // - https://www.w3.org/TR/xml-c14n#Example-Chars return xml_special_to_encoded_text[item]; }); } exports.findAttr = findAttr; exports.findChilds = findChilds; exports.encodeSpecialCharactersInAttribute = encodeSpecialCharactersInAttribute; exports.encodeSpecialCharactersInText = encodeSpecialCharactersInText; exports.findFirst = findFirst;