Archive for the 'XML' Category

PHP, unicode i XML.

Ukoliko u FireFox – u dobijate neke čudne karaktere, tipa: ??�??�»?��?, i FireFox vam tvrdi da XML nije dobro formiran, iako vi znate da jeste, probajte da snimite tu vašu aplikaciju / XML u drugom character set – u, meni je pomoglo kad sam u UltraEdit – u išao na File -> Save As -> i kao format sam odabrao ANSI/ASCII.

Posted on Tuesday, March 25th, 2008
Under: PHP, XML | No Comments »

& i < karakteri u XML – u.

Ako imate tako neke karaktere koristite CDATA, primer:

<![CDATA[$line[mysql_field_name($result, $j)]]]>

Posted on Tuesday, March 4th, 2008
Under: XML | No Comments »

Vremenska prognoza.

Ukoliko želite da na svom web sajtu imate vremensku prognozu, ali u nekom svom dizajnu, mislim da bi vam bilo najbolje da koristite web servis weather.com, nakon registracije biće vam potrebno samo da parsirate xml, ovde je moj primer:

<?php
	$link = 'http://xoap.weather.com/weather/local/SIXX0002?dayf=3??^??=xoap&par=[partner id]&key=[ključ]&unit=m';

	$xml = new DomDocument('1.0');
	$xml->load($link);

	$x = $xml->documentElement;
	$ok = false;
	foreach ($x->childNodes AS $item)
	{
		if ($item->nodeName == 'dayf') {
		foreach ($item->childNodes as $item2) {
		if ($item2->nodeName=='day') {
		echo $item2->getAttribute('t'). ' '.$item2->getAttribute('dt').'<br/>';
		foreach ($item2->childNodes as $item3) {
		if ($item3->nodeName=='hi') {
		echo 'Vreme high: '.$item3->nodeValue.'<br/>';
	}

	if ($item3->nodeName=='low')
	{
  	echo 'Vreme low: '.$item3->nodeValue.'<br/>';
	}

	if (($item3->nodeName=='part') and ($item3->getAttribute('p') == 'd'))
	{
  	foreach ($item3->childNodes as $item4)
		{
		  if ($item4->nodeName=='icon')
			{
		  	echo 'Ikona: <img src="sdk/sdk/32x32/'.$item4->nodeValue.'.png" /> <br/> <br/> <p/>';
			}
		}
	}

?>

Posted on Saturday, October 27th, 2007
Under: PHP, XML | 2 Comments »

Javascript i XML.

Prvo treba da pokrenemo i učitamo XML:


function importXML() {
  if (document.implementation && document.implementation.createDocument) {
    xmlDoc = document.implementation.createDocument("", "", null);
    xmlDoc.onload = Prikaz;
  } else if (window.ActiveXObject) {
    xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.onreadystatechange = function () {
      if (xmlDoc.readyState == 4) Prikaz()
    };
  } else {
    alert('Your browser can\'t handle this script');
    return;
  }
  xmlDoc.load("IE599.xml");
}

Nakon toga korišćenje:

var x = xmlDoc.getElementsByTagName('HEAHEA'); //primer root node - a čiju decu ćemo koristiti

for (j=0;j<x[0].childNodes.length;j++) {
  if (x[0].childNodes[j].nodeType != 1) continue;
  if (x[0].childNodes[j].nodeName == 'MRN') {
    document.getElementById('MRN').innerHTML = 'MRN ' + x[0].childNodes[j].firstChild.nodeValue;
  }

} //jedan primer kretanja po node - ovima.

Posted on Friday, September 21st, 2007
Under: JavaScript, XML | No Comments »

Potpisivanje određenog node-a.

Ukoliko koristite moj program za potpisivanje ;) u kom se nalaze XML Security datoteke, u XML file-u koji želite da potpišete morate uraditi nešto ovako:

<?xml version=”1.0″ encoding=”utf-8″?>
<!DOCTYPE test [
<!ATTLIST Data ID ID #IMPLIED>
]>

Ovo što piše DATA označava node gde će stojati ID. Onda negde u file-u dodate:

<Data ID=”test”>

Da bi na kraju za template za potpis stavili:

<Reference URI=”#test”>

I onda možete postaviti i liniju za style sheet, a da vam digitalni potpis i dalje bude validan.

Posted on Thursday, September 20th, 2007
Under: XML | No Comments »

XSLT

Ako radite pod Windows – om, i želite da vam radi uncode morate staviti:

<xsl:output method=”html” version=”1.0″ encoding=”windows-1252″ indent=”yes”/>

Mali primer:

<?xml version=”1.0″ encoding=”windows-1252″?>
<xsl:stylesheet version=”1.0″ xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”>
<xsl:output method=”html” version=”1.0″ encoding=”windows-1252″ indent=”yes”/>
<xsl:template match=”/”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=windows-1252″ />
<title>Milošev.com</title>
</head>
<html>
<body>
<table border=”0″>
<tr>
<td colspan=”2″>
<xsl:value-of select=”Message/Body/Data/CC599A/CC515A/HEAHEA/R2P2″/>
</td>
</tr>

</table>

</body>
</html>
</xsl:template>
</xsl:stylesheet>

U XML – u stavljate nešto poput:

<?xml-stylesheet type=”text/xsl” href=”IE599.xslt”?>

Posted on Tuesday, September 18th, 2007
Under: XML | No Comments »

XML i PHP.

Za upravljanje XML – om koristio sam DOM funkcije.

Prvo kreiramo novi DOM objekat:

$xml = new DomDocument(‘1.0′, ‘WINDOWS-1250′);

Kreiranje elementa:

$xml->createElement(“CODELIST_INIT”);

Kreiranje elementa i postavljanje vrednosti:

$xml->createElement(“CODELIST_INIT”)->nodeValue=”TECAJNICA”;

Malo komplikovanije kreiranje elementa, njegovog deteta i postavljanje vrednosti:

$node = $xml->createElement(“CODELIST_INIT”);

$node->appendChild($xml->createElement(“NAME”))->nodeValue=”TECAJNICA”;

Postavljanje atributa:

$node->appendChild($xml->createElement(“NAME”))->setAttribute(“ID”, $fileTecajnica);

Kretanje po čvorovima XML – a:

$x = $xml->documentElement;
foreach ($x->childNodes AS $item) {

echo $item->nodeName;

}

Ukoliko pokušate da pozovete $item->getAttribute(‘datum’), a taj određeni čvor nema atribut dobićete grešku.

Posted on Monday, September 17th, 2007
Under: PHP, XML | No Comments »

Još malo o potpisivanju i enkripciji XML dokumenata.

Kanonikalizacija je (po wikipediji) pretvaranje podatka, koji je moguće prikazati na više različitih načina, u standardni kanonički prikaz.

Neki programi za potpisivanje XML dokumenata zahtevaju da se XML podaci pretvore u kanoničku formu po Canonical XML specifikaciji.
Konkretno, ono što je meni pravilo problem je 00 0D 00 0A 00,
u hexadecimalnom zapisu u XML dokumentu,morao sam da uradim
jedan replace sa 00 0A 00 20 00 i onda je potpis proradio.

Takođe, različiti softveri zahtevaju da čvorovi XML dokumenta budu u tačno određenom rasporedu, po W3C preporuci, i to prave problem čak i ako se između čvorova nalazi višak white space-ova.

Posted on Monday, February 26th, 2007
Under: XML | No Comments »

XML Notepad 2007

Program za manipulaciju XML-om, možete ga preuzeti odavde.

Posted on Monday, February 26th, 2007
Under: Windows, XML | No Comments »