Titolo: Generazione del file Sitemap.xml con i comandi XML DOM di 4d
Categoria: Codice |
|
Ultimo Aggiornamento: 15/01/09 |
Stessa cosa dell'esportazione già citata in formato test (vedi
la faq Generazione automatica del file Sitemap.xml), ma scritta utilizzando i comandi Xml.
`metodo web_sitemap.xml
C_STRING(16;vXML)
C_STRING(80;$aNSName1;$aNSName2;$aNSValue1;$aNSValue2)
C_TEXT($result)
$site:="http://www.sviluppo4d.it"
`valori della struttura xml richiesta
$Root:="urlset"
$xpath_url:="url"
$xpath_loc:="loc"
$Namespace:="http://www.google.com/schemas/sitemap/0.84"
$aNSName1:="xmlns:xsi"
$aNSValue1:="http://www.w3.org/2001/XMLSchema-instance"
$aNSName2:="xsi:schemaLocation"
$aNSValue2:="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd"
`creo il documento xml in memoria
vXML:=DOM Create XML Ref($Root;$Namespace;$aNSName1;$aNSValue1;$aNSName2;$aNSValue2)
`prima elenchiamo gli indirizzi fissi
$url:=DOM Create XML element(vXML;$xpath_url)
$item:=DOM Create XML element($url;$xpath_loc)
DOM SET XML ELEMENT VALUE($item;$site) `indirizzo base del sito
$url:=DOM Create XML element(vXML;$xpath_url)
$item:=DOM Create XML element($url;$xpath_loc)
DOM SET XML ELEMENT VALUE($item;$site+"/Users") `un indirizzo fisso su sviluppo4d.it
`poi costruiamo l'elenco degli indirizzi dinamici
ALL RECORDS([News])
While (Not(End selection([News])))
$txt:=$site+"/Detail_News_Display?id="+String([News]id)+"&title="+(wb_UrlEncode ([News]Title))
$url:=DOM Create XML element(vXML;$xpath_url)
$item:=DOM Create XML element($url;$xpath_loc)
DOM SET XML ELEMENT VALUE($item;$txt)
NEXT RECORD([News])
End while ALL RECORDS([Faq])
While (Not(End selection([Faq])))
$txt:=$site+"/Detail_FAQ_Display?id="+String([Faq]id)+"&title="+(wb_UrlEncode ([Faq]Title))
$url:=DOM Create XML element(vXML;$xpath_url)
$item:=DOM Create XML element($url;$xpath_loc)
DOM SET XML ELEMENT VALUE($item;$txt)
NEXT RECORD([Faq])
End while `i tag sono chiusi automaticamente, esportiamo il documento xml
DOM EXPORT TO VAR(vXML;$result)
`adesso lo cancelliamo dalla memoria
DOM CLOSE XML(vXML)
SEND HTML TEXT($result)
Inviato da: Umberto Migliore |
|
Visite: 11662 |
Se accedi con utente e password, puoi aggiungere dei commenti.