/** * Return the value of the source attribute if it exists. * * @param node the node containing attributes * @return the source path or {@code null} if not defined */ private String getScriptSourcePath(XmlTagNode node) { for (XmlAttributeNode attribute : node.getAttributes()) { if (attribute.getName().getLexeme().equals(SRC)) { String text = attribute.getText(); return text != null && text.length() > 0 ? text : null; } } return null; }
/** * Determine if the specified node is a Dart script. * * @param node the node to be tested (not {@code null}) * @return {@code true} if the node is a Dart script */ private boolean isScriptNode(XmlTagNode node) { if (node.getTagNodes().size() != 0 || !node.getTag().getLexeme().equals(SCRIPT)) { return false; } for (XmlAttributeNode attribute : node.getAttributes()) { if (attribute.getName().getLexeme().equals(TYPE)) { Token valueToken = attribute.getValue(); if (valueToken != null) { String value = valueToken.getLexeme(); if (value.equals(APPLICATION_DART_IN_DOUBLE_QUOTES) || value.equals(APPLICATION_DART_IN_SINGLE_QUOTES)) { return true; } } } } return false; }