El lema de YQL de convertir Internet en una base de datos da un paso más hacia convertirse en una herramienta imprescindible capaz de crear con muy poco esfuerzo auténticos mash-ups de información: desde la obtención de datos de varias fuentes hasta una presentación personalizada de los resultados. Su estándar Open Data Tables ofrece unas guías para que se pueda publicar información y que sea fácilmente consultable mediante YQL sin necesidad de procesarla previamente. Pero si los datos que necesitamos no siguen el estándar, con YQL Execute se ofrece una flexibilidad extrema para procesar documentos HTML de Internet con Javascript y obtener justo lo que se necesita.
Los datos pueden ser accedidos de forma segura, combinados, filtrados, convertidos, retorcidos y, finalmente, generar un resultado en el formato óptimo para que las aplicaciones web se encuentren con el trabajo hecho y resulten muy fáciles de escribir.
Ejemplo:
<?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd"> <meta> <sampleQuery>select * from {table} where a='cat' and b='dog';</sampleQuery> </meta> <bindings> <select itemPath="" produces="XML"> <urls> <url>http://fake.url/{a}</url> </urls> <inputs> <key id='a' type='xs:string' paramType='path' required="true" /> <key id='b' type='xs:string' paramType='variable' required="true" /> </inputs> <execute><![CDATA[ // Your server-side javascript goes here response.object = <item> <url>{request.url}</url> <a>{a}</a> <b>{b}</b> </item>; ]]></execute> </select> </bindings> </table>
El corazón de este ejemplo es el elemento "execute", que acepta varios valores de entrada del motor YQL (tal y como se indica en los elementos "input") y produce los datos a devolver. En el ejemplo, se crea un documento XML simple usando E4X y devolviéndolo con los valores "a" y "b" a partir de la sentencia YQL.
Para usar una sola tabla
open data
en YQL es necesario anteceder una sentencia use
antes de ejecutar la consulta sobre la tabla. Por tanto, enviar la siguiente sentencia YQL a nuestro servicio importará la tabla de arriba y la ejecutará:use "http://yqlblog.net/samples/helloworld.xml";
select * from helloworld where a="cat" and b="dog";
Puede verse el resultado aquí. Otros ejemplos en el blog de Yahoo! Developer. Via Ajaxian.
Si hago una consulta y obtengo los resultados correspondientes, ¿cómo puedo recorrerlos para presentarlos en un documento HTML formateado con CSS?
ResponderEliminarLo que básicamento pretendo hacer es una extensión para Google Chrome.
Gracias por esta información y por la ayuda que me podrás dar.
Hasta pronto.