Avatar billede dn666 Nybegynder
20. april 2005 - 18:11 Der er 2 kommentarer

xsd Schema and ref groups

Hi..
I have a little trouble defining a group in my xsd schema.

I have a tag in my xml which have some sub elements
eks:

<TEST>
    <ELEM1>
    <ELEM2>
    <ELEM3>
</TEST>

How do i define in my xsd schema that any element (ELEM1/2/3), can accour any number of times, in any order and none of them are required.

I cant use: <xsd:sequence> because they can come in any order,
I cant use: <xsd:choice> because all elements can be there
I cant use: <xsd:all> because its not required that all of them have to be there.

How do i do that ?
Avatar billede Slettet bruger
20. april 2005 - 21:14 #1
Hmmm - according to the MSXML 4.0 SDK specs, <all> will do that for you:

"Allows the elements in the group to appear (or not appear) in any order in the containing element."

Thus:

<xsd:element name="TEST">
  <xsd:all>
      <xsd:element ref="ELEM1" minOccurs="0" maxOccurs="unbounded" />
      <xsd:element ref="ELEM2" minOccurs="0" maxOccurs="unbounded" />
      <xsd:element ref="ELEM3" minOccurs="0" maxOccurs="unbounded" />
  </xsd:all>
</xsd:element>

- where ELEM1-3 is defined elsewhere in the Schema.

/CS
Avatar billede dn666 Nybegynder
20. april 2005 - 21:24 #2
Ok.. i can try it. tomorrow :)

but according to msdn (Maybe not the best place to ref to but anyway)
all group = all elements occur or none at all
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbcongroupsinxmlschemas.asp
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester