nsAutoString v(aAttributes[1]); nsRDFParserUtils::StripAndConvert(v);
RDFContentSinkImpl::AddProperties(const PRUnichar** aAttributes,                                  nsIRDFResource* aSubject,                                  PRInt32* aCount){  if (aCount)      *aCount = 0;  nsCOMPtr<nsIAtom> localName;  for (; *aAttributes; aAttributes += 2) {      const nsDependentSubstring& nameSpaceURI =          SplitExpatName(aAttributes[0], getter_AddRefs(localName));      // skip 'xmlns' directives, these are "meta" information      if (nameSpaceURI.EqualsLiteral("http://www.w3.org/2000/xmlns/")) {        continue;      }      // skip `about', `ID', and `resource' attributes (either with or      // without the `rdf:' prefix); these are all "special" and      // should've been dealt with by the caller.      if (localName == kAboutAtom || localName == kIdAtom ||          localName == kResourceAtom) {          if (nameSpaceURI.IsEmpty() ||              nameSpaceURI.EqualsLiteral(RDF_NAMESPACE_URI))              continue;      }      // Skip `parseType', `RDF:parseType', and `NC:parseType'. This      // is meta-information that will be handled in SetParseMode.      if (localName == kParseTypeAtom) {          if (nameSpaceURI.IsEmpty() ||              nameSpaceURI.EqualsLiteral(RDF_NAMESPACE_URI) ||              nameSpaceURI.EqualsLiteral(NC_NAMESPACE_URI)) {              continue;          }      }      nsAutoString v(aAttributes[1]);      nsRDFParserUtils::StripAndConvert(v);      const char* attrName;      localName->GetUTF8String(&attrName);      NS_ConvertUTF16toUTF8 propertyStr(nameSpaceURI);          propertyStr.Append(attrName);      // Add the assertion to RDF      nsCOMPtr<nsIRDFResource> property;      gRDFService->GetResource(propertyStr, getter_AddRefs(property));      nsCOMPtr<nsIRDFLiteral> target;      gRDFService->GetLiteral(v.get(), getter_AddRefs(target));      mDataSource->Assert(aSubject, property, target, PR_TRUE);  }  return NS_OK;}