Implement Attribute Space Preservation
This commit is contained in:
parent
4dab0b5d4e
commit
c36509902e
1 changed files with 10 additions and 4 deletions
|
@ -17,12 +17,18 @@ export class V2XmlFormatter implements XmlFormatter {
|
||||||
});
|
});
|
||||||
|
|
||||||
// do some light minification to get rid of insignificant whitespace
|
// do some light minification to get rid of insignificant whitespace
|
||||||
xml = xml.replace(/"\s+(?=[^\s]+=)/g, "\" "); // spaces between attributes
|
if (!options.preserveSpacesBetweenAttributes) {
|
||||||
|
xml = xml.replace(/"\s+(?=[^\s]+=)/g, "\" "); // spaces between attributes
|
||||||
|
}
|
||||||
|
|
||||||
xml = xml.replace(/"\s+(?=>)/g, "\""); // spaces between the last attribute and tag close (>)
|
xml = xml.replace(/"\s+(?=>)/g, "\""); // spaces between the last attribute and tag close (>)
|
||||||
xml = xml.replace(/"\s+(?=\/>)/g, "\" "); // spaces between the last attribute and tag close (/>)
|
xml = xml.replace(/"\s+(?=\/>)/g, "\" "); // spaces between the last attribute and tag close (/>)
|
||||||
xml = xml.replace(/(?!<!\[CDATA\[)[^ <>="]\s+[^ <>="]+=(?![^<]*?\]\]>)/g, (match: string) => { // spaces between the node name and the first attribute
|
|
||||||
return match.replace(/\s+/g, " ");
|
if (!options.preserveSpacesBetweenAttributes) {
|
||||||
});
|
xml = xml.replace(/(?!<!\[CDATA\[)[^ <>="]\s+[^ <>="]+=(?![^<]*?\]\]>)/g, (match: string) => { // spaces between the node name and the first attribute
|
||||||
|
return match.replace(/\s+/g, " ");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// the coast is clear - we can drop those "<" brackets back in
|
// the coast is clear - we can drop those "<" brackets back in
|
||||||
xml = this._unsanitizeCommentsAndCDATA(xml);
|
xml = this._unsanitizeCommentsAndCDATA(xml);
|
||||||
|
|
Loading…
Add table
Reference in a new issue