if (aCount) *aCount = 0;
nsAutoString k, v; nsAutoString attr; PRInt32 nameSpaceID; PRInt32 ac = aNode.GetAttributeCount();
RDFContentSinkImpl::AddProperties(const PRUnichar** aAttributes,                                  nsIRDFResource* aSubject,                                  PRInt32* aCount){  if (aCount)      *aCount = 0;  for (; *aAttributes; aAttributes += 2) {      // Get upper-cased key      const nsDependentString key(aAttributes[0]);      // skip 'xmlns' directives, these are "meta" information      if (IsXMLNSDirective(key)) {        continue;      }      const char* nameSpaceURI;      nsCOMPtr<nsIAtom> attr;      ParseAttributeString(key, &nameSpaceURI, getter_AddRefs(attr));      // 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 (attr == kAboutAtom || attr == kIdAtom || attr == kResourceAtom) {          if (!nameSpaceURI || 0 == PL_strcmp(nameSpaceURI, kRDFNameSpaceURI))              continue;      }      // Skip `parseType', `RDF:parseType', and `NC:parseType'. This      // is meta-information that will be handled in SetParseMode.      if (attr == kParseTypeAtom) {          if (!nameSpaceURI              || 0 == PL_strcmp(nameSpaceURI, kRDFNameSpaceURI)              || 0 == PL_strcmp(nameSpaceURI, kNCNameSpaceURI)) {              continue;          }      }      nsAutoString v(aAttributes[1]);      nsRDFParserUtils::StripAndConvert(v);      const char* attrName;      attr->GetUTF8String(&attrName);      nsCAutoString propertyStr;          if (nameSpaceURI) {        propertyStr.Assign(nsDependentCString(nameSpaceURI) +                            nsDependentCString(attrName));      }      else {        propertyStr.Assign(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;}