Het blijkt dat de codegeneratietools van Microsoft niet om kunnen gaan met attributegroups binnen attributegroups (zie http://msdn.microsoft.com/en-us/library/484632e7%28VS.85%29.aspx) en dat dit voorlopig niet zal worden opgelost (Visual Studio 2010 / .NET Framework 4.0 hebben er ook last van).
Het gevolg hiervan is dat voor de complextypes die gebruik maken van de attributegroups 'StUF:relatie' of 'StUF:relatieZonderSleutels' de code niet juist wordt gegenereerd (er ontbreken attributen). Een pragmatische oplossing hiervoor is om geen geneste attributegroups te gebruiken, maar om de attributes uit de geneste attributegroup rechtstreeks op te nemen in de 'parent' attributegroup.
Ik ben me ervan bewust dat dit in theoretisch opzicht geen mooie oplossing is, maar het zou wel voorkomen dat ontwikkelaars die gebruik maken van Microsoft technologie bij elke nieuwe versie van een sectormodel de xsd handmatig moeten aanpassen.
Groeten,
Rob van der Pol
wo, 7-10-2009 - 09.58u
#1
Geneste attributeGroups
Kun je een concreet voorbeeld geven waar het fout gaat? (In de vorm van een XSD-fragment.)
Hallo Rob,
Ik stel voor dat we in de volgende patch (januari 2010) de door jou voorgestelde oplossing doorvoeren in de attributeGroup relatie en relatieZonderSleutels
Maarten
Maarten,
Ik zou het verstandig vinden om eerst met elkaar te overleggen hoe we omgaan met leemtes die Frameworks en tools vertonen bij hun implementatie van XML-Schema.
Moeten we bij het construeren van de XML schema's de mogelijkheden van de diverse tools, frameworks, etc... volgen? Moeten we onszelf bij het construeren daar juist niet door laten leiden of ligt de waarheid ergens in het midden?
Ik denk dat deze keuze bepaald hoe progressief of conservatief we om kunnen gaan met XML-Schema technieken.
Hallo Robert,
Het lijkt me goed om dit punt te agenderen voor de StUF Expertgroep. Ik zelf zit er redelijk pragmatisch in. In elk geval veel gebruikte tooling zal overweg moeten kunnen met de gepubliceerde schema's, omdat anders een standaard niet implementeerbaar is en daarmee een dode letter.
Met vriendelijke groet,
Maarten
Maarten,
Kan ik me best in vinden. Natuurlijk moeten we wel pragmatisch blijven.
De vraag is alleen tot hoever gaan we daarin.
Prima om het op de agenda te zetten.