Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package skuska_sax;
- import org.xml.sax.Attributes;
- import org.xml.sax.SAXException;
- import org.xml.sax.helpers.DefaultHandler;
- /**
- *
- * @author MartinŠtekláč
- */
- public class Skuska_handler extends DefaultHandler {
- boolean bKniha = false;
- boolean bMenoKnihy = false;
- boolean bMenoKnihkupectva = false;
- boolean bCena = false;
- boolean bKhihkupectvo = false;
- boolean bAutor = false;
- String edicia;
- String cena_knihy;
- String meno_knihy;
- Double cena_double = 0d;
- Double najdrahsia_kniha = 0d;
- String nazov_najdrahsia_kniha;
- boolean kniha_v_edicii_stopy = false;
- boolean edicia_stopy_je_v_dokumente = false;
- @Override
- public void characters(char[] ch, int start, int length) throws SAXException {
- if (bCena){
- cena_knihy = new String(ch, start, length);
- // bud pouzivat tuto podmienku alebo nulovat dole v end elemente knihy, aby sa nestalo, ze
- // sa necha ulozena hodnota zo starej knihy, nasledujuca kniha je z edicie stopy ale nema cenu
- // a tak vypise ulozenu hodnotu zo zlej knihy
- // if ("Stopy".equalsIgnoreCase(edicia))
- cena_double = Double.parseDouble(cena_knihy);
- }
- if (bMenoKnihy){
- meno_knihy = new String(ch, start, length);
- }
- }
- @Override
- public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- if (localName.equalsIgnoreCase("khihkupectvo")){
- bKhihkupectvo = true;
- }
- if (localName.equalsIgnoreCase("kniha")){
- edicia = attributes.getValue("edicia");
- bKniha = true;
- }
- if (localName.equalsIgnoreCase("meno")){
- if (bKniha) bMenoKnihy = true;
- else bMenoKnihkupectva = true;
- }
- if (localName.equalsIgnoreCase("autor")){
- bAutor = true;
- }
- if (localName.equalsIgnoreCase("cena")){
- bCena = true;
- }
- }
- @Override
- public void endElement(String uri, String localName, String qName) throws SAXException {
- if (localName.equalsIgnoreCase("knihkupectvo")){
- if (kniha_v_edicii_stopy) System.out.println(najdrahsia_kniha + " " + nazov_najdrahsia_kniha );
- else System.out.println("neexistuje");
- bKhihkupectvo = false;
- }
- if (localName.equalsIgnoreCase("kniha")){
- if("Stopy".equalsIgnoreCase(edicia)){
- if (najdrahsia_kniha < cena_double){
- najdrahsia_kniha = cena_double;
- nazov_najdrahsia_kniha = meno_knihy;
- kniha_v_edicii_stopy = true;
- }
- }
- bKniha = false;
- // bud tuna vynulovat alebo hore dat podmienku ze pridavat cenu len ak sme v edicii stopy
- cena_double = 0d;
- }
- if (localName.equalsIgnoreCase("meno")){
- if (bKniha) bMenoKnihy = false;
- else bMenoKnihkupectva = false;
- }
- if (localName.equalsIgnoreCase("autor")){
- bAutor = false;
- }
- if (localName.equalsIgnoreCase("cena")){
- bCena = false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement