Bug 258997 Search fails when a container matches r=timeless,vlad sr=shaver a=asa

This commit is contained in:
neil%parkwaycc.co.uk 2004-09-24 21:29:47 +00:00
Родитель a3b879505c
Коммит 6893401395
1 изменённых файлов: 6 добавлений и 23 удалений

Просмотреть файл

@ -76,7 +76,6 @@ const RDFCUtils = Components.classes["@mozilla.org/rdf/container-utils;1"].getSe
var RDFContainer = Components.classes["@mozilla.org/rdf/container;1"].createInstance(Components.interfaces.nsIRDFContainer);
const CONSOLE_SERVICE = Components.classes['@mozilla.org/consoleservice;1'].getService(Components.interfaces.nsIConsoleService);
var urnID = 0;
var RE;
var helpFileURI;
@ -546,32 +545,16 @@ function doFindOnSeq(resultsDS, sourceDS, resource, level) {
var targets = RDFContainer.GetElements();
while (targets.hasMoreElements()) {
var target = targets.getNext();
target = target.QueryInterface(Components.interfaces.nsIRDFResource);
var link = sourceDS.GetTarget(target, NC_LINK, true);
var name = sourceDS.GetTarget(target, NC_NAME, true);
name = name.QueryInterface(Components.interfaces.nsIRDFLiteral);
if (isMatch(name.Value)) {
if (link && isMatch(name.Value)) {
// we have found a search entry - add it to the results datasource.
// Get URL of html for this entry.
var link = sourceDS.GetTarget(target, NC_LINK, true);
link = link.QueryInterface(Components.interfaces.nsIRDFLiteral);
urnID++;
resultsDS.Assert(RDF_ROOT,
RDF.GetResource("http://home.netscape.com/NC-rdf#child"),
RDF.GetResource("urn:" + urnID),
true);
resultsDS.Assert(RDF.GetResource("urn:" + urnID),
RDF.GetResource("http://home.netscape.com/NC-rdf#name"),
name,
true);
resultsDS.Assert(RDF.GetResource("urn:" + urnID),
RDF.GetResource("http://home.netscape.com/NC-rdf#link"),
link,
true);
var urn = RDF.GetAnonymousResource();
resultsDS.Assert(urn, NC_NAME, name, true);
resultsDS.Assert(urn, NC_LINK, link, true);
resultsDS.Assert(RDF_ROOT, NC_CHILD, urn, true);
emptySearch = false;
}
// process any nested rdf:seq elements.
doFindOnDatasource(resultsDS, sourceDS, target, level+1);