|
38 | 38 | import java.util.function.BiFunction;
|
39 | 39 | import java.util.function.Function;
|
40 | 40 |
|
41 |
| -@SuppressWarnings({"java:S107", "java:S1119", "java:S3740", "java:S3776", "java:S4276"}) |
| 41 | +@SuppressWarnings({"java:S107", "java:S1119", "java:S2583", "java:S3740", "java:S3776", "java:S4276"}) |
42 | 42 | public final class Xml {
|
43 | 43 | private Xml() {}
|
44 | 44 |
|
@@ -96,7 +96,7 @@ public enum Step {
|
96 | 96 | FOUR_SPACES(4),
|
97 | 97 | COMPACT(0),
|
98 | 98 | TABS(1);
|
99 |
| - private int ident; |
| 99 | + private final int ident; |
100 | 100 |
|
101 | 101 | Step(int ident) {
|
102 | 102 | this.ident = ident;
|
@@ -1030,7 +1030,7 @@ private static void escape(String s, StringBuilder sb) {
|
1030 | 1030 | case '\t':
|
1031 | 1031 | sb.append("\t");
|
1032 | 1032 | break;
|
1033 |
| - case '\u20AC': |
| 1033 | + case '€': |
1034 | 1034 | sb.append("€");
|
1035 | 1035 | break;
|
1036 | 1036 | default:
|
@@ -1316,8 +1316,7 @@ private static Object createMap(
|
1316 | 1316 | final int[] sourceIndex,
|
1317 | 1317 | final Set<String> namespaces,
|
1318 | 1318 | final FromType fromType) {
|
1319 |
| - final Map<String, Object> map = new LinkedHashMap<>(); |
1320 |
| - map.putAll(attrMap); |
| 1319 | + final Map<String, Object> map = new LinkedHashMap<>(attrMap); |
1321 | 1320 | final org.w3c.dom.NodeList nodeList = node.getChildNodes();
|
1322 | 1321 | for (int index = 0; index < nodeList.getLength(); index++) {
|
1323 | 1322 | final org.w3c.dom.Node currentNode = nodeList.item(index);
|
@@ -1760,14 +1759,12 @@ private static Map<String, String> getHeaderAttributes(final String xml) {
|
1760 | 1759 | XML_HEADER.length(),
|
1761 | 1760 | Math.max(XML_HEADER.length(), xml.indexOf("?>", XML_HEADER.length())));
|
1762 | 1761 | final Map<String, String> attributes = parseAttributes(xmlLocal);
|
1763 |
| - for (Map.Entry<String, String> attribute : attributes.entrySet()) { |
1764 |
| - result.put(attribute.getKey(), attribute.getValue()); |
1765 |
| - } |
| 1762 | + result.putAll(attributes); |
1766 | 1763 | }
|
1767 | 1764 | return result;
|
1768 | 1765 | }
|
1769 | 1766 |
|
1770 |
| - protected static String getDoctypeValue(final String xml) { |
| 1767 | + static String getDoctypeValue(final String xml) { |
1771 | 1768 | int startIndex = xml.indexOf(DOCTYPE_HEADER) + DOCTYPE_HEADER.length();
|
1772 | 1769 | char charToFind = '>';
|
1773 | 1770 | int endIndexPlus = 0;
|
@@ -1819,7 +1816,7 @@ private static org.w3c.dom.Document createDocument() {
|
1819 | 1816 | final javax.xml.parsers.DocumentBuilder builder = factory.newDocumentBuilder();
|
1820 | 1817 | return builder.newDocument();
|
1821 | 1818 | } catch (javax.xml.parsers.ParserConfigurationException ex) {
|
1822 |
| - return null; |
| 1819 | + throw new IllegalArgumentException(ex); |
1823 | 1820 | }
|
1824 | 1821 | }
|
1825 | 1822 |
|
@@ -1888,17 +1885,18 @@ public static Object fromXmlWithoutNamespaces(final String xml) {
|
1888 | 1885 | (object, namespaces) -> {
|
1889 | 1886 | final String localString = String.valueOf(object);
|
1890 | 1887 | final String result;
|
| 1888 | + String substring = localString.substring( |
| 1889 | + Math.max(0, localString.indexOf(':') + 1)); |
1891 | 1890 | if (localString.startsWith("-")
|
1892 | 1891 | && namespaces.contains(
|
1893 | 1892 | localString.substring(
|
1894 | 1893 | 1, Math.max(1, localString.indexOf(':'))))) {
|
1895 | 1894 | result =
|
1896 | 1895 | "-"
|
1897 |
| - + localString.substring( |
1898 |
| - Math.max(0, localString.indexOf(':') + 1)); |
| 1896 | + + substring; |
1899 | 1897 | } else if (namespaces.contains(
|
1900 | 1898 | localString.substring(0, Math.max(0, localString.indexOf(':'))))) {
|
1901 |
| - result = localString.substring(Math.max(0, localString.indexOf(':') + 1)); |
| 1899 | + result = substring; |
1902 | 1900 | } else {
|
1903 | 1901 | result = String.valueOf(object);
|
1904 | 1902 | }
|
|
0 commit comments