BluePink BluePink
XHost
Servere virtuale de la 20 eur / luna. Servere dedicate de la 100 eur / luna - servicii de administrare si monitorizare incluse. Colocare servere si echipamente de la 75 eur / luna. Pentru detalii accesati site-ul BluePink.

1.Mentine lucrurile cat mai simple


Pentru inceput foloseste doar:

  • interfata parser de baza XMLReader si un obiect parser folosind XMLReaderFactory
  • clasa DefaultHandler ce suporta operatii de overriding
  • clasa Attributes pentru atributele elementelor


2.Foloseste XMLReaderFactory pentru "bootstrapping"


Nu te baza in codul tau pe un parser particular al carui nume este hardcodat in sursa. Foloseste parserul default pentru un control mai bun asupra aplicatiei. XMLReaderparser = XMLReaderFactory.createXMLReader (); Din acest apel se obtine "system default parser".


3.Manevreaza corect URI namespace-urile.


Namespace-urile au cauzat multa bataie de cap programatorilor. URI-urile acestora sunt doar identificatori abstracti ce arata ca si URL-urile. De regula atunci cand numele elementelor sau atributelor nu fac parte din categoria namespace-urilor URI-urile acestora se considera siruri vide.


4.Pune un ErrorHandler mai ales atunci cand faci actiuni de validare


"By default" parserele SAX ignora erorile de validare. Apeleaza XMLReader.setErrorHandler() avand ca parametru un handler de eroare ce va trebui sa se ocupe de erorile de validare care ii sunt incredintate prin apelul functiei error(). Un ErrorHandler trebuie sa aplice doua politici la intalnirea unei erori:

  • fie raporteaza defectul
  • fie considera ca aparitia erorii intrerupe procesul de parsare


5.Foloseste acelasi mecanism de tratare a erorilor


Poti modifica usor modul de tratare a erorilor daca ai un singur obiect ErrorHandler.


6.Foloseste Stiva pentru a urmari firul de executie


Implementeaza un ContentHandler pentru a retine imformatiile importante intr-o stiva.


7.Foloseste EntityResolver pentru a trata entitatilor externe


Atunci cand un document refera o entitate externa parserul face o cerere de aducere si parseaza rezultatul. Desigur apar probleme cand serverul care gazduieste URL-ul catre care se face cererea este deconectat din retea,iar aplicatia devine astfel indisponibila. O solutie este folosirea acestui EntityResolver ce se va ocupa de aceasta entitate si va verifica cat de mare este nivelul d e increderea al acesteia.


8.Foloseste un model de procesare tip pipeline.