Che cosa è AppML?
AppML è uno strumento per portare i dati del server di applicazioni HTML.
w3data.php è un sottoinsieme di AppML.
Lo scopo di w3data.php è quello di fornire w3data.js con i dati da un server web.
I modelli di applicazione
AppML utilizza modelli applicativi (scritti in JavaScript Object Notation) per descrivere le applicazioni server.
Questo semplice modello descrive un'applicazione completa per il recupero dei dati da un database:
model_customers.js
{
"database" : {
"connection" : "localmysql",
"sql" : "SELECT * FROM Customers"}
}
I modelli sono memorizzati sul server e non possono essere modificate da un utente web.
Devi essere un amministratore del server o di un utente dato il diritto di modificare i file sul server.
Utilizzando un modello di applicazione è semplice, è sufficiente aggiungere il nome del modello di w3data.php quando si chiama w3Http ():
Esempio
<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>
Prova tu stesso " Qui sono da un file di testo
Esempio
<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>
Prova tu stesso " Questo è il modello utilizzato nell'applicazione:
model_cd_from_txt
{
"data" : {
"type" : "csvfile",
"filename" : "cd_catalog.txt",
"items" : [
{"name" : "title", "index"
: 1},
{"name" : "artist", "index" :
2},
{"name" : "price", "index" : 5}
]
}
}
Questo è il file di testo separati da virgola:
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
Qui sono da un file JSON
Esempio
<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>
Prova tu stesso " Questo è il modello utilizzato nell'applicazione:
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"}
]
}
}
Questo è il file 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" }
]
}
Visualizzazione da un file XML
Esempio
<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>
Prova tu stesso " Questo è il modello utilizzato nell'applicazione:
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 è il file 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>