Los últimos tutoriales de desarrollo web
 

W3Data AppML


¿Cuál es AppML?

AppML es una herramienta para traer los datos del servidor de aplicaciones HTML.

w3data.php es un subconjunto de AppML.

El propósito de w3data.php es proporcionar w3data.js con datos de un servidor web.


Modelos de solicitud

AppML utiliza modelos de aplicaciones (escritas en notación de objetos JavaScript) para describir las aplicaciones de servidor.

Este sencillo modelo describe una aplicación completa para recuperar datos de una base de datos:

model_customers.js

{
"database" : {
    "connection" : "localmysql",
    "sql" : "SELECT * FROM Customers"}
}

Los modelos se almacenan en el servidor y no pueden ser editados por un usuario de la web.

Tiene que ser un administrador del servidor o un usuario dado los derechos para editar archivos en el servidor.

El uso de un modelo de aplicación es fácil, sólo tiene que añadir el nombre del modelo de w3data.php cuando se llama a w3Http ():

Ejemplo

<script>
w3Http("w3data.php?model=model_customers", function () {
    if (this.readyState == 4 && this.status == 200) {
        var myObject = JSON.parse(this.responseText);
        w3DisplayData("id01", myObject);
    }
});
</script>
Inténtalo tú mismo "

Viendo desde un archivo de texto

Ejemplo

<script>
w3Http("w3data.php?model=model_cd_from_txt", function () {
    if (this.readyState == 4 && this.status == 200) {
        var myObject = JSON.parse(this.responseText);
        w3DisplayData("id01", myObject);
    }
});
</script>
Inténtalo tú mismo "

Este es el modelo utilizado en la aplicación:

model_cd_from_txt

{
  "data" : {
    "type" : "csvfile",
    "filename" : "cd_catalog.txt",
    "items" : [
      {"name" : "title", "index" : 1},
      {"name" : "artist", "index" : 2},
      {"name" : "price", "index" : 5}
    ]
  }
}

Este es el archivo de texto separado por comas:

cd_catalog.txt

Empire Burlesque,Bob Dylan,USA,Columbia,10.90,1985
Hide your heart,Bonnie Tyler,UK,CBS Records,9.90,1988
Greatest Hits,Dolly Parton,USA,RCA,9.90,1982
Still got the blues,Gary Moore,UK,Virgin records,10.20,1990
Eros,Eros Ramazzotti,EU,BMG,9.90,1997
One night only,Bee Gees,UK,Polydor,10.90,1998
Sylvias Mother,Dr.Hook,UK,CBS,8.10,1973
Maggie May,Rod Stewart,UK,Pickwick,8.50,1990

Viendo desde un archivo JSON

Ejemplo

<script>
w3Http("w3data.php?model=model_cd_from_json", function () {
    if (this.readyState == 4 && this.status == 200) {
        var myObject = JSON.parse(this.responseText);
        w3DisplayData("id01", myObject);
    }
});
</script>
Inténtalo tú mismo "

Este es el modelo utilizado en la aplicación:

model_cd_from_json.js

{
  "data" : {
    "type" : "jsonfile",
    "filename" : "cd_catalog.js",
    "record" : "cd"
    "items" : [
      {"name" : "title", "nodename" : "title"},
      {"name" : "artist", "nodename" : "title"},
      {"name" : "price", "nodename" : "title"}
    ]
  }
}

Este es el archivo JSON:

cd_catalog.js

{
  "cd" : [
    { "title" : "Empire Burlesque", "artist" : "Bob Dylan", "price" : "10.90" },
    { "title" : "Hide your heart", "artist" : "Bonnie Tyler", "price" : "9.90" },
    { "title" : "Greatest Hits", "artist" : "Dolly Parton", "price" : "9.90" },
    { "title" : "Still got the blues", "artist" : "Gary Moore", "price" : "10.20" },
    { "title" : "Eros", "artist" : "Eros Ramazzotti", "price" : "9.90" },
    { "title" : "One night only", "artist" : "Bee Gees", "price" : "10.90" },
    { "title" : "Sylvias Mother", "artist" : "Dr.Hook", "price" : "8.10" }
  ]
}

Viendo desde un archivo XML

Ejemplo

<script>
w3Http("w3data.php?model=model_cd_from_xml", function () {
    if (this.readyState == 4 && this.status == 200) {
        var myObject = JSON.parse(this.responseText);
        w3DisplayData("id01", myObject);
    }
});
</script>
Inténtalo tú mismo "

Este es el modelo utilizado en la aplicación:

model_cd_from_xml

{
  "data" : {
    "type" : "xmlfile",
    "filename" : "cd_catalog.xml",
    "record" : "CD",
    "items" : [
      {"name" : "artist", "nodename" : "ARTIST"},
      {"name" : "title", "nodename" : "TITLE"},
      {"name" : "country", "nodename" : "COUNTRY"}
    ]
  }
}

TThis es el archivo XML:

cd_catalog.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<PUBLISHED>1985</PUBLISHED>
</CD>
<CD>
<TITLE>Hide your heart</TITLE>
<ARTIST>Bonnie Tyler</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>CBS Records</COMPANY>
<PRICE>9.90</PRICE>
<PUBLISHED>1988</PUBLISHED>
</CD>
<CD>
<TITLE>Greatest Hits</TITLE>
<ARTIST>Dolly Parton</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>RCA</COMPANY>
<PRICE>9.90</PRICE>
<PUBLISHED>1982</PUBLISHED>
</CD>
<CD>
<TITLE>Still got the blues</TITLE>
<ARTIST>Gary Moore</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>Virgin records</COMPANY>
<PRICE>10.20</PRICE>
<PUBLISHED>1990</PUBLISHED>
</CD>
<CD>
<TITLE>Eros</TITLE>
<ARTIST>Eros Ramazzotti</ARTIST>
<COUNTRY>EU</COUNTRY>
<COMPANY>BMG</COMPANY>
<PRICE>9.90</PRICE>
<PUBLISHED>1997</PUBLISHED>
</CD>
<CD>
<TITLE>One night only</TITLE>
<ARTIST>Bee Gees</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>Polydor</COMPANY>
<PRICE>10.90</PRICE>
<PUBLISHED>1998</PUBLISHED>
</CD>
<CD>
<TITLE>Sylvias Mother</TITLE>
<ARTIST>Dr.Hook</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>CBS</COMPANY>
<PRICE>8.10</PRICE>
<PUBLISHED>1973</PUBLISHED>
</CD>
</CATALOG>