diff options
author | RaindropsSys <contact@minteck.org> | 2023-06-22 23:06:12 +0200 |
---|---|---|
committer | RaindropsSys <contact@minteck.org> | 2023-06-22 23:06:12 +0200 |
commit | 23563c7188e089929b60f9e10721c6fc43a220ff (patch) | |
tree | edfe2b009c82900d4ac27db02222d2f68dcad846 /includes/external/school/node_modules/w3c-xmlserializer/lib/attributes.js | |
parent | 7a7a49332df7c852abbaa33c7e8e87f93d064d61 (diff) | |
download | pluralconnect-23563c7188e089929b60f9e10721c6fc43a220ff.tar.gz pluralconnect-23563c7188e089929b60f9e10721c6fc43a220ff.tar.bz2 pluralconnect-23563c7188e089929b60f9e10721c6fc43a220ff.zip |
Updated 15 files, added includes/maintenance/deleteUnusedAssets.php and deleted 4944 files (automated)
Diffstat (limited to 'includes/external/school/node_modules/w3c-xmlserializer/lib/attributes.js')
-rw-r--r-- | includes/external/school/node_modules/w3c-xmlserializer/lib/attributes.js | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/includes/external/school/node_modules/w3c-xmlserializer/lib/attributes.js b/includes/external/school/node_modules/w3c-xmlserializer/lib/attributes.js deleted file mode 100644 index eff9e41..0000000 --- a/includes/external/school/node_modules/w3c-xmlserializer/lib/attributes.js +++ /dev/null @@ -1,128 +0,0 @@ -"use strict"; - -const xnv = require("xml-name-validator"); - -const { NAMESPACES } = require("./constants"); - -function generatePrefix(map, newNamespace, prefixIndex) { - const generatedPrefix = "ns" + prefixIndex; - map[newNamespace] = [generatedPrefix]; - return generatedPrefix; -} - -function preferredPrefixString(map, ns, preferredPrefix) { - const candidateList = map[ns]; - if (!candidateList) { - return null; - } - if (candidateList.includes(preferredPrefix)) { - return preferredPrefix; - } - return candidateList[candidateList.length - 1]; -} - -function serializeAttributeValue(value/* , requireWellFormed*/) { - if (value === null) { - return ""; - } - // TODO: Check well-formedness - return value - .replace(/&/g, "&") - .replace(/"/g, """) - .replace(/</g, "<") - .replace(/>/g, ">") - .replace(/\t/g, "	") - .replace(/\n/g, "
") - .replace(/\r/g, "
"); -} - -function serializeAttributes( - element, - map, - localPrefixes, - ignoreNamespaceDefAttr, - requireWellFormed, - refs -) { - let result = ""; - const namespaceLocalnames = Object.create(null); - for (const attr of element.attributes) { - if ( - requireWellFormed && - namespaceLocalnames[attr.namespaceURI] && - namespaceLocalnames[attr.namespaceURI].has(attr.localName) - ) { - throw new Error("Found duplicated attribute"); - } - if (!namespaceLocalnames[attr.namespaceURI]) { - namespaceLocalnames[attr.namespaceURI] = new Set(); - } - namespaceLocalnames[attr.namespaceURI].add(attr.localName); - const attributeNamespace = attr.namespaceURI; - let candidatePrefix = null; - if (attributeNamespace !== null) { - candidatePrefix = preferredPrefixString( - map, - attributeNamespace, - attr.prefix - ); - if (attributeNamespace === NAMESPACES.XMLNS) { - if ( - attr.value === NAMESPACES.XML || - (attr.prefix === null && ignoreNamespaceDefAttr) || - (attr.prefix !== null && - localPrefixes[attr.localName] !== attr.value && - map[attr.value].includes(attr.localName)) - ) { - continue; - } - if (requireWellFormed && attr.value === NAMESPACES.XMLNS) { - throw new Error( - "The XMLNS namespace is reserved and cannot be applied as an element's namespace via XML parsing" - ); - } - if (requireWellFormed && attr.value === "") { - throw new Error( - "Namespace prefix declarations cannot be used to undeclare a namespace" - ); - } - if (attr.prefix === "xmlns") { - candidatePrefix = "xmlns"; - } - } else if (candidatePrefix === null) { - candidatePrefix = generatePrefix( - map, - attributeNamespace, - refs.prefixIndex++ - ); - result += ` xmlns:${candidatePrefix}="${serializeAttributeValue( - attributeNamespace, - requireWellFormed - )}"`; - } - } - - result += " "; - if (candidatePrefix !== null) { - result += candidatePrefix + ":"; - } - if ( - requireWellFormed && - (attr.localName.includes(":") || - !xnv.name(attr.localName) || - (attr.localName === "xmlns" && attributeNamespace === null)) - ) { - throw new Error("Invalid attribute localName value"); - } - result += `${attr.localName}="${serializeAttributeValue( - attr.value, - requireWellFormed - )}"`; - } - return result; -} - -module.exports.preferredPrefixString = preferredPrefixString; -module.exports.generatePrefix = generatePrefix; -module.exports.serializeAttributeValue = serializeAttributeValue; -module.exports.serializeAttributes = serializeAttributes; |