/** * Scans surrogates and append them to the specified buffer. * <p> * <strong>Note:</strong> This assumes the current char has already been * identified as a high surrogate. * * @param buf The StringBuffer to append the read surrogates to. * @return True if it succeeded. */ private boolean scanSurrogates(XMLStringBuffer buf) throws IOException, JasperException { int high = scanChar(); int low = peekChar(); if (!XMLChar.isLowSurrogate(low)) { err.jspError(MESSAGES.invalidCharInContent(Integer.toString(high, 16))); return false; } scanChar(); // convert surrogates to supplemental character int c = XMLChar.supplemental((char)high, (char)low); // supplemental character must be a valid XML character if (!XMLChar.isValid(c)) { err.jspError(MESSAGES.invalidCharInContent(Integer.toString(c, 16))); return false; } // fill in the buffer buf.append((char)high); buf.append((char)low); return true; }
/** * Scans surrogates and append them to the specified buffer. * <p> * <strong>Note:</strong> This assumes the current char has already been * identified as a high surrogate. * * @param buf The StringBuffer to append the read surrogates to. * @returns True if it succeeded. */ private boolean scanSurrogates(XMLStringBuffer buf) throws IOException, JasperException { int high = scanChar(); int low = peekChar(); if (!XMLChar.isLowSurrogate(low)) { err.jspError(MESSAGES.invalidCharInContent(Integer.toString(high, 16))); return false; } scanChar(); // convert surrogates to supplemental character int c = XMLChar.supplemental((char)high, (char)low); // supplemental character must be a valid XML character if (!XMLChar.isValid(c)) { err.jspError(MESSAGES.invalidCharInContent(Integer.toString(c, 16))); return false; } // fill in the buffer buf.append((char)high); buf.append((char)low); return true; }
private void scanXMLDecl() throws IOException, JasperException { if (skipString("<?xml")) { // NOTE: special case where document starts with a PI // whose name starts with "xml" (e.g. "xmlfoo") if (XMLChar.isName(peekChar())) { fStringBuffer.clear(); fStringBuffer.append("xml"); while (XMLChar.isName(peekChar())) { fStringBuffer.append((char)scanChar()); } String target = fSymbolTable.addSymbol(fStringBuffer.ch, fStringBuffer.offset, fStringBuffer.length); scanPIData(target, fString); } // standard XML declaration else { scanXMLDeclOrTextDecl(false); } } }
private void scanXMLDecl() throws IOException, JasperException { if (skipString("<?xml")) { fMarkupDepth++; // NOTE: special case where document starts with a PI // whose name starts with "xml" (e.g. "xmlfoo") if (XMLChar.isName(peekChar())) { fStringBuffer.clear(); fStringBuffer.append("xml"); while (XMLChar.isName(peekChar())) { fStringBuffer.append((char)scanChar()); } String target = fSymbolTable.addSymbol(fStringBuffer.ch, fStringBuffer.offset, fStringBuffer.length); scanPIData(target, fString); } // standard XML declaration else { scanXMLDeclOrTextDecl(false); } } }
private void scanXMLDecl() throws IOException, JasperException { if (skipString("<?xml")) { // NOTE: special case where document starts with a PI // whose name starts with "xml" (e.g. "xmlfoo") if (XMLChar.isName(peekChar())) { fStringBuffer.clear(); fStringBuffer.append("xml"); while (XMLChar.isName(peekChar())) { fStringBuffer.append((char)scanChar()); } String target = fSymbolTable.addSymbol(fStringBuffer.ch, fStringBuffer.offset, fStringBuffer.length); scanPIData(target, fString); } // standard XML declaration else { scanXMLDeclOrTextDecl(false); } } }
private void scanXMLDecl() throws IOException, JasperException { if (skipString("<?xml")) { fMarkupDepth++; // NOTE: special case where document starts with a PI // whose name starts with "xml" (e.g. "xmlfoo") if (XMLChar.isName(peekChar())) { fStringBuffer.clear(); fStringBuffer.append("xml"); while (XMLChar.isName(peekChar())) { fStringBuffer.append((char)scanChar()); } String target = fSymbolTable.addSymbol(fStringBuffer.ch, fStringBuffer.offset, fStringBuffer.length); scanPIData(target, fString); } // standard XML declaration else { scanXMLDeclOrTextDecl(false); } } }
private void scanXMLDecl() throws IOException, JasperException { if (skipString("<?xml")) { fMarkupDepth++; // NOTE: special case where document starts with a PI // whose name starts with "xml" (e.g. "xmlfoo") if (XMLChar.isName(peekChar())) { fStringBuffer.clear(); fStringBuffer.append("xml"); while (XMLChar.isName(peekChar())) { fStringBuffer.append((char)scanChar()); } String target = fSymbolTable.addSymbol(fStringBuffer.ch, fStringBuffer.offset, fStringBuffer.length); scanPIData(target, fString); } // standard XML declaration else { scanXMLDeclOrTextDecl(false); } } }
private void scanXMLDecl() throws IOException, JasperException { if (skipString("<?xml")) { fMarkupDepth++; // NOTE: special case where document starts with a PI // whose name starts with "xml" (e.g. "xmlfoo") if (XMLChar.isName(peekChar())) { fStringBuffer.clear(); fStringBuffer.append("xml"); while (XMLChar.isName(peekChar())) { fStringBuffer.append((char)scanChar()); } String target = fSymbolTable.addSymbol(fStringBuffer.ch, fStringBuffer.offset, fStringBuffer.length); scanPIData(target, fString); } // standard XML declaration else { scanXMLDeclOrTextDecl(false); } } }
private void scanXMLDecl() throws IOException, JasperException { if (skipString("<?xml")) { fMarkupDepth++; // NOTE: special case where document starts with a PI // whose name starts with "xml" (e.g. "xmlfoo") if (XMLChar.isName(peekChar())) { fStringBuffer.clear(); fStringBuffer.append("xml"); while (XMLChar.isName(peekChar())) { fStringBuffer.append((char)scanChar()); } String target = fSymbolTable.addSymbol(fStringBuffer.ch, fStringBuffer.offset, fStringBuffer.length); scanPIData(target, fString); } // standard XML declaration else { scanXMLDeclOrTextDecl(false); } } }
private void scanXMLDecl() throws IOException, JasperException { if (skipString("<?xml")) { fMarkupDepth++; // NOTE: special case where document starts with a PI // whose name starts with "xml" (e.g. "xmlfoo") if (XMLChar.isName(peekChar())) { fStringBuffer.clear(); fStringBuffer.append("xml"); while (XMLChar.isName(peekChar())) { fStringBuffer.append((char)scanChar()); } String target = fSymbolTable.addSymbol(fStringBuffer.ch, fStringBuffer.offset, fStringBuffer.length); scanPIData(target, fString); } // standard XML declaration else { scanXMLDeclOrTextDecl(false); } } }
private void scanXMLDecl() throws IOException, JasperException { if (skipString("<?xml")) { fMarkupDepth++; // NOTE: special case where document starts with a PI // whose name starts with "xml" (e.g. "xmlfoo") if (XMLChar.isName(peekChar())) { fStringBuffer.clear(); fStringBuffer.append("xml"); while (XMLChar.isName(peekChar())) { fStringBuffer.append((char)scanChar()); } String target = fSymbolTable.addSymbol(fStringBuffer.ch, fStringBuffer.offset, fStringBuffer.length); scanPIData(target, fString); } // standard XML declaration else { scanXMLDeclOrTextDecl(false); } } }
private void scanXMLDecl() throws IOException, JasperException { if (skipString("<?xml")) { fMarkupDepth++; // NOTE: special case where document starts with a PI // whose name starts with "xml" (e.g. "xmlfoo") if (XMLChar.isName(peekChar())) { fStringBuffer.clear(); fStringBuffer.append("xml"); while (XMLChar.isName(peekChar())) { fStringBuffer.append((char)scanChar()); } String target = fSymbolTable.addSymbol(fStringBuffer.ch, fStringBuffer.offset, fStringBuffer.length); scanPIData(target, fString); } // standard XML declaration else { scanXMLDeclOrTextDecl(false); } } }
private void scanXMLDecl() throws IOException, JasperException { if (skipString("<?xml")) { fMarkupDepth++; // NOTE: special case where document starts with a PI // whose name starts with "xml" (e.g. "xmlfoo") if (XMLChar.isName(peekChar())) { fStringBuffer.clear(); fStringBuffer.append("xml"); while (XMLChar.isName(peekChar())) { fStringBuffer.append((char)scanChar()); } String target = fSymbolTable.addSymbol(fStringBuffer.ch, fStringBuffer.offset, fStringBuffer.length); scanPIData(target, fString); } // standard XML declaration else { scanXMLDeclOrTextDecl(false); } } }
private void scanXMLDecl() throws IOException, JasperException { if (skipString("<?xml")) { fMarkupDepth++; // NOTE: special case where document starts with a PI // whose name starts with "xml" (e.g. "xmlfoo") if (XMLChar.isName(peekChar())) { fStringBuffer.clear(); fStringBuffer.append("xml"); while (XMLChar.isName(peekChar())) { fStringBuffer.append((char)scanChar()); } String target = fSymbolTable.addSymbol(fStringBuffer.ch, fStringBuffer.offset, fStringBuffer.length); scanPIData(target, fString); } // standard XML declaration else { scanXMLDeclOrTextDecl(false); } } }
private void scanXMLDecl() throws IOException, JasperException { if (skipString("<?xml")) { fMarkupDepth++; // NOTE: special case where document starts with a PI // whose name starts with "xml" (e.g. "xmlfoo") if (XMLChar.isName(peekChar())) { fStringBuffer.clear(); fStringBuffer.append("xml"); while (XMLChar.isName(peekChar())) { fStringBuffer.append((char)scanChar()); } String target = fSymbolTable.addSymbol(fStringBuffer.ch, fStringBuffer.offset, fStringBuffer.length); scanPIData(target, fString); } // standard XML declaration else { scanXMLDeclOrTextDecl(false); } } }