rem: else if (elem.getAttributeNS(XLinkNS,"href") != "") { setInfo("link-url", getAbsoluteURL(elem.getAttributeNS(XLinkNS,"href"),elem)); 
add: else if (elem.getAttributeNS(XLinkNS, "href") != "") { var ioService = Components.classes["@mozilla.org/network/io-service;1"] .getService(Components.interfaces.nsIIOService); var url = elem.getAttributeNS(XLinkNS, "href"); try { var baseURI = ioService.newURI(elem.baseURI, elem.ownerDocument.characterSet, null); url = ioService.newURI(url, elem.ownerDocument.characterSet, baseURI).spec; } catch (e) {} setInfo("link-url", url); 
context: function checkForLink(elem, htmllocalname){    if ((htmllocalname === "a" && elem.href != "") ||        htmllocalname === "area") {        setInfo("link-lang", convertLanguageCode(elem.getAttribute("hreflang")));        setInfo("link-url",  elem.href);        setInfo("link-type", elem.getAttribute("type"));        setInfo("link-rel",  elem.getAttribute("rel"));        setInfo("link-rev",  elem.getAttribute("rev"));        var target = elem.target;        switch (target) {        case "_top":            setInfo("link-target", gMetadataBundle.getString("sameWindowText"));            break;        case "_parent":            setInfo("link-target", gMetadataBundle.getString("parentFrameText"));            break;        case "_blank":            setInfo("link-target", gMetadataBundle.getString("newWindowText"));            break;        case "":        case "_self":            if (elem.ownerDocument.defaultView) {                if (elem.ownerDocument != elem.ownerDocument.defaultView.content.document)                    setInfo("link-target", gMetadataBundle.getString("sameFrameText"));                else                    setInfo("link-target", gMetadataBundle.getString("sameWindowText"));            } else {                hideNode("link-target");            }            break;        default:            setInfo("link-target", "\"" + target + "\"");        }                onLink = true;    }    else if (elem.getAttributeNS(XLinkNS,"href") != "") {        setInfo("link-url", getAbsoluteURL(elem.getAttributeNS(XLinkNS,"href"),elem));        setInfo("link-lang", "");        setInfo("link-type", "");        setInfo("link-rel", "");        setInfo("link-rev", "");        switch (elem.getAttributeNS(XLinkNS,"show")) {        case "embed":            setInfo("link-target", gMetadataBundle.getString("embeddedText"));            break;        case "new":            setInfo("link-target", gMetadataBundle.getString("newWindowText"));            break;        case "":        case "replace":            if (elem.ownerDocument != elem.ownerDocument.defaultView.content.document)                setInfo("link-target", gMetadataBundle.getString("sameFrameText"));            else                setInfo("link-target", gMetadataBundle.getString("sameWindowText"));            break;        default:            setInfo("link-target", "");            break;        }                onLink = true;    }}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/c7b84086963b8f8a334b0d6b5304f107d6e96558/metadata.js/buggy/suite/browser/metadata.js