Exemplu practic de XML

O sa vorbim despre XML pt ca este foarte important in lucrul cu date !

Foarte multa lume spune ca nu poate zice exact ce este xml-ul ,dar poate spune ce nu este…
Ei bine, XML ESTE o buna solutie de a stoca date intr-o structura usor de folosit.
XML se constituie intr-o strucutra – TREE(structura arborescenta)
O sa va dau un exemplu de structura arborescenta care descrie orarul saptamanal al unui student:

<?xml version=”1.0″ ?>

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

<ORAR>

<ZI denumire=”Luni”>

<RAND>

<INTERVAL begin=”8″ end=”10″ />

<MATERIE>Ingineria programarii </MATERIE>

<TIP>Laborator</TIP>

<PROFESOR>Mariana Mocanu </PROFESOR>

<SALA>EF001</SALA>

</RAND>

<RAND>

<INTERVAL begin=”10″ end=”12″ />

<MATERIE>Ingineria programarii </MATERIE>

<TIP>Curs</TIP>

<PROFESOR>Mariana Mocanu </PROFESOR>

<SALA>EF001</SALA>

</RAND>

<RAND>

<INTERVAL begin=”14″ end=”16″ />

<MATERIE>L.E.P. </MATERIE>

<TIP>Curs</TIP>

<PROFESOR>Stefan-Trausan Matu</PROFESOR>

<SALA>EF001</SALA>

</RAND>

</ZI>

<ZI denumire=”Marti”>

<RAND>

<INTERVAL begin=”8″ end=”10″ />

<MATERIE>Sisteme de operare </MATERIE>

<TIP>Curs</TIP>

<PROFESOR>Liviu Ristovschi </PROFESOR>

<SALA>EF001</SALA>

</RAND>

<RAND>

<INTERVAL begin=”10″ end=”12″ />

<MATERIE>Sisteme de operare </MATERIE>

<TIP>Laborator</TIP>

<PROFESOR>Liviu Ristovschi </PROFESOR>

<SALA>EF001</SALA>

</RAND>

<RAND>

<INTERVAL begin=”14″ end=”16″ />

<MATERIE>L.E.P. </MATERIE>

<TIP>Curs</TIP>

<PROFESOR>Stefan-Trausan Matu</PROFESOR>

<SALA>EF001</SALA>

</RAND>

</ZI>

</ORAR>

XSLT – Descrierea arborescenta a unui orar

In continuare descriem si modul in care dorim sa fie afisata informatia arborescenta din articolul precedent care descrie un orar studentesc. Pentru aceasta vom folosi limbajul XSLT :

<xsl:stylesheet version=”1.0″

xmlns: xsl=”http://www.w3.org/1999/XSL/Transform”&gt;

<xsl: template match=”/”>

<html>

<body>

<xsl:for-each select=”ORAR/ZI/RAND”>

<xsl:choose>

<xsl: when test=”INTERVAL[@begin=12]” >

<font color=”red”>

<xsl: value-of select=”MATERIE”/>

</font>

</xsl: when>

 

<xsl: otherwise>

<font color=”red”>

<xsl: value-of select=”MATERIE”/>

</font>

</xsl: otherwise>

 

</xsl: choose>

</xsl: for-each>

</body>

</html>

</xsl: template>

</xsl: stylesheet>

 

 

 

 

Până la anul..

trebuie să implementăm mai multe modalităţi de promovare şi să analizăm şi rezultatele obţinute

Tema de interfete “evoluate”

  • Tema 2 la Interfete “Evoluate” m-a surprins: este vorba de o tema neasteptata si dupa ce am realizat-o am constat ca era si nedorita.

Tema se refera la ceva ce evident ca nu auzisem inainte: Concurrent Task Tree Environment (CTTE). Probabil ca nici voi nu stiti ce e asta. Sunt rau si va zic si voua: editorul care suportă dezvoltarea de modele de sarcini ConcurTaskTrees – CTTE – este public disponibil la adresa: See CTT Editor.

Daca nu aveti ce face dowloadati si voi editorul ca “studentii” care l-au facut au nevoie de mult feedback. Da, aici ghicit, programelul care face arbori CTT are buguri cu duiumul. Va zic doua care mi-au stricat ziua in care faceam tema cu arbori CTT:

    • nu se salveaza la CTRL+S; very bad bug
    • drag and drop nu e ala pe care il stim cu totii: o sa pierdeti obiectul la care faceti “drag” pe drum; bad bug

    Si ca tot v-am zis ca am facut arbori CTT la tema sa va zic in 2 cuvinte ce facea tema: trebuia sa facem niste arbori pentru scenarii de utilizare a interfetei. Scenariile de utilizare cuprindeau:

    • vizualizare post
    • adaugare comentariu
    • vizualizare lista de posturi
    • vizualizare categorii

    Pe baza scenariilor de mai sus si cu click-click-click puteti cu ajutorul CTT-ul sa vedeti pas cu pas ce sarcini ai de exectutat pentru a realiza actiunile de mai sus: gen pasii pentru adaugarea unui comentariu.

    If you want, spor la CTT!

    Bogdan

    RSS feeds folosind CodeIngiter si Simplepie

    Recent am descoperit o biblioteca php pentru folosirea feed-urilor RSS oferite de agentiile de stiri,retele sociale,bloguri,utila in general pentru  orice serviciu care pune la dispozitie informatie sub forma XML.

    Un exemplu simplu de folosire :

    Se descarca CodeIgniter si se seteaza in fisierul system/application/config/config.php parametrul :
    base_url = http://localhost/nume_proiect_CodeIgniter
    si in fisierul system/application/config/autoload.php :
    $autoload[‘helper’] = array(‘url’); – pentru incarcarea automata helperului url.

    Se descarca biblioteca SimplePie si se redenumeste fisierul simplepie.inc in Simplepie.php.
    Se va copia Simplepie.php in directorul system/libraries.

    Apoi in controllerul home.php se foloseste biblioteca :
    $this->load->library(‘simplepie’);
    $this->simplepie->set_feed_url(‘https://interfeteweb20.wordpress.com/?feed=rss&#8217;);
    $this->simplepie->set_cache_location(‘calea_abdoluta_catre_directorul_cache_din_CodeIgniter’);
    $this->simplepie->init();
    $feed=$this->simplepie;
    $info=array();
    foreach ($feed->get_items() as $item){
    array_push($info,array(‘title’=>$item->get_title(),’description’=>$item->get_description(),’link’=>$item->get_link()));

    }
    $data[‘info’]=$info;
    $this->load->view(‘home_view’,$data);

    Se va realiza un fisier home_view.php in directorul system/application/views.

    Hai băieţi, să văd activitate!

    Da, ce vi se pare ciudat ca managerul proiectului sa facă public jocul de culise ?

    Este blogul companiei, trebuie să prezentăm tuturor transparenţa pentru a câştiga “trust”.

    Hai vreau să văd activitate aici pe blog! Spuneţi-mi aici ce probleme aveţi ca împreună să putem găsi cele mai bune soluţii.

    Am lansat site-ul

    Pentru a ne încadra în deadline-ul propus, am lansat şi site-ul companiei, pe o adresă temporară, deşi este într-un stadiu incipient.

    După îndelungi căutări am găsit un hosting ce oferă un minim de decenţă, la adresa www.110mb.com.

    Site-ul nostru poate fi vizitat la adresa http://intevo.110mb.com.

    Website

    Website

    Mai multe detalii despre site, realizat pe o arhitectura MVC (Model View Controller) va oferi colegul meu, Adrian, într-un articol viitor.

    CodeIgniter- Framework php MVC

    Intrucat incercam adoptarea unor tehnologii suficient de accesible  insa cu posibilitati de extindere dupa cresterea nivelului de experienta , cred ca ar fi o idee buna sa folosim CodeIgniter ,un framework php foarte usor de invatat care insa poate fi extins si folosit pentru orice fel de aplicatie prin realizarea de plugin-uri sau prin utilizarea celor existente.

    De remarcat este faptul ca este extrem de portabil , sigur si respecta modelul MVC.

    Astfel membrii echipei pot alege intre view (design ) ,model (lucrul cu baza de date) si controller(partea ce face legatura intre model si view).
    http://codeigniter.com
    Pentru inceput recomand urmarirea celor doua tutoriale video :http://codeigniter.com/tutorials .

    Gazduire gratuita

    Dupa indelungi cautari a unui serviciu gratis de web hosting am gasit un domeniu care ofera pana la 5GB de spatiu de hosting,meniu administrare a aplicatiei,tehnici SEO suport MySQL,PHP,Python,CGI/Perl.

    Serviciul se numeste 110mb si este foarte popular in randul programatorilor web.

    Pentru optiuni suplimentare se pot cumpara diversele pachete oferite , avand insa preturi destul de mici.

    CSS pentru toti

    Va intrebati ce este CSS-ul…

    …diferite modalitati de afisare ale paginilor HTML, numite si stiluri. Stilul se refera la culori, fonturi, aranjare in pagina, stilul hyperlink-urilor,etc. CSS sau “Cascading Style Sheets” ajuta la afisarea elementelor de HTML in functie de instructiunile definite de designer.

    Sintaxa unui stil…

    ….un tuplu de trei elemente: selector, proprietate si valoare.

    selector {proprietate: valoare}
    Ex:
    h1 {color: green}

    Daca punem mai multe atribute…

    …le putem pune pe mai multe linii pentru o mai buna percepere

    p {
    color:black ;
    font-family=arial ;
    background-color:red
    }

    Daca vrem mai multe stiluri…
    …pentru acelasi element HTML folosim clasa.identificator

    h1.green {color:green}
    h1.red {color:red}
    <h1 class="green">Hello</h1>
    <h1 class="red">Hello!</h1>

    Daca vrem un stil pentru mai multe elemente HTML …

    …atunci vom renunta la clasa (elementul HTML)

    .left {text:align: left}
    <p class="left">Hello world</p>

    Unde putem defini stiluri CSS...

    …se pot defini in patru locuri:

    • nivelul 1 al browser-ului
    • nivelul 2: intr-un fisier extern, salvat cu extensia .css
    • nivelul 3: in interiorul HTML-ului in cadrul <head>
    • nivelul 4: chiar in interiorul elementului

    Nivelul 2: intr-un fisier .css

    <head>
    <link rel="stylesheet" type="text/css"
    href="un_stil_definit.css" />
    </head>

    Nivelul 3: in cadrul <head>

    <head>
    <style type="text/css">
    h1 {color: red}
    p {font-family=arial }
    </style>
    </head>

    Nivelul 4: in interiorul elementului

    <p style="color: red; font-family=arial">
    Hello world
    </p>

    Spor la CeSeSe!