}
//
// Scripting language invocation.
//
Interpreter interpreter = getInterpreter(type);
if (interpreter == null)
// Can't find interpreter so just skip this script block.
continue;
try {
String href = XLinkSupport.getXLinkHref(script);
String desc = null;
Reader reader;
if (href.length() > 0) {
desc = href;
// External script.
ParsedURL purl = new ParsedURL
(XMLBaseSupport.getCascadedXMLBase(script), href);
checkCompatibleScriptURL(type, purl);
reader = new InputStreamReader(purl.openStream());
} else {
checkCompatibleScriptURL(type, docPURL);
DocumentLoader dl = bridgeContext.getDocumentLoader();
Element e = script;
SVGDocument d = (SVGDocument)e.getOwnerDocument();
int line = dl.getLineNumber(script);
desc = Messages.formatMessage
(INLINE_SCRIPT_DESCRIPTION,
new Object [] {d.getURL(),
"<"+script.getNodeName()+">",
new Integer(line)});
// Inline script.
Node n = script.getFirstChild();
if (n != null) {
StringBuffer sb = new StringBuffer();
while (n != null) {
if (n.getNodeType() == Node.CDATA_SECTION_NODE
|| n.getNodeType() == Node.TEXT_NODE)
sb.append(n.getNodeValue());
n = n.getNextSibling();
}
reader = new StringReader(sb.toString());
} else {
continue;
}
}
interpreter.evaluate(reader, desc);
} catch (IOException e) {
if (userAgent != null) {
userAgent.displayError(e);
}