public static String getIndented(String inHTML) { String formated_html = null; try { StringWriter writer = new StringWriter(); new SourceFormatter(new Source(inHTML)).setIndentString(" ").setTidyTags(true).setCollapseWhiteSpace(true).writeTo(writer); formated_html = writer.toString(); } catch (IOException e) { LOG.log(Level.SEVERE, null, e); } return formated_html; }
private List<Element> filterByElementNameIfConfigured(Source source) { if (filterElementName) { return source.getAllElements(elementNameFilter); } return source.getAllElements(); }
public List<Element> getChildElements() { return fSource.getChildElements(); }
public NodeIterator(final Segment segment) { this.segment=segment; source=segment.source; if (segment==source) source.fullSequentialParse(); pos=segment.begin; nextTag=source.getNextTag(pos); if (nextTag!=null && nextTag.begin>=segment.end) nextTag=null; }
public static List<String> getForms(ZestResponse response) { List<String> list = new ArrayList<String>(); Source src = new Source(response.getHeaders() + response.getBody()); List<Element> formElements = src.getAllElements(HTMLElementName.FORM); int formId = 0; while (formElements != null && formId < formElements.size()) { // TODO support form names // Element form = formElements.get(formId); list.add(Integer.toString(formId)); formId++; } return list; }
Source sourceHtml = new Source(source); sourceHtml.setLogger(null); sourceHtml.fullSequentialParse(); List<Tag> tags = sourceHtml.getAllTags();
public CFMLSource(String contents) { CFMLTags.register(); if (contents != null && contents.contains("<!---")) { fSource = new Source(contents); } else { fSource = new Source(contents); } // fSource.ignoreWhenParsing(fSource.getAllElements(CFMLTags.CFML_CONTENT)); // fSource.ignoreWhenParsing(fSource.getAllElements(CFMLTags.CFML_COMMENT)); fSource.setLogger(this); }
@Override public void parse(URL url, Reader reader, IHtmlCallback callback, String fileName) throws TranslatorToCAst.Error { warnings.clear(); Parser parser = new Parser(callback, fileName); Source src; try { src = new Source(reader); src.setLogger(Config.LoggerProvider.getLogger(fileName)); List<Element> childElements = src.getChildElements(); for (Element e : childElements) { parser.parse(e); } if (! warnings.isEmpty()) { throw new TranslatorToCAst.Error(warnings); } } catch (IOException e) { System.err.println("Error parsing file: " + e.getMessage()); } } /**
public String stripHtml(String input) { return new Source(input).getRenderer().toString(); }
Source trgHtml = new Source(outputFile.toURI().toURL()); trgHtml.fullSequentialParse(); List<Element> trgEntries = trgHtml.getAllElements(HTMLElementName.P); Source srcHtml = new Source(inputFile.toURI().toURL()); srcHtml.fullSequentialParse(); List<Element> srcEntries = srcHtml.getAllElements(HTMLElementName.P);
html = new Source(htmlTargetFile.toURI().toURL()); html.fullSequentialParse(); List<Element> paragraphs = html.getAllElements(HTMLElementName.P); if ( html != null ) html.clearCache(); htmlTargetFile.delete(); store.close();
public List<TemplateNode> parse(Reader reader, String className) throws IOException { source = new Source(reader); use(source, "std", "org.teavm.flavour.components.standard"); use(source, "event", "org.teavm.flavour.components.events"); use(source, "attr", "org.teavm.flavour.components.attributes"); use(source, "html", "org.teavm.flavour.components.html"); pushVar("this", new GenericClass(className)); position = source.getBegin(); List<TemplateNode> nodes = new ArrayList<>(); parseSegment(source.getEnd(), nodes, elem -> true); popVar("this"); source = null; return nodes; }
public static void htmlToPlainText(@Nonnull Reader from, @Nonnull Writer to) throws IOException { final Source source = new Source(from); source.fullSequentialParse(); final TextExtractor extractor = source.getTextExtractor().setIncludeAttributes(true); extractor.writeTo(to); }
source = new Source(message.getResponseBody().toString()); Element base = source.getFirstElement(HTMLElementName.BASE); if (base != null) { if (log.isDebugEnabled()) { List<Element> forms = source.getAllElements(HTMLElementName.FORM);
@Override public String filter(String source, Map<String, Object> properties) { Source sourceHtml = new Source(source); sourceHtml.setLogger(null); OutputDocument outputDocument = new OutputDocument(sourceHtml); List<StartTag> tags = sourceHtml.getAllStartTags(FORMULA_TAG_NAME); for (StartTag tag : tags) { EndTag endTag = tag.getElement().getEndTag();
public HtmlContextAnalyser (HttpMessage msg) { this.msg = msg; this.htmlPage = msg.getResponseHeader().toString() + msg.getResponseBody().toString(); src = new Source(htmlPage); src.fullSequentialParse(); }
/** * Parse a given HTML template and return the a result object containing the expressions and a * transformed HTML. * * @param htmlTemplate The HTML template to process, as a String * @param context Context of the Component we are currently processing * @param messager Used to report errors in template during Annotation Processing * @return A {@link TemplateParserResult} containing the processed template and expressions */ public TemplateParserResult parseHtmlTemplate(String htmlTemplate, TemplateParserContext context, Elements elements, Messager messager, URI htmlTemplateUri) { this.context = context; this.elements = elements; this.messager = messager; this.logger = new TemplateParserLogger(context, messager); this.htmlTemplateUri = htmlTemplateUri; initJerichoConfig(this.logger); Source source = new Source(htmlTemplate); outputDocument = new OutputDocument(source); result = new TemplateParserResult(context); processImports(source); result.setScopedCss(processScopedCss(source)); source.getChildElements().forEach(this::processElement); result.setProcessedTemplate(outputDocument.toString()); return result; }
public int getRow(int begin) { return fSource.getRow(begin); }
@Override public void element(final Element element, final Context context, final BugList bugs) { if (element.getName().equals(CF.CFOUTPUT)) { final Element parent = CFTool.getNamedParent(element, CF.CFOUTPUT); if (parent != null) { if (parent.getAttributeValue(CF.GROUP) == null && anyContainingCFOutputHasQuery(parent)) { element.getSource().getRow(element.getBegin()); element.getSource().getColumn(element.getBegin()); context.addMessage("NESTED_CFOUTPUT", ""); } } } }
EndTag nextTag = elem.getSource().getNextEndTag(elem.getBegin()); while (nextTag != null && !nextTag.getName().equalsIgnoreCase(elem.getName())) { nextTag = elem.getSource().getNextEndTag(nextTag.getEnd()); final String cfscript = elem.getSource().subSequence(elem.getStartTag().getEnd(), nextTag.getBegin()) .toString(); visitor.visitScript(parseScript(cfscript));