DevX Home    Today's Headlines   Articles Archive   Tip Bank   Forums   

Results 1 to 6 of 6

Thread: XML/DTD validation errors

Hybrid View

  1. #1
    Join Date
    Mar 2011
    Posts
    1

    XML/DTD validation errors

    Hello
    i have a problem with xml validation, don't know what's wrong. Could u give me a hint?

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE struktura [  
      <!ELEMENT struktura (firma,informacje)>
    	<!ELEMENT firma (#PCDATA)>
    	<!ELEMENT informacje (nazwafirmy,oddzial,pracownicy)>
    	<!ELEMENT nazwafirmy (#PCDATA)>
    	<!ELEMENT oddzial (#PCDATA)>
    	<!ELEMENT pracownicy (stanowisko+,dane+)>
    	<!ELEMENT stanowisko (#PCDATA)>
    	<!ELEMENT dane (pracownik,dataur,dzial,funkcje)>
    	<!ELEMENT pracownik (#PCDATA)>
    	<!ELEMENT dataur (#PCDATA)>
    	<!ELEMENT dzial (#PCDATA)>
    	<!ELEMENT funkcje (glowna,pozostale)>
    	<!ELEMENT glowna (#PCDATA)>
    	<!ELEMENT pozostale (#PCDATA)>
    	]>
    <struktura>
    <firma>Polska</firma>
    <informacje>
      <nazwafirmy>Firma S.A</nazwafirmy>
      <oddzial>Warszawa</oddzial>
      <pracownicy>
        <stanowisko>CEO</stanowisko>
      	<dane>
              <pracownik>Andrzej Nores</pracownik>
    			    <dataur>1975-07-14</dataur>
    			    <dzial>Brak</dzial>
    				
    			    <funkcje>
    					    <glowna>Zarządzanie Tczewskim oddziałem Flextronics</glowna>
    					    <pozostale>Repr. Tczewskiego oddziału</pozostale>
    			    </funkcje>
    	</dane>
        <stanowisko>Kierownik HR</stanowisko>
        <dane>
              <pracownik>Przemysław Tytoń</pracownik>
    			    <dataur>1987-05-23</dataur>
    			    <dzial>HR</dzial>	
    				
    			    <funkcje>
    				    <glowna>Zarządzanie działem HR</glowna>
    				    <pozostale>Zarządzanie urlopami</pozostale>
    			    </funkcje>
    	</dane>
        <stanowisko>Asystent HR</stanowisko>
    	 <dane>
              <pracownik>Kamila Glik</pracownik>
    			    <dataur>1988-02-03</dataur>
    			    <dzial>HR</dzial>
    			    
    			    <funkcje>
    					    <glowna>Zarządzanie urlopami</glowna>
    					    <pozostale>Kontakt z pracownikami</pozostale>
    			    </funkcje>
    	</dane>
            </pracownicy>
    </informacje>
    </struktura>
    Line 35, Column 16: document type does not allow element "stanowisko" here
    Line 46, Column 16: document type does not allow element "stanowisko" here

  2. #2
    Join Date
    May 2009
    Location
    United Kingdom
    Posts
    49
    Your DTD defines a sequence of elements:
    <!ELEMENT pracownicy (stanowisko+,dane+)>

    This means that there can be one or more 'stanowisko' followed by one or more 'dane', this does not allow for stanowisko, dane, stanowisko, dane ...

    If you wish to pair these elements then you would need to define a wrapper element.

    e.g.
    <!ELEMENT pracownicy (wrapper+)>
    <!ELEMENT wrapper (stanowisko,dane)>

  3. #3
    Join Date
    May 2009
    Posts
    60
    it's possible without the rwapper

    out of it follows

    (stanowisko? dane?) +

    stanowisko? is nul or more times since his
    at the same dane?
    and the outer clamp mind most 1 order several times

    <!ELEMENT pracownicy (stanowisko?,dane?)+>



    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE struktura [  
      <!ELEMENT struktura (firma,informacje)>
    	<!ELEMENT firma (#PCDATA)>
    	<!ELEMENT informacje (nazwafirmy,oddzial,pracownicy)>
    	<!ELEMENT nazwafirmy (#PCDATA)>
    	<!ELEMENT oddzial (#PCDATA)>
    	<!ELEMENT pracownicy (stanowisko?,dane?)+>
    	<!ELEMENT stanowisko (#PCDATA)>
    	<!ELEMENT dane (pracownik,dataur,dzial,funkcje)>
    	<!ELEMENT pracownik (#PCDATA)>
    	<!ELEMENT dataur (#PCDATA)>
    	<!ELEMENT dzial (#PCDATA)>
    	<!ELEMENT funkcje (glowna,pozostale)>
    	<!ELEMENT glowna (#PCDATA)>
    	<!ELEMENT pozostale (#PCDATA)>
    	]>
    <struktura>
    <firma>Polska</firma>
    <informacje>
      <nazwafirmy>Firma S.A</nazwafirmy>
      <oddzial>Warszawa</oddzial>
      <pracownicy>
        <stanowisko>CEO</stanowisko>
      	<dane>
              <pracownik>Andrzej Nores</pracownik>
    			    <dataur>1975-07-14</dataur>
    			    <dzial>Brak</dzial>
    				
    			    <funkcje>
    					    <glowna>Zarządzanie Tczewskim oddziałem Flextronics</glowna>
    					    <pozostale>Repr. Tczewskiego oddziału</pozostale>
    			    </funkcje>
    	</dane>
        <stanowisko>Kierownik HR</stanowisko>
        <dane>
              <pracownik>Przemysław Tytoń</pracownik>
    			    <dataur>1987-05-23</dataur>
    			    <dzial>HR</dzial>	
    				
    			    <funkcje>
    				    <glowna>Zarządzanie działem HR</glowna>
    				    <pozostale>Zarządzanie urlopami</pozostale>
    			    </funkcje>
    	</dane>
        <stanowisko>Asystent HR</stanowisko>
    	 <dane>
              <pracownik>Kamila Glik</pracownik>
    			    <dataur>1988-02-03</dataur>
    			    <dzial>HR</dzial>
    			    
    			    <funkcje>
    					    <glowna>Zarządzanie urlopami</glowna>
    					    <pozostale>Kontakt z pracownikami</pozostale>
    			    </funkcje>
    	</dane>
            </pracownicy>
    </informacje>
    </struktura>

  4. #4
    Join Date
    May 2009
    Location
    United Kingdom
    Posts
    49
    What you cannot do is define a sequence of a|b|a|b|a|b you could however specify it as a choice, but I am not sure of the syntax for a DTD, I usually work with XSD's.

  5. #5
    Join Date
    May 2009
    Location
    United Kingdom
    Posts
    49
    You could try this:
    Code:
    <!ELEMENT pracownicy (stanowisko | dane)*>

  6. #6
    Join Date
    May 2009
    Posts
    60
    <ELEMENT pracownicy (stanowisko | dane!) *>
    with this element, there are also problems because
    It is also possible zero times

    is my solution,

    <! ELEMENT pracownicy (stanowisko? dane?) +>

    it must in any case
    appear once the element
    and regardless of the sequence
    So is possible
    dane dane dane stanowisko stanowisko

Similar Threads

  1. Replies: 0
    Last Post: 03-17-2011, 02:19 AM
  2. javascript validation error message
    By karen987 in forum Web
    Replies: 4
    Last Post: 04-30-2007, 06:04 PM
  3. Validation for Data control event
    By Tazmania in forum VB Classic
    Replies: 1
    Last Post: 05-22-2006, 08:44 AM
  4. Replies: 2
    Last Post: 09-04-2001, 08:59 PM
  5. Turning API Errors into Basic Errors
    By Jim Pragit in forum VB Classic
    Replies: 0
    Last Post: 04-13-2000, 02:07 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center
 
 
FAQ
Latest Articles
Java
.NET
XML
Database
Enterprise
Questions? Contact us.
C++
Web Development
Wireless
Latest Tips
Open Source


   Development Centers

   -- Android Development Center
   -- Cloud Development Project Center
   -- HTML5 Development Center
   -- Windows Mobile Development Center