2009-07-22 17 views
6

Ho generato un file XSD da un frammento di XML utilizzando xsd.exe /outXSD maxOccurs = "illimitata"

Che il suo fare si crea maxOccurs="unbounded" proprietà per alcuni elementi.

Se voglio solo che l'elemento appaia una volta, e non sia una collezione, imposto il maxOccurs in questo modo?

maxOccurs = "1"

risposta

15

Sì. Ovviamente, tieni presente che maxOccurs è in realtà il numero massimo di occorrenze: può ancora essere zero. Se vuoi che ce ne sia sempre uno, avrai bisogno anche di minOccurs = "1".

+9

'maxOccurs =" 1 "e minOccurs =" 1 "' sono predefiniti se questi attributi non sono specificati. –

3

Sì, è così che si fa.

maxOccurs limita il numero massimo di ripetizioni di un dato elemento che può apparire.

Analogamente, minOccurs limita il numero minimo di ripetizioni.

Sono chiamati indicatori di occorrenza. È possibile read more about them at W3Schools.

+0

Quindi questo significa che se imposto maxOccurs = "1", quando genero la classe C#, queste proprietà non diventano raccolte? –

+0

Non ne sono sicuro, ma probabilmente. Se vuoi sapere che dovresti includerlo nella tua domanda. – Welbog

2

http://www.w3schools.com/schema/schema_example.asp dice che: "Il valore predefinito per maxOccurs e minOccurs è 1!"

+0

sì. quei valori predefiniti non sono indicati a cui appartengono-- http://www.w3schools.com/schema/schema_complex_indicators.asp e sono nascosti fino a quel p. hai dato! – Roam