@@ -713,15 +713,8 @@ public static String escapeName(String name, Set<String> namespaces) {
713713 }
714714 final StringBuilder result = new StringBuilder ();
715715 char ch = name .charAt (0 );
716- if (ch != ':' ) {
717- try {
718- if (ch != '?' ) {
719- createDocument ().createElement ("" + ch );
720- }
721- result .append (ch );
722- } catch (Exception ex ) {
723- result .append ("__" ).append (Base32 .encode (Character .toString (ch ))).append ("__" );
724- }
716+ if (com .sun .org .apache .xerces .internal .util .XMLChar .isNameStart (ch ) && ch != ':' || ch == '?' ) {
717+ result .append (ch );
725718 } else {
726719 result .append ("__" ).append (Base32 .encode (Character .toString (ch ))).append ("__" );
727720 }
@@ -730,13 +723,8 @@ public static String escapeName(String name, Set<String> namespaces) {
730723 if (ch == ':' && ("xmlns" .equals (name .substring (0 , i ))
731724 || namespaces .contains (name .substring (0 , i )))) {
732725 result .append (ch );
733- } else if (ch != ':' ) {
734- try {
735- createDocument ().createElement ("a" + ch );
736- result .append (ch );
737- } catch (Exception ex ) {
738- result .append ("__" ).append (Base32 .encode (Character .toString (ch ))).append ("__" );
739- }
726+ } else if (com .sun .org .apache .xerces .internal .util .XMLChar .isName (ch ) && ch != ':' ) {
727+ result .append (ch );
740728 } else {
741729 result .append ("__" ).append (Base32 .encode (Character .toString (ch ))).append ("__" );
742730 }
@@ -1360,18 +1348,6 @@ private static org.w3c.dom.Document createDocument(final String xml)
13601348 return builder .parse (new org .xml .sax .InputSource (new java .io .StringReader (xml )));
13611349 }
13621350
1363- private static org .w3c .dom .Document createDocument ()
1364- throws java .io .IOException , javax .xml .parsers .ParserConfigurationException , org .xml .sax .SAXException {
1365- final javax .xml .parsers .DocumentBuilderFactory factory =
1366- javax .xml .parsers .DocumentBuilderFactory .newInstance ();
1367- factory .setNamespaceAware (true );
1368- factory .setFeature (javax .xml .XMLConstants .FEATURE_SECURE_PROCESSING , true );
1369- final javax .xml .parsers .DocumentBuilder builder = factory .newDocumentBuilder ();
1370- builder .setErrorHandler (new org .xml .sax .helpers .DefaultHandler ());
1371- builder .setEntityResolver (new MyEntityResolver ());
1372- return builder .newDocument ();
1373- }
1374-
13751351 public static Object fromXmlMakeArrays (final String xml ) {
13761352 try {
13771353 org .w3c .dom .Document document = createDocument (xml );
0 commit comments