From: Yaron K. <ya...@gm...> - 2009-02-11 21:03:17
|
Great! Thanks for the bug report. On Wed, Feb 11, 2009 at 3:40 PM, Rolf Lampa [RIL] <rol...@ri...>wrote: > Yesss! that did the trick, now all three (expected) results in the test > case show 421: > http://test.rilnet.com/w/index.php?title=Car&action=purge > > <thumbs up> :) > > Regards, > > // Rolf Lampa > > > > Yaron Koren skrev: > > Okay, I looked into it and this was indeed a problem in the SRF math > handler; through some strangeness in parser-function handling, some very > innocuous-looking code was causing that paragraph tag to go around the > result value. I just checked in the fix, so now it should work fine. > > -Yaron > > > On Wed, Feb 11, 2009 at 2:33 PM, Rolf Lampa [RIL] <rol...@ri...>wrote: > >> I might be wrong but it looks like #ask is the one padding an <p> to the >> end of its results. >> >> If I remove the format=sum / min or max and let #ask return a table >> instead, then I get the following result: >> >> ( >> <table class="smwtable" id="querytable3"> >> <tbody><tr> >> ...bla, bla, bla >> </tr> >> </tbody></table> >> <p>) >> >> I wonder if the trailing <p> tag (on the line above) is the one causing >> the trouble when returning "plain values" with format=sum/min/max? >> >> The Semantic Result Format extension possibly intercepts BEFORE smw #ask >> is padding the p-tag to the end of the result? If so then it better be >> stripped off the result. >> >> Regards, >> >> // Rolf Lampa >> >> >> >> Rolf Lampa [RIL] skrev: >> > zeh...@mo... skrev: >> >> Hi, >> >> >> >> #show: works for me with >> >> >> >> {{#set:property={{#show: page | ?property }}}} >> >> >> >> I think what is returned by #ask: is just in a syntax which is not >> valid for a >> >> property. >> >> >> > >> > Hm, interesting. Thank you for sharing this. This means that #show >> > works where #ask doesn't. >> > >> > >> >> {{#vardefine:xxx|123}} >> >> and >> >> {{#set:property={{#var:xxx}}}} >> >> >> >> works for me too. >> >> >> > >> > Seemingly only #ask result is having a problem then, because the >> > following doesn't work for me: >> > >> > {{#vardefine:xxx|{{#ask:...}}}} // Value is assigned to xxx >> > {{#set:property={{#var:xxx}}}} // No value is set in property >> > >> > Thank you for helping to narrow it down to the fact that it is #ask >> which is having a problem. >> > >> > #ask seems to be returning a leading line feed (\n). Or Semantic Result >> Format. I tried to display a "raw result" from #ask and put it inbetween the >> parenthesises, and then I can clearly see that the result is breaking the >> line. Example: >> > >> > >> > ask=({{#ask:[[Category:Part]] [[part of::{{FULLPAGENAME}}]] | >> > ?CostPrice | format=sum}}) >> > >> > should display: >> > >> > >> > ask=(491) >> > >> > but instead it displays >> > >> > >> > ask=( >> > 491) >> > >> > Examining the html-source with Firefox reveals that there's a >> paragraph-tag <p> inserted in the result, like so: >> > >> > >> > #ask=( >> > *<p>*421) >> > >> > Remains to figure out where this p-tag comes from, either from SMW #ask, >> or from the Semantic Result Format's sum format (see expression above). >> > >> > Regards, >> > >> > // Rolf Lampa >> > >> > >> > >> > >> >> Cheers, >> >> Gu >> >> >> >> >> >> Quoting "Rolf Lampa [RIL]" <rol...@ri...>: >> >> >> >> >> >>> Hi all, >> >>> >> >>> I have tried different ways to assign query results to a SMW property, >> >>> but it seems like it cannot be done with the current parsing order. >> >>> >> >>> I have tried: >> >>> >> >>> A: {{#set:property={{#var:value}}}} >> >>> B: {{#set:property={{#ask: ... }}}} >> >>> >> >>> A: Variables cannot be assigned to a property - Even if there's a >> valid >> >>> value in the variable named "value" it's not assigned to the property. >> >>> B: Query results cannot be assigned to property - Even if a valid >> result >> >>> is returned from the query it's not assigned to the property. >> >>> >> >>> C: I have also tried to pass on query results to templates, trying to >> >>> use the parameters for assigning the value to the attribute, but that >> >>> doesn't seem to work either, since the SMW query seems to be parsed >> only >> >>> AFTER the template call. Example: >> >>> >> >>> {{template|prop={{#ask:...}}}} >> >>> >> >>> ...and then trying to assign the SMW property in the template: >> >>> >> >>> {{#set:property={{{prop|}}} }} >> >>> >> >>> But no property value is set. I can only conclude that the SMW query >> >>> (#ask) and variable (#var) expressions are parsed too late, meaning >> that >> >>> one cannot assign query results and variable values to SMW properties. >> >>> >> >>> This is unfortunate is because it means that one cannot reuse >> >>> "aggregate" information (e.g. into sums) which can be used by other >> >>> queries in recursive data structures (like in arbitrary levels of >> >>> Assembly/Parts-structures), instead one must always ask/drill for the >> >>> smallest pieces of data in every query, meaning that every part of a >> >>> complex structure must have "full knowledge" about all parts (big and >> >>> small) of the rest of the structure - as if the structure were static. >> >>> It also means that one can deal with only fixed numbers of levels in >> >>> recursive structures. >> >>> >> >>> Regards, >> >>> >> >>> // Rolf Lampa >> > >> ------------------------------------------------------------------------ >> > >> > >> ------------------------------------------------------------------------------ >> > Create and Deploy Rich Internet Apps outside the browser with >> Adobe(R)AIR(TM) >> > software. With Adobe AIR, Ajax developers can use existing skills and >> code to >> > build responsive, highly engaging applications that combine the power of >> local >> > resources and data with the reach of the web. Download the Adobe AIR SDK >> and >> > Ajax docs to start building applications today- >> http://p.sf.net/sfu/adobe-com >> > ------------------------------------------------------------------------ >> > >> > _______________________________________________ >> > Semediawiki-user mailing list >> > Sem...@li... >> > https://lists.sourceforge.net/lists/listinfo/semediawiki-user >> > >> >> >> ------------------------------------------------------------------------------ >> Create and Deploy Rich Internet Apps outside the browser with >> Adobe(R)AIR(TM) >> software. With Adobe AIR, Ajax developers can use existing skills and code >> to >> build responsive, highly engaging applications that combine the power of >> local >> resources and data with the reach of the web. Download the Adobe AIR SDK >> and >> Ajax docs to start building applications today- >> http://p.sf.net/sfu/adobe-com >> _______________________________________________ >> Semediawiki-user mailing list >> Sem...@li... >> https://lists.sourceforge.net/lists/listinfo/semediawiki-user >> > > |