[XML] xsd problemen.

Pagina: 1
Acties:
  • 267 views sinds 30-01-2008
  • Reageer

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Ik ben de hele dag al bezig om mijn xml bestand aan een xsd bestand te koppelen en het wil maar niet lukken. Hij zit te zeuren over een : end of entity not allowed tag. En met een DTD doet hij het wel goed, dus XML bestand is oke. Denk alleen het schema bestand niet (is wel well formed trouwens) of de koppeling deugt niet.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?xml version="1.0" encoding="UTF-8"?>

<multiDatabase xmlns:xsd="http://129.125.134.51" xsd:noNamespaceSchemaLocation="http://129.125.134.51/MultiDatabase.xsd" >

<multiDatabase name="MultiDatabase" label="MultiDatabase">
  <databaseList>
    <database name="ASA" driverName="sun.jdbc.odbc.JdbcOdbcDriver" url="jdbc:odbc:ASA 7.0 Sample" loginName="" password="" label="">
    <tableList>
      <table name="employee" sqlName="employee" label="employee">
        <columnList>
        <column name="emp_id" type="int" key="true" view="false" sqlName="emp_id" label="emp_id" />
        <column name="manager_id" type="int" key="false" view="false" sqlName="manager_id" label="manager_id" />
        <column name="emp_fname" type="string" key="false" view="false" sqlName="emp_fname" label="emp_fname" />
        <column name="emp_lname" type="string" key="false" view="false" sqlName="emp_lname" label="emp_lname" />
        <column name="dept_id" type="int" key="false" view="false" sqlName="dept_id" label="dept_id" />
        <column name="street" type="string" key="false" view="false" sqlName="street" label="street" />
        </columnList>
      </table>
         ......
      <table name="rs_lastcommit" sqlName="rs_lastcommit" label="rs_lastcommit">
        <columnList>
        <column name="origin" type="int" key="true" view="false" sqlName="origin" label="origin" />
        <column name="origin_qid" type="Undefined" key="false" view="false" sqlName="origin_qid" label="origin_qid" />
        <column name="secondary_qid" type="Undefined" key="false" view="false" sqlName="secondary_qid" label="secondary_qid" />
        <column name="origin_time" type="date" key="false" view="false" sqlName="origin_time" label="origin_time" />
        <column name="commit_time" type="date" key="false" view="false" sqlName="commit_time" label="commit_time" />
        </columnList>
      </table>
      <table name="rs_threads" sqlName="rs_threads" label="rs_threads">
        <columnList>
        <column name="id" type="int" key="true" view="false" sqlName="id" label="id" />
        <column name="seq" type="int" key="false" view="false" sqlName="seq" label="seq" />
        </columnList>
      </table>
    </tableList>
    </database>
  </databaseList>
  <relationList>
   <relation name="sales_order_items_to_sales_order" primDatabase="ASA" sqlNamePrimTable="sales_order" foreignDatabase="ASA" sqlNameForeignTable="sales_order_items" retrievedFromDatabase="true" label="sales_order_items_to_sales_order">
    <columnPairList>
      <!--the sql names of the columns-->
      <pair primary="id" foreign="id" />
    </columnPairList>
    </relation>
  </relationList>
</multiDatabase>
-hier begint ie te zeuren over end of entity not allowed.

het schema bestand.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?xml version="1.0" encoding="UTF-8"?>

<xsd:schema xmlns:xsd="http://129.125.134.51">

<xsd:element name="multiDatabase" type="multiDatabaseType" />

<xsd:complexType name="multiDatabaseType">
    <xsd:sequence>
        <xsd:element name="name"             type="xsd:string" />
        <xsd:element name="label"            type="xsd:string" />
        <xsd:element name="databaseList"     type="databaseList" />
        <xsd:element name="relationList"    type="relationList" />
    </xsd:sequence>
</xsd:complexType>


<xsd:complexType name="databaseList">
    <xsd:sequence>
        <xsd:element name="database"     type="database"     maxOccurs="unbounded" />
    </xsd:sequence>
</xsd:complexType>


<xsd:complexType name="database">
    <xsd:sequence>
        <xsd:element name="name"         type="xsd:string"   />
        <xsd:element name="driverName"   type="xsd:string"   />
        <xsd:element name="url"      type="xsd:string"   />
        <xsd:element name="login"       type="xsd:string"    />
        <xsd:element name="password"    type="xsd:string"    />
        <xsd:element name="label"        type="xsd:string"   />
        <xsd:element name="tableList"    type="tableList"    />
    </xsd:sequence>
</xsd:complexType>


<xsd:complexType name="tableList">
    <xsd:sequence>
        <xsd:element name="table"        type="table"        maxOccurs="unbounded" />
    </xsd:sequence>
</xsd:complexType>


<xsd:complexType name="table" >
    <xsd:sequence>
        <xsd:element name="name"         type="xsd:string"   />
        <xsd:element name="sqlname"     type="xsd:string"    />
        <xsd:element name="label"        type="xsd:string"   />
        <xsd:element name="columnList"   type="columnList"   />
    </xsd:sequence>
</xsd:complexType>


<xsd:complexType name="columnList" >
    <xsd:sequence>
        <xsd:element name="column"       type="column"       maxOccurs="unbounded" />       
    </xsd:sequence>
</xsd:complexType>


<xsd:complexType name="column" >
    <xsd:sequence>
        <xsd:element name="name"        type="xsd:string"    />
        <xsd:element name="type"        type="xsd:string"    />
        <xsd:element name="key"         type="xsd:boolean"   />
        <xsd:element name="view"        type="xsd:boolean"   />
        <xsd:element name="sqlName"     type="xsd:string"    />
        <xsd:element name="label"       type="xsd:string"   />
    </xsd:sequence>
</xsd:complexType>


<xsd:complexType name="relationList">
    <xsd:sequence>
        <xsd:element name="relation"    type="relation"     maxOccurs="unbounded" />    
    </xsd:sequence>
</xsd:complexType>


<xsd:complexType name="relation">
    <xsd:sequence>
        <xsd:element name="name"                    type="xsd:string"       />
        <xsd:element name="primDatabase"             type="xsd:string"      />
        <xsd:element name="sqlNamePrimTable"        type="xsd:string"       />
        <xsd:element name="foreignDatabase"         type="xsd:string"       />
        <xsd:element name="sqlNameForeignTable"     type="xsd:string"       />
        <xsd:element name="retrievedFromDatabase"   type="xsd:boolean"      />
        <xsd:element name="label"                   type="xsd:string"       />
        <xsd:element name="columnPairList"          type="columnPairList"   />
        
    </xsd:sequence>
</xsd:complexType>


<xsd:complexType name="columnPairList">
    <xsd:sequence>
        <!--maxOccurs staat niet goed. -->
        <xsd:element name="pair"            type="pair"         maxOccurs="unbound" />
    </xsd:sequence>
</xsd:complexType>


<xsd:complexType name="pair">
    <xsd:sequence>
        <xsd:element name="primary"     type="xsd:string"   />
        <xsd:element name="foreign"     type="xsd:string"   />
    </xsd:sequence>
</xsd:complexType>


</xsd:schema>

ps: op dit moment kan het xml bestand sowieso niet parsen omdat de types in xsd niet alleen string zijn, en in het xml bestand wel.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Hum, ik zal hem eens even door m'n schema checker halen...

zo meer...

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Hum is, dit sowieso niet wat vreemd :?
code:
1
<xsd:schema xmlns:xsd="http://129.125.134.51">

Volgens mij is dat meestal zoiets:
code:
1
2
3
4
5
6
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://www.books.org"
           xmlns="http://www.books.org"
           elementFormDefault="qualified">
   ...
</xsd:schema>

of als er geen namespace is:
code:
1
2
3
4
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified">
   ...
</xsd:schema>

(Ook maar gekopieerd hoor, ik ken al die rommel niet uit mijn hoofd ;) )

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Schema checker ?? Da's verrekte handig !! Waar is die te downen ? :)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Er zijn er meerdere: op de W3C site van XML-Schemas staan er vast wel een paar :) .

Ik gebruikte altijd die van IBM, die beviel goed. Ben nu even de laatste van Sun aan het proberen.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Je schema instantie declaratie klopt trouwens ook niet...

Die moet zo:
code:
1
2
<BookStore xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:noNamespaceSchemaLocation= "BookStore.xsd">

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Aha. Ben al een beetje aan het klooien geweest met XSLT en XSD, maar XSD heb ik nog geen tuorials over kunnen vinden. Moet ik zeker ook bij het W3C zoeken ?

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Op http://www.xfront.com staat een hele goede tutorial voor XML Schemas :) . Daar pluk ik al m'n correcties uit ;) .

In de XML file doe je trouwens nog iets raars:
code:
1
2
3
<multiDatabase xmlns:xsd="http://129.125.134.51" xsd:noNamespaceSchemaLocation="http://129.125.134.51/MultiDatabase.xsd" >

<multiDatabase name="MultiDatabase" label="MultiDatabase">

Die eerste sluit je niet af?

Wat voor tutorial heb jij gebruikt :? :? :P .

Ik zou eerst dit maar eens aanpassen allemaal, dan loopt het vast al een stuk beter ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
ik ben een handje vol met handleiding afgegaan, maar kon nergens degelijke info vinden. Heb mijn baas al gezegd dat er na de kerstvakantie een nieuw XML boek moet komen. Maar ik zal het straks ff checken.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Neem dan "Professional XML" van wrox :P .

Als je ff die tutorials van http://www.xfront.com erbij pakt en een goede schema validator, dan kom je er vast wel goed uit :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Een boek werkt wel 20 zo goed dan die halfgebakken tutorials. En ik hoef het ook niet te betalen :+ Maar bedankt voor de tip.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Zijn er trouwens ook nog ergens guidelines voor XML zoals bij java? dus standaard gebruik namen ed.

  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Van MSXML is er wel een documentatie met alle functies op een rij en de uitleg van XSL en de MS variant van XSD. http://msdn.microsoft.com dus :)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
iiieeeksss microsoft :)

  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Ja maar is best wel handig alle functies op een rij in een chm bestandje :) Zelf gebruik ik die als naslagwerkje voor alle XSL gerelateerde dingen :) Qua XSL staat er geen shit in die alleen door een M$ parser wordt weergegeven :)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Alarmnummer: Zijn er trouwens ook nog ergens guidelines voor XML zoals bij java? dus standaard gebruik namen ed.
Tja, in XML mogen juist alle namen ;) . Belangrijkste is om consequent te zijn en goede keuzen te maken voor attributen versus elementen.

Gebuik standaard naamgevingspatronen:

kleineLetter
of
HoofdLetter
of
hoofd-letter

Ik gebruik zelf vaak de laatste in XML omdat kleine letters wat rustiger overkomen...

Op http://www.zvon.org hebben ze trouwens ook uitstekende references: Ik gebruik altijd deze om te kijken waar wat mag. Ze geven goed aan welke content waar is toegestaan en wat de betekenis is :) . Ook voor XHTML en XSLT zijn ze erg makkelijk.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment

Pagina: 1