Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Generating HTML



I tried that and Sherlock died. I'm going back to concatenating  
strings...

Even if it works, it defeats the purpose of having more readable code.  
A better solution would be for Sherlock to properly support CDATA  
sections inside trigger elements. And/or for Sherlock to support the  
proposed XQuery syntax, which is in fact valid XML (e.g. <img  
src="{$expression}"/> instead of <img src={$expression}/> Thanks,

Ravi

On Friday, December 6, 2002, at 11:29 AM, Jussi-Pekka Mantere wrote:

> The XQuery channel is a bit lenient on how you write <>& tags. In the  
> xml source you'll have to escape them as &lt;&gt;&amp;. Would be nice  
> if any text copied from the XQuery channel source window was  
> xml-escaped. Or that XQuery channel enforced stricter source  
> conformity rules.
>
> <scripts>
>  <script language="XQuery">
> define function makeMyTags($url, $title)
> {
> 	let $log := msg("----- makeMyTags -----")
> 	let $xml :=
> 		&lt;font size = {3} face = {"Monaco"}&gt;
> 			&lt;a href = { $url }&gt;
> 			{ $title } &lt;/a&gt;
> 		&lt;/font&gt;
> 	return source($xml)
> }
>  </script>
> </scripts>
>
> <trigger path="URL.complete" language="JavaScript"
> 	inputs="url=URL">
> 	debug("----- URL.complete -----");
> 	debug(url)
> </trigger>
>
> <trigger path="Internet.didInstall" language="JavaScript">
> 	debug("----- Internet.didInstall -----");
>
> 	DataStore.Set("Internet.DetailHTMLView.htmlData",
> 		makeMyTags("sherlock:// 
> com.MyCompany.Search?go_to_url=GoToURL&amp;param=Param",
> 					"Another sherlock: routing test"));
> 	 
> debug(XMLQuery.source(DataStore.Get("Internet.DetailHTMLView.htmlData") 
> ));
> </trigger>
>
> Jussi-Pekka
>
> On Friday, December 6, 2002, at 10:13 AM, Ravi Pandya wrote:
>
>> I tried this and ran into a problem. The sample code you gave runs  
>> fine if I paste it into the XQuery test channel. However, if I paste  
>> the exact same code into a trigger in my Channel.xml file, it does  
>> not run. There are no error messages, and no logging events are  
>> generated. I know the trigger is being run, because it runs if I  
>> replace the sample code with a trivial
>> 	let $name := "Joe Smith"
>> 	return $name
>> Any idea what is going on here? I'm guessing it has to do the  
>> Channel.xml file being parsed as XML before it is handed to the  
>> XQuery processor. Thanks,
>>
>> Ravi
>>
>> On Thursday, December 5, 2002, at 03:47 PM, Riley Howard wrote:
>>
>>>  From another engineer on the team:
>>>
>>>
>>> We support some XML construct operation in XQuery.
>>> All Element text and attribute values must be an enclosed expression
>>> (inside curly braces '{' & '}' ).
>>> XML is being generated so all element smust have an end tag.
>>> An XML tree is being generated to get the tree as a string,  Sherlock
>>> supports
>>> a "source" function that returns a XML tree as a string.
>>> Here is are two simple examples that can be run in the XQuery  
>>> channel:
>>>
>>> let $url := "http://www.apple.com";
>>> let $title := "apple computer"
>>> let $xml :=
>>> 	 <font size = {3} face = {"Monaco"}>
>>> 		<a href = { $url }>
>>> 		{ $title } </a>
>>> 	</font>
>>> return source($xml)
>>>
>>>
>>>
>>> let $seq := ("a", "b", "c", "d", "e", "f", "g")
>>> let $xml :=
>>>   <table>
>>>    {
>>>     for $item in to (1, count($seq)) return
>>>        <tr>
>>>          <td> { concat("Value ", $item) } </td>
>>>          <td> { item-at($seq, $item) } </td>
>>>        </tr>
>>>    }
>>>   </table>
>>> return $xml/source(.)
_______________________________________________
sherlock-channel-development mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/sherlock-channel-development
Do not post admin requests to the list. They will be ignored.



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.