Toon posts:

[.Net] XML validatie van nillable int lukt niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een xml schema waarin een aantal nillable int's beschreven zijn.

Deze elementen zijn verplicht en moeten een int of null (leeg) bevatten:
code:
1
<xs:element name="IdBla" type="xs:int" minOccurs="1" maxOccurs="1" nillable="true" />

Wanneer ik met XmlValidatingReader een xml wil valideren tegen dit schema krijg ik een validatie error wanneer ik een leeg IdBla element aanbiedt :
code:
1
<idBla></idBla>

Ik weet dat .net integers value type zijn en dus nooit null kunnen zijn, maar XmlValidatingReader doet daar verder toch niets mee?

Wie helpt mij uit de brand?

  • dingstje
  • Registratie: Augustus 2002
  • Laatst online: 02-01-2024
In de MSDN Docs staat dat nillable genegeerd wordt door de XmlValidatingReader. Hij vind dus niet de minimum occurences (1) en geeft een error.

If you can't beat them, try harder


  • Alex
  • Registratie: Juli 2001
  • Laatst online: 28-02 19:26
dingstje schreef op donderdag 01 september 2005 @ 17:55:
In de MSDN Docs staat dat nillable genegeerd wordt door de XmlValidatingReader. Hij vind dus niet de minimum occurences (1) en geeft een error.
Eigenlijk vrij logisch. Anders hoef je die occurs niet te gebruiken. En aan lege nodes heb je niets als je gaat valideren...

[ Voor 4% gewijzigd door Alex op 02-09-2005 00:21 ]

Deze post is bestemd voor hen die een tegenwoordige tijd kunnen onderscheiden van een toekomstige halfvoorwaardelijke bepaalde subinverte plagiale aanvoegend intentioneel verleden tijd.
- Giphart


  • whoami
  • Registratie: December 2000
  • Laatst online: 30-04 15:31
Alex de Groot schreef op vrijdag 02 september 2005 @ 00:19:
[...]


Eigenlijk vrij logisch. Anders hoef je die occurs niet te gebruiken.
Die minOccurs geeft toch enkel aan dat het element moet voorkomen.
En aan lege nodes heb je niets als je gaat valideren...
Waarom niet ?
Je kan toch de eis hebben: dat element moet in mijn xml-file voorkomen, maar de waarde ervan mag NULL zijn.

https://fgheysels.github.io/


  • joopst
  • Registratie: Maart 2005
  • Laatst online: 01-10-2024
tegen :-)


als je in xml geen waarde hebt, dan zou je het attribuut/element gewoon weg moeten laten.

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
nill/NULL is geen zinnig concept in XML, dat werkt inderdaad met minouccurs=0 indien een veld afwezig is.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • LvdO
  • Registratie: Augustus 2005
  • Laatst online: 20-05-2024
Uit http://www.w3.org/TR/xmlschema-1/:
If {nillable} is true, then an element may also be ·valid· if it carries the namespace qualified attribute with [local name] nil from namespace http://www.w3.org/2001/XMLSchema-instance and value true (see xsi:nil (§2.6.2)) even if it has no text or element content despite a {content type} which would otherwise require content. Formal details of element ·validation· are described in Element Locally Valid (Element) (§3.3.4).

Xopus


Verwijderd

Topicstarter
Inzake validatie rules over elementen beschrijft het W3C :
3 The appropriate case among the following must be true:
3.1 If {nillable} is false, then there must be no attribute information item among the element information item's [attributes] whose [namespace name] is identical to http://www.w3.org/2001/XMLSchema-instance and whose [local name] is nil.
3.2 If {nillable} is true and there is such an attribute information item and its ·actual value· is true , then all of the following must be true:
3.2.1 The element information item must have no character or element information item [children].
3.2.2 There must be no fixed {value constraint}.
Volgens mij zijn nillable elementen dus wel toegestaan, mits geen datatype gespecificeerd.

[ Voor 7% gewijzigd door Verwijderd op 02-09-2005 11:02 ]

Pagina: 1