Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

da li je izvodljivo?

[es] :: .NET :: da li je izvodljivo?

Strane: 1 2 3

[ Pregleda: 6355 | Odgovora: 46 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

enferty
student
Novi Sad

Član broj: 193582
Poruke: 113
*.adsl.eunet.rs.



+1 Profil

icon da li je izvodljivo?06.08.2010. u 13:38 - pre 168 meseci
Pozdrav svima,

potrebna mi je mala pomoc. Naime, rec je o pisanju jedne aplikacije za fax. Treba napraviti aplikaciju koja ce raditi validaciju xml dokumenta na osnovu neke xml seme. Sve to zvuci divno, samo sto sam ja pocetnica u xml-u i ne znam puno o tome. Dosada sto sam shvatila je da program radi ako ja u dokumentu napisem ovo (dato na slici):



mene zanima, da li izvodljivo nekako to "prepraviti" da se ne menja kod tj. korisnik da ga ne menja direktno u fajlu, vec da se nekako namesti da se menja da bi moglo da se validira na osnovu neke druge sheme recimo.

ps. izvnite sad na ovim pitanjima, ali veoma su mi vazna za zadatak:

1. zanima me da li je moguce raditi i html validaciju na osnovu neke sheme, pa da se to sacuva kao xhtml dokument?
2. da li ce program raditi i ako ta neka shema i dokument nisu u projektu?
3. kako da sacuvam neki externi dokument u projekat?

Unapred hvala na odgovoru.
 
Odgovor na temu

enferty
student
Novi Sad

Član broj: 193582
Poruke: 113
*.adsl.eunet.rs.



+1 Profil

icon Re: da li je izvodljivo?08.08.2010. u 14:33 - pre 168 meseci
molim vas za pomoc, zaista mi je potrebno
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: da li je izvodljivo?08.08.2010. u 15:03 - pre 168 meseci
U kom jeziku uopst epises program za validaciju? Od toga ti zavise odgovori na sva pitanja.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

enferty
student
Novi Sad

Član broj: 193582
Poruke: 113
*.adsl.eunet.rs.



+1 Profil

icon Re: da li je izvodljivo?08.08.2010. u 15:12 - pre 168 meseci
Izvinjavam se sto nije navedeno, mislila sam da je to univerzalno posto je to xml...
Ali da odgovorim na pitanje, C# je u pitanju.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4785 Profil

icon Re: da li je izvodljivo?08.08.2010. u 19:36 - pre 168 meseci
Mozes ovako nesto:

Code (csharp):

    XmlSchemaSet sc = new XmlSchemaSet();

    sc.Add("urn:bookstore-schema", "Shema.xsd");

    XmlReaderSettings settings = new XmlReaderSettings();
    settings.ValidationType = ValidationType.Schema;
    settings.Schemas = sc;
    settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);

    XmlReader reader = XmlReader.Create("Dokument.xml", settings);

    while (reader.Read());


  private static void ValidationCallBack(object sender, ValidationEventArgs e) {
    Console.WriteLine("Validation Error: {0}", e.Message);
  }
 



Samo ovaj prvi deo stavi u neku funkciju, gde ti vec treba.
 
Odgovor na temu

enferty
student
Novi Sad

Član broj: 193582
Poruke: 113
*.adsl.eunet.rs.



+1 Profil

icon Re: da li je izvodljivo?08.08.2010. u 20:16 - pre 168 meseci
Ok, mislim da sam otprilike ukapirala kod. Hvala isprobacu pa cu videti da li radi, ali problem je u tome sto je i ovde u ovom kodu data shema.xsd, a ona moze biti bilo koja druga shema, npr. proizvod.xsd itd. Da li bi za nju trebala da napravim neku varijablu ili nesto slicno pa da je ispovezujem sa dokumentom koji se validira?
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4785 Profil

icon Re: da li je izvodljivo?08.08.2010. u 22:06 - pre 168 meseci
Citat:
enferty: Ok, mislim da sam otprilike ukapirala kod. Hvala isprobacu pa cu videti da li radi, ali problem je u tome sto je i ovde u ovom kodu data shema.xsd, a ona moze biti bilo koja druga shema, npr. proizvod.xsd itd. Da li bi za nju trebala da napravim neku varijablu ili nesto slicno pa da je ispovezujem sa dokumentom koji se validira?

To je samo primera radi. Mozes dodati koji hoces xsd fajl.
Inace, ovo "urn:bookstore-schema" je namespace. Mozes staviti i null, meni je to ostalo iz primera koji sam kopirao. Vise o Add metodu na http://msdn.microsoft.com/en-us/library/1hh8b082.aspx
 
Odgovor na temu

enferty
student
Novi Sad

Član broj: 193582
Poruke: 113
*.adsl.eunet.rs.



+1 Profil

icon Re: da li je izvodljivo?08.08.2010. u 22:19 - pre 168 meseci
Oke, hvala, to sam shvatila (a nedavno sam skontala sta je zapravo namespace), ali to i dalje nije ono sto meni treba :(
oprosti ako sam bila nejasna :(

mogu ja uneti tu sta god zelim, ali treba u aplikaciji da to unese sam korisnik sa njegovog racunara sa onim browse dugmetom ili negde ako je sema na netu.

ps. izvini jos jednom na maltretiranju za ovo i za nejasnoce.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4785 Profil

icon Re: da li je izvodljivo?09.08.2010. u 02:15 - pre 168 meseci
Ma, nema potrebe za izvinjavanjem :)
Ovo je pojednostavljen primer gde je u kodu samo upisano ime fajla, ali ti mozes to prepraviti tako da to bude ono sto ce unostiti korisnik. Resimo, ovako napravis funkciju koja prihvata putanje do xml i xsd fajla:

Code (csharp):

public void ValidateXMLFile(String XMLFile, String XSDFile)
{
    XmlSchemaSet sc = new XmlSchemaSet();

    sc.Add(null, XSDFile);

    XmlReaderSettings settings = new XmlReaderSettings();
    settings.ValidationType = ValidationType.Schema;
    settings.Schemas = sc;
    settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);

    XmlReader reader = XmlReader.Create(XMLFile, settings);

    while (reader.Read());
}

  private static void ValidationCallBack(object sender, ValidationEventArgs e) {
    Console.WriteLine("Validation Error: {0}", e.Message);
  }
 



Onda gde hoces, samo pozoves tu funkciju. Recimo, sa OpenFileDialog pokupis putanju do xml i xsd fajla i pozoves funkciju sa tim putanjama.

[Ovu poruku je menjao Shadowed dana 09.08.2010. u 11:20 GMT+1]
 
Odgovor na temu

enferty
student
Novi Sad

Član broj: 193582
Poruke: 113
*.adsl.eunet.rs.



+1 Profil

icon Re: da li je izvodljivo?10.08.2010. u 09:40 - pre 168 meseci
Hvala na ovome, isprobacu pa cu ti javiti ako mi nesto ne bude radilo.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4785 Profil

icon Re: da li je izvodljivo?10.08.2010. u 09:56 - pre 168 meseci
Javi i ako bude radilo :)
 
Odgovor na temu

enferty
student
Novi Sad

Član broj: 193582
Poruke: 113
*.adsl.eunet.rs.



+1 Profil

icon Re: da li je izvodljivo?10.08.2010. u 10:05 - pre 168 meseci
Vazi
 
Odgovor na temu

enferty
student
Novi Sad

Član broj: 193582
Poruke: 113
*.adsl.eunet.rs.



+1 Profil

icon Re: da li je izvodljivo?10.08.2010. u 13:03 - pre 168 meseci
Pitanje: Sta su XMLFile i XSDFile?

u kodu tacno?
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4785 Profil

icon Re: da li je izvodljivo?10.08.2010. u 14:41 - pre 168 meseci
Pa, kao sto vidis, to su argumenti funkcije. Njih prosledjujes prilikom pozivanja funkcije..
Ako mislis na to sta predstavljaju, to su putanje do xml i xsd fajlova.
 
Odgovor na temu

enferty
student
Novi Sad

Član broj: 193582
Poruke: 113
*.adsl.eunet.rs.



+1 Profil

icon Re: da li je izvodljivo?11.08.2010. u 08:57 - pre 167 meseci
oke, predpostavila sam... sad me interesuje, kako da iz tog objekta tu putanju prebacim u string koji se trazi u proceduri?

ps. ako zelis, poslacu ti na pp ceo kod pa da vidis, da se ne cimamo ovako stalno.
 
Odgovor na temu

enferty
student
Novi Sad

Član broj: 193582
Poruke: 113
*.adsl.eunet.rs.



+1 Profil

icon Re: da li je izvodljivo?11.08.2010. u 12:02 - pre 167 meseci
ok, ajmo vako:

probala sam da vidim da li ce ovo da radi... da konvertujem odmah ove objekte sa putanjama u stringove, ali sada se pojavio drugi problem
kaze mi ovako: No overload for "browse_btn" matches delegate 'System.EventHandler'... isto tako i za "validiraj_btn_Click" i "xsdBrowse_Click".

gde je ovde greska?

Code (csharp):
namespace WindowsFormsApplication1
{
    public partial class browsing : Form
    {
        public browsing()
        {
            InitializeComponent();
        }

        private void browse_btn(object sender, EventArgs e, string XMLFile)
        {

            OpenFileDialog ofd = new OpenFileDialog();
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                txtFileName.Text = ofd.FileName;
                XMLFile = txtFileName.Text.ToString();
            }
        }

        private void xsdBrowse_Click(object sender, EventArgs e, string XSDFile)
        {
            OpenFileDialog of = new OpenFileDialog();
            if (of.ShowDialog() == DialogResult.OK)
            {
                txtXSDFile.Text = of.FileName;
                XSDFile = txtXSDFile.Text.ToString();
            }
        }

        private void txtInternet_TextChanged(object sender, EventArgs e)
        {
            // povlacenje dokumenta sa internet stranice
        }

        private void validiraj_btn_Click(object sender, EventArgs e, string XMLFile, string XSDFile)
        {

            ValidateXMLFile(XMLFile,XSDFile);
        }

                    public void ValidateXMLFile(String XMLFile, String XSDFile)
                    {
                        XmlSchemaSet sc = new XmlSchemaSet();

                        sc.Add(null, XSDFile);

                        XmlReaderSettings settings = new XmlReaderSettings();
                        settings.ValidationType = ValidationType.Schema;
                        settings.Schemas = sc;
                        settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);

                        XmlReader reader = XmlReader.Create(XMLFile, settings);

                        while (reader.Read()) ;
                    }

        public static void ValidationCallBack(object sender, ValidationEventArgs e)
        {
            Console.WriteLine("Validation Error: {0}", e.Message);
        }

        public void EventHandler(object sender, EventArgs e)
        {
            textBox1.Text += "Greska!";
        }

        //close button
        private void close_btn_Click(object sender, EventArgs e)
        {
            browsing.ActiveForm.Close();
        }

        //clear button
        private void clear_btn_Click(object sender, EventArgs e)
        {
            textBox1.Clear();
        }      
    }
}

 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4785 Profil

icon Re: da li je izvodljivo?11.08.2010. u 12:20 - pre 167 meseci
Podvuceni delovi su visak:
private void browse_btn(object sender, EventArgs e, string XMLFile)

private void xsdBrowse_Click(object sender, EventArgs e, string XSDFile)

private void validiraj_btn_Click(object sender, EventArgs e, string XMLFile, string XSDFile)


Ne znam sto si ih dodavala, ali uopste ne trebaju biti tu. Ne moze tako a i posto putanje vec imas u TextBox-ovima, ne trebaju ti dodatne promenljive.
Samo zameni:
Code (csharp):

        private void validiraj_btn_Click(object sender, EventArgs e, string XMLFile, string XSDFile)
        {
            ValidateXMLFile(XMLFile,XSDFile);
        }
 

sa
Code (csharp):

        private void validiraj_btn_Click(object sender, EventArgs e, string XMLFile, string XSDFile)
        {
            ValidateXMLFile(txtFileName.Text, txtXSDFile.Text);
        }
 


I, nema potrebe za TextBox.Text.ToString() posto Text vec jeste String.
 
Odgovor na temu

enferty
student
Novi Sad

Član broj: 193582
Poruke: 113
*.adsl.eunet.rs.



+1 Profil

icon Re: da li je izvodljivo?11.08.2010. u 12:53 - pre 167 meseci
ahhaaam.... sad je svakako jasnije
malo je teze navici se na ovo... oprosti na svim glupostima koje budes video :P

kazi mi jos samo nesto: posto sam ja pisala validaciju u bool formatu, a ovo je sada void. Kada zelim da mu kazem da mi ispise u textBox-u, javlja mi da ga ne vidi, kako ga sad ne vidi?

Code (csharp):

public static void ValidationCallBack(object sender, ValidationEventArgs e)
        {
            //Console.WriteLine("Validation Error: {0}", e.Message);
            textBox1.Text += "Greska!";
        }

 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4785 Profil

icon Re: da li je izvodljivo?11.08.2010. u 17:07 - pre 167 meseci
Kopiraj tacno koju gresku dobijas. Pretpostavljam sta je, ali za svaki slucaj kopiraj.
 
Odgovor na temu

enferty
student
Novi Sad

Član broj: 193582
Poruke: 113
*.adsl.eunet.rs.



+1 Profil

icon Re: da li je izvodljivo?11.08.2010. u 19:25 - pre 167 meseci
An object reference is required for the non-static field, method, or property 'WindowsFormsApplication1.browsing.textBox1'
C:\Users\Administrator\My Documents\Visual Studio 2008\Projects\xmlshema\WindowsFormsApplication1\browsing.cs
 
Odgovor na temu

[es] :: .NET :: da li je izvodljivo?

Strane: 1 2 3

[ Pregleda: 6355 | Odgovora: 46 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.