예제 #1
0
        private void UlozitTransformaceDoXml(transformace trs, string sSoubor)
        {
            FileStream    fs  = new FileStream(sSoubor, FileMode.Create);
            XmlSerializer ser = new XmlSerializer(typeof(transformace));

            ser.Serialize(fs, trs);
            fs.Close();
        }
예제 #2
0
        public void NactiZeSouboru()
        {
            //if (mstrSoubor == null)
            //    throw new NullReferenceException("Není určen soubor pro načtení transformací.");

            mkrKoren   = new Koren();
            mtgTagy    = new Tagy();
            mctCitace  = new Citace();
            mnhNahrady = new Nahrady();

            transformace tr = NacistTransformaceXml(mstrSoubor);

            Atributy atr;

            mkrKoren.Nazev     = tr.koren.nazev;
            mkrKoren.Namespace = tr.koren.@namespace;
            mkrKoren.Atributy  = PrevedAtributy(tr.koren.atribut);

            foreach (tag tg in tr.tagy)
            {
                atr = PrevedAtributy(tg.atribut);
                Nahrady nhr = PrevedNahrady(tg.nahrada);
                Tag     t   = new Tag(tg.bezZnacky, tg.ignorovat, tg.@namespace, tg.nazev,
                                      tg.prazdnyElement, tg.predchoziStyl, tg.sloucitSPredchozim,
                                      tg.nasledujiciStyl, tg.sloucitSNasledujicim, tg.styl, atr, nhr);
                mtgTagy.Add(t);
            }

            Citace ctc = new Citace();

            if (tr.citace != null)
            {
                foreach (citac ct in tr.citace)
                {
                    ctc.Add(new Citac(ct.format, ct.hodnota, ct.inkrement, ct.inkrementator,
                                      ct.nazev, ct.postfix, ct.prefix, ct.resetator, ct.vychoziHodnota));
                }
            }
            mctCitace = ctc;

            Nahrady nhrd = PrevedNahrady(tr.nahrady);

            mnhNahrady = nhrd;

            mtbTabulky = new Tabulky(tr.tabulky.tabulka, tr.tabulky.radek, tr.tabulky.bunka,
                                     tr.tabulky.textMistoTabulky, tr.tabulky.obsahPrazdneBunky, tr.tabulky.cislovatElementy);

            mdtPosledniZmena = tr.posledniZmena;
        }
예제 #3
0
        private transformace NacistTransformaceXml(string sSoubor)
        {
            MemoryStream  ms;
            Stream        fs;
            transformace  trs = null;
            XmlSerializer ser = new XmlSerializer(typeof(transformace));

            if (sSoubor == null)
            {
                Assembly _assembly;
                _assembly = Assembly.GetExecutingAssembly();
                fs        = _assembly.GetManifestResourceStream(_assembly.GetName().Name + ".Resources.AllStyles.2xml");
                if (fs != null)
                {
                    trs = (transformace)ser.Deserialize(fs);
                    fs.Close();
                }
            }
            else
            {
                fs  = new FileStream(sSoubor, FileMode.Open, FileAccess.Read);
                trs = (transformace)ser.Deserialize(fs);
                fs.Close();
            }


            // If the XML document has been altered with unknown
            // nodes or attributes, handles them with the
            // UnknownNode and UnknownAttribute events.

            //ser.UnknownNode+= new XmlNodeEventHandler(serializer_UnknownNode);
            //ser.UnknownAttribute+= new XmlAttributeEventHandler(serializer_UnknownAttribute);



            return(trs);
        }
예제 #4
0
        public void UlozDoSouboru(string sSouborXml)
        {
            if (sSouborXml == null)
            {
                throw new NullReferenceException("Není určen soubor pro načtení transformací.");
            }
            transformace tr = new transformace();

            tr.posledniZmena = this.PosledniZmena;
            if (mkrKoren != null)
            {
                koren kr = new koren();
                kr.@namespace = mkrKoren.Namespace;
                kr.nazev      = mkrKoren.Nazev;
                kr.atribut    = PrevedAtributy(mkrKoren.Atributy);
                tr.koren      = kr;
            }
            if (this.Citace.Count > 0)
            {
                citac[] ct = new citac[this.Citace.Count];
                //TODO: rozepsat citace
                int i = -1;
                foreach (Citac c in mctCitace)
                {
                    i++;
                    ct[i]                = new citac();
                    ct[i].format         = c.Format;
                    ct[i].hodnota        = c.Hodnota;
                    ct[i].inkrement      = c.Inkrement;
                    ct[i].inkrementator  = c.Inkrementator;
                    ct[i].nazev          = c.Nazev;
                    ct[i].postfix        = c.Postfix;
                    ct[i].prefix         = c.Prefix;
                    ct[i].resetator      = c.Resetator;
                    ct[i].vychoziHodnota = c.VychoziHodnota;
                }
                //tr.citace = ct;
                tr.citace = ct.ToList();
            }
            tr.nahrady = PrevedNahrady(this.Nahrady);
            if (this.Tagy.Count > 0)
            {
                tag[] tg = new tag[this.Tagy.Count];
                int   i  = -1;
                foreach (Tag t in this.Tagy)
                {
                    i++;
                    tg[i] = new tag();

                    tg[i].atribut = PrevedAtributy(t.Atributy);
                    tg[i].nahrada = PrevedNahrady(t.Nahrady);

                    tg[i].bezZnacky          = t.BezZnacky;
                    tg[i].bezZnackySpecified = true;
                    tg[i].ignorovat          = t.Ignorovat;
                    tg[i].ignorovatSpecified = true;
                    tg[i].@namespace         = t.Namespace;
                    tg[i].nazev              = t.Nazev;
                    tg[i].prazdnyElement     = t.PrazdnyElement;
                    tg[i].predchoziStyl      = t.PredchoziStyl;
                    tg[i].sloucitSPredchozim = t.SloucitSPredchozim;
                    tg[i].styl = t.Styl;
                }
                //tr.tagy = tg;
                tr.tagy = tg.ToList();
            }
            UlozitTransformaceDoXml(tr, sSouborXml);
        }