// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: packimports(3) fieldsfirst lnc // Source File Name: ProcInstParser.java package com.icl.saxon.om; public class ProcInstParser { public ProcInstParser() { } public static String getPseudoAttribute(String s, String s1) { /* 22*/ boolean flag = false; int l; /* 23*/ for(int i = 0; i <= s.length() - 4; i = l + 1) { /* 25*/ int j = -1; /* 26*/ for(int k = i; k < s.length(); k++) { /* 27*/ if(s.charAt(k) != '"' && s.charAt(k) != '\'') /* 28*/ continue; /* 28*/ j = k; /* 29*/ break; } /* 32*/ if(j < 0) /* 32*/ return null; /* 35*/ l = s.indexOf(s.charAt(j), j + 1); /* 36*/ if(l < 0) /* 36*/ return null; /* 37*/ int i1 = s.indexOf(s1, i); /* 38*/ if(i1 < 0) /* 38*/ return null; /* 39*/ if(i1 < j) { /* 41*/ boolean flag1 = true; /* 42*/ for(int j1 = i1 + s1.length(); j1 < j; j1++) { /* 43*/ char c = s.charAt(j1); /* 44*/ if(Character.isWhitespace(c) || c == '=') /* 45*/ continue; /* 45*/ flag1 = false; /* 46*/ break; } /* 49*/ if(flag1) { /* 50*/ String s2 = s.substring(j + 1, l); /* 51*/ return unescape(s2); } } } /* 56*/ return null; } private static String unescape(String s) { /* 64*/ if(s.indexOf('&') < 0) /* 64*/ return s; /* 65*/ StringBuffer stringbuffer = new StringBuffer(); /* 66*/ for(int i = 0; i < s.length(); i++) { /* 67*/ char c = s.charAt(i); /* 68*/ if(c == '&') { /* 69*/ if(i + 2 < s.length() && s.charAt(i + 1) == '#') { /* 70*/ if(s.charAt(i + 2) == 'x') { /* 71*/ int j = i + 3; /* 72*/ int l = 0; /* 74*/ for(; j < s.length() && s.charAt(j) != ';'; j++) { /* 74*/ int j1 = "0123456789abcdef".indexOf(s.charAt(j)); /* 75*/ if(j1 < 0) /* 76*/ j1 = "0123456789ABCDEF".indexOf(s.charAt(j)); /* 78*/ if(j1 < 0) /* 79*/ return null; /* 81*/ l = l * 16 + j1; } /* 84*/ char c1 = (char)l; /* 85*/ stringbuffer.append(c1); /* 86*/ i = j; } else { /* 88*/ int k = i + 2; /* 89*/ int i1 = 0; /* 91*/ for(; k < s.length() && s.charAt(k) != ';'; k++) { /* 91*/ int k1 = "0123456789".indexOf(s.charAt(k)); /* 92*/ if(k1 < 0) /* 93*/ return null; /* 95*/ i1 = i1 * 10 + k1; } /* 98*/ char c2 = (char)i1; /* 99*/ stringbuffer.append(c2); /* 100*/ i = k; } } else /* 102*/ if(s.substring(i + 1).startsWith("lt;")) { /* 103*/ stringbuffer.append('<'); /* 104*/ i += 3; } else /* 105*/ if(s.substring(i + 1).startsWith("gt;")) { /* 106*/ stringbuffer.append('>'); /* 107*/ i += 3; } else /* 108*/ if(s.substring(i + 1).startsWith("amp;")) { /* 109*/ stringbuffer.append('&'); /* 110*/ i += 4; } else /* 111*/ if(s.substring(i + 1).startsWith("quot;")) { /* 112*/ stringbuffer.append('"'); /* 113*/ i += 5; } else /* 114*/ if(s.substring(i + 1).startsWith("apos;")) { /* 115*/ stringbuffer.append('\''); /* 116*/ i += 5; } else { /* 118*/ return null; } } else { /* 122*/ stringbuffer.append(c); } } /* 125*/ return stringbuffer.toString(); } }