Discussion:
[XOM-interest] How can I pass two filter in a transform method ??
Kunal Chauhan
2012-05-04 09:46:50 UTC
Permalink
Hi

How can I pass two filter in a transform method ??

suppose my document is like below.

<product>

<main-prod id='01'>Stationary </main-prod>
...
...

<sub-prod category='01'>Pen</sub-prod>
<sub-prod category='01'>Pencil</sub-prod>

</product>


Here is my transform method


path is set as : product/*:*

public Nodes transform(Element subtree) {


Nodes results = XQueryUtil.xquery(subtree, ".[@id]");

for (int i=0; i < results.size(); i++) {


Element ele = (Element)((Node) results.get(i));

String id = ele.getAttributeValue("id");

Nodes results1 = XQueryUtil.xquery(subtree, ".[@id='"+id+"' or
@category='"+id+"']");

for (int j=0; j < results1.size(); j++) {

System.out.println("result: " + " : " +
results1.get(j).toXML());
}
}

return NONE;
}

};

Expected result is : <main-prod id='01'>Stationary </main-prod>
<sub-prod category='01'>Pen</sub-prod>
<sub-prod category='01'>Pencil</sub-prod>


Thanks,
--
*Kunal Chauhan*
mail4ck at gmail.com
[+918655517141]
[+919904983614]
Elliotte Rusty Harold
2012-05-04 11:07:44 UTC
Permalink
I'm not sure what you're asking. It sounds like this might be an
XQuery question.
--
Elliotte Rusty Harold
elharo at ibiblio.org
Kunal Chauhan
2012-05-04 12:24:18 UTC
Permalink
Here in transform method I apply XQuery two time

public Nodes transform(Element subtree) {


Nodes results = XQueryUtil.xquery(subtree, ".[@id]");

for (int i=0; i < results.size(); i++) {


Element ele = (Element)((Node) results.get(i));

String id = ele.getAttributeValue("id");

Nodes results1 = XQueryUtil.xquery(subtree, ".[@id='"+id+"' or
@category='"+id+"']");
for (int j=0; j < results1.size(); j++) {

System.out.println("result: " + " : " +
results1.get(j).toXML());
}
}

return NONE;
}

};


based on result of first query I fatch id attribute's value and pass it
into second query that will gives me
<main-prod> and <sub-prod> elements which have same id and category
respectivly.

so i want to retrive sets of <main-prod> and <sub-prod> as per id I pass to
it.

but here two times XQuery implementation didn't work as I expect.

every time I got <main-prod> list only.
Post by Elliotte Rusty Harold
I'm not sure what you're asking. It sounds like this might be an
XQuery question.
--
Elliotte Rusty Harold
elharo at ibiblio.org
_______________________________________________
XOM-interest mailing list
XOM-interest at lists.ibiblio.org
http://lists.ibiblio.org/mailman/listinfo/xom-interest
--
*Kunal Chauhan*
mail4ck at gmail.com
[+918655517141]
[+919904983614]
Continue reading on narkive:
Loading...