1 // Jericho HTML Parser - Java based library for analysing and manipulating HTML 2 // Version 3.2 3 // Copyright (C) 2004-2009 Martin Jericho 4 // http://jericho.htmlparser.net/ 5 // 6 // This library is free software; you can redistribute it and/or 7 // modify it under the terms of either one of the following licences: 8 // 9 // 1. The Eclipse Public License (EPL) version 1.0, 10 // included in this distribution in the file licence-epl-1.0.html 11 // or available at http://www.eclipse.org/legal/epl-v10.html 12 // 13 // 2. The GNU Lesser General Public License (LGPL) version 2.1 or later, 14 // included in this distribution in the file licence-lgpl-2.1.txt 15 // or available at http://www.gnu.org/licenses/lgpl.txt 16 // 17 // This library is distributed on an "AS IS" basis, 18 // WITHOUT WARRANTY OF ANY KIND, either express or implied. 19 // See the individual licence texts for more details. 20 21 package net.htmlparser.jericho; 22 23 final class EndTagTypeUnregistered extends EndTagType { 24 static final EndTagTypeUnregistered INSTANCE=new EndTagTypeUnregistered(); 25 EndTagTypeUnregistered()26 private EndTagTypeUnregistered() { 27 super("/unregistered",START_DELIMITER_PREFIX,">",false); 28 } 29 constructTagAt(final Source source, final int pos)30 protected Tag constructTagAt(final Source source, final int pos) { 31 final ParseText parseText=source.getParseText(); 32 final int nameBegin=pos+getStartDelimiter().length(); 33 final int nameEnd=parseText.indexOf(getClosingDelimiter(),nameBegin); 34 final String name=source.getName(nameBegin,nameEnd); // throws IndexOutOfBoundsException if nameEnd==-1 35 final EndTag endTag=constructEndTag(source,pos,nameEnd+getClosingDelimiter().length(),name); 36 if (source.logger.isInfoEnabled()) source.logger.info(source.getRowColumnVector(pos).appendTo(new StringBuilder(200).append("Encountered possible EndTag at ")).append(" whose content does not match a registered EndTagType").toString()); 37 return endTag; 38 } 39 } 40