- Timestamp:
- 11/12/14 00:04:20 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
SRUClient/trunk/src/main/java/eu/clarin/sru/client/XmlStreamReaderUtils.java
r5750 r5796 43 43 String namespaceURI, String localName, boolean required, 44 44 boolean attributes) throws XMLStreamException { 45 // System.err.println("readStart (" + localName + ", required = " +46 // required + ") @ " + toReadable(reader));47 45 if (!reader.isEndElement()) { 48 46 while (reader.hasNext()) { 49 // System.err.println(" LOOP: " + dumpState());50 47 if (reader.isWhiteSpace()) { 51 48 reader.next(); … … 55 52 if (namespaceURI.equals(reader.getNamespaceURI()) && 56 53 localName.equals(reader.getLocalName())) { 57 // System.err.print("--> found ");58 54 if (!attributes) { 59 // System.err.print("and consumed ");60 55 reader.next(); // skip to next event 61 56 } 62 // System.err.println("@ " + toReadable(reader));63 57 return true; 64 58 } … … 72 66 } 73 67 if (required) { 74 // System.err.println("--> error, not found @ " +75 // toReadable(reader));76 68 throw new XMLStreamException("expected element '" + 77 69 new QName(namespaceURI, localName) + "', but found '" + 78 70 reader.getName() + "'", reader.getLocation()); 79 71 } 80 // System.err.println("--> not found @ " + toReadable(reader));81 72 return false; 82 73 } … … 91 82 public static void readEnd(XMLStreamReader reader, String namespaceURI, 92 83 String localName, boolean skipContent) throws XMLStreamException { 93 // System.err.println("readEnd (" + localName + ") @ " + dumpState() +94 // ", skipContent = " + skipContent);95 84 int level = 1; 96 85 while (reader.hasNext()) { 97 // System.err.println(" LOOP " + dumpState() + " [" +98 // level + "]");99 86 if (reader.isWhiteSpace()) { 100 87 reader.next(); … … 107 94 } 108 95 if (reader.isStartElement()) { 109 if (!(namespaceURI.equals(reader.getNamespaceURI()) && 110 localName.equals(reader.getLocalName()))) { 111 level++; 112 } 96 level++; 113 97 reader.next(); 114 98 continue; 115 99 } 116 } 100 } // skipContent 117 101 if (reader.isEndElement()) { 118 102 level--; 119 // System.err.println(" @END-TAG: " + dumpState() + " [" +120 // level + "]");121 103 if (level == 0) { 122 104 if (namespaceURI.equals(reader.getNamespaceURI()) && … … 127 109 throw new XMLStreamException("expected end tag for '" + 128 110 new QName(namespaceURI, localName) + 129 "', but found '" + reader.getName() + "'",130 reader.get Location());111 "', but found end tag for '" + 112 reader.getName() + "'", reader.getLocation()); 131 113 } 132 } 133 } 134 reader.next(); 135 } 136 // System.err.println("--> ok @ " + dumpState()); 114 } else { 115 reader.next(); // consume tag 116 } 117 } else { 118 if (reader.isStartElement()) { 119 throw new XMLStreamException("expected end tag for '" + 120 new QName(namespaceURI, localName) + 121 "', but found start tag for '" + reader.getName() + 122 "'", reader.getLocation()); 123 } else { 124 throw new XMLStreamException("expected end tag for '" + 125 new QName(namespaceURI, localName) + "'", 126 reader.getLocation()); 127 } 128 } 129 } // while 137 130 } 138 131 … … 261 254 262 255 256 public static void skipTag(XMLStreamReader reader, String namespaceURI, 257 String localName, boolean required) throws XMLStreamException { 258 if (readStart(reader, namespaceURI, localName, required)) { 259 readEnd(reader, namespaceURI, localName, true); 260 } 261 } 262 263 264 public static void skipTag(XMLStreamReader reader, String namespaceURI, 265 String localName) throws XMLStreamException { 266 skipTag(reader, namespaceURI, localName, false); 267 } 268 269 263 270 public static void consumeStart(XMLStreamReader reader) 264 271 throws XMLStreamException {
Note: See TracChangeset
for help on using the changeset viewer.