return gRDFService->GetUnicodeResource(uri, aResource);
rv = mDocumentURL->Resolve(NS_ConvertUCS2toUTF8(aAttributes[1]), uri); if (NS_FAILED(rv)) return rv;  return gRDFService->GetResource(uri, aResource); } return gRDFService->GetResource(NS_ConvertUCS2toUTF8(aAttributes[1]), aResource);
RDFContentSinkImpl::GetResourceAttribute(const PRUnichar** aAttributes,                                         nsIRDFResource** aResource){  nsCOMPtr<nsIAtom> localName;  for (; *aAttributes; aAttributes += 2) {      const nsDependentSubstring& nameSpaceURI =          SplitExpatName(aAttributes[0], getter_AddRefs(localName));      // We'll accept `resource' or `rdf:resource', under the spirit      // that we should be liberal towards the input that we      // receive.      if (!nameSpaceURI.IsEmpty() &&          !nameSpaceURI.EqualsLiteral(RDF_NAMESPACE_URI)) {          continue;      }      // XXX you can't specify both, but we'll just pick up the      // first thing that was specified and ignore the other.      if (localName == kResourceAtom) {          nsAutoString uri(aAttributes[1]);          nsRDFParserUtils::StripAndConvert(uri);          // XXX Take the URI and make it fully qualified by          // sticking it into the document's URL. This may not be          // appropriate...          nsCAutoString documentURL;          mDocumentURL->GetSpec(documentURL);          rdf_MakeAbsoluteURI(NS_ConvertUTF8toUCS2(documentURL), uri);          return gRDFService->GetUnicodeResource(uri, aResource);      }  }  return NS_ERROR_FAILURE;}