[XML Schema] niepowtarzalność elementu

0

Witam,
mam taki problem (a raczej zadanie) mianowicie pod spodem przedstawiam wam fragment pliku xml:

  <uczniowie>
    <uczen>
      <imie>Uąśćźżńółęczen</imie>
      <nazwisko>Nazwiskoucznia</nazwisko>
      <pesel>84080212219</pesel>
      <numer_legitymacji>AB123</numer_legitymacji>
      <oceny>
        <przedmiot nazwa="matematyka">
          <oceny_czastkowe>2 3+ 4-</oceny_czastkowe>
          <ocena_koncowa>3</ocena_koncowa>
        </przedmiot>
        <przedmiot nazwa="fizyka">
          <oceny_czastkowe>2 3+ 4- 5 5 2</oceny_czastkowe>
          <ocena_koncowa>3</ocena_koncowa>
        </przedmiot>
        <przedmiot nazwa="chemia">
          <oceny_czastkowe>2 3+ 4- 5 5</oceny_czastkowe>
          <ocena_koncowa>3</ocena_koncowa>
        </przedmiot>
        <przedmiot nazwa="historia">
          <oceny_czastkowe>2 3+ 4- 5 5</oceny_czastkowe>
          <ocena_koncowa>3</ocena_koncowa>
        </przedmiot>
      </oceny>
      <srednia>4.23</srednia>
    </uczen>
    <uczen>
      <imie>Ączen</imie>
      <nazwisko>Nazwiskoucznia</nazwisko>
      <pesel>81111802984</pesel>
      <numer_legitymacji>AB155</numer_legitymacji>
      <oceny>
        <przedmiot nazwa="matematyka">
          <oceny_czastkowe>2 3+ 4- </oceny_czastkowe>
          <ocena_koncowa>3</ocena_koncowa>
        </przedmiot>
        <przedmiot nazwa="fizyka">
          <oceny_czastkowe>2 3+ 4- 5 5 2</oceny_czastkowe>
          <ocena_koncowa>3</ocena_koncowa>
        </przedmiot>
        <przedmiot nazwa="fizyka">
          <oceny_czastkowe>2 3+ 4- 5 5</oceny_czastkowe>
          <ocena_koncowa>3</ocena_koncowa>
        </przedmiot>
        <przedmiot nazwa="historia">
          <oceny_czastkowe>2 3+ 4- 5 5</oceny_czastkowe>
          <ocena_koncowa>3</ocena_koncowa>
        </przedmiot>
      </oceny>
      <srednia>4.23</srednia>
    </uczen>

moim zadaniem jest zrobienie takiego pliku XML Schema aby nie powtarzały się przedmioty. Probowałem coś wykonać i doszedłem do czegos takiego

<xsd:unique name="KluczPrzedmiot">
<xsd:selector xpath="uczniowie/uczen/oceny/przedmiot"/>
<xsd:field xpath="@nazwa"/>
</xsd:unique>

tutaj jednak pojawia się błąd bo taki kod powoduje iż w cały pliku XML mogę mieć tylko jeden dany przedmiot. Jak zrobić aby ta unikalność odnosiła się tylko do zawartości znacznika OCENY ?

Dziękuję za jakąkolwiek pomoc,
lukaslew

0
lukaslew napisał(a)

Witam,
mam taki problem (a raczej zadanie) mianowicie pod spodem przedstawiam wam fragment pliku xml:

<uczniowie> <uczen> <imie>Uąśćźżńółęczen</imie> <nazwisko>Nazwiskoucznia</nazwisko> <pesel>84080212219</pesel> <numer_legitymacji>AB123</numer_legitymacji> <oceny> <przedmiot nazwa="matematyka"> <oceny_czastkowe>2 3+ 4-</oceny_czastkowe> <ocena_koncowa>3</ocena_koncowa> </przedmiot> <przedmiot nazwa="fizyka"> <oceny_czastkowe>2 3+ 4- 5 5 2</oceny_czastkowe> <ocena_koncowa>3</ocena_koncowa> </przedmiot> <przedmiot nazwa="chemia"> <oceny_czastkowe>2 3+ 4- 5 5</oceny_czastkowe> <ocena_koncowa>3</ocena_koncowa> </przedmiot> <przedmiot nazwa="historia"> <oceny_czastkowe>2 3+ 4- 5 5</oceny_czastkowe> <ocena_koncowa>3</ocena_koncowa> </przedmiot> </oceny> <srednia>4.23</srednia> </uczen> <uczen> <imie>Ączen</imie> <nazwisko>Nazwiskoucznia</nazwisko> <pesel>81111802984</pesel> <numer_legitymacji>AB155</numer_legitymacji> <oceny> <przedmiot nazwa="matematyka"> <oceny_czastkowe>2 3+ 4- </oceny_czastkowe> <ocena_koncowa>3</ocena_koncowa> </przedmiot> <przedmiot nazwa="fizyka"> <oceny_czastkowe>2 3+ 4- 5 5 2</oceny_czastkowe> <ocena_koncowa>3</ocena_koncowa> </przedmiot> <przedmiot nazwa="fizyka"> <oceny_czastkowe>2 3+ 4- 5 5</oceny_czastkowe> <ocena_koncowa>3</ocena_koncowa> </przedmiot> <przedmiot nazwa="historia"> <oceny_czastkowe>2 3+ 4- 5 5</oceny_czastkowe> <ocena_koncowa>3</ocena_koncowa> </przedmiot> </oceny> <srednia>4.23</srednia> </uczen> ``` > > moim zadaniem jest zrobienie takiego pliku XML Schema aby nie powtarzały się przedmioty. Probowałem coś wykonać i doszedłem do czegos takiego > > <xsd:unique name="KluczPrzedmiot"> <xsd:selector xpath="uczniowie/uczen/oceny/przedmiot" /> <xsd:field xpath="@nazwa" /> </xsd:unique> ``` > > tutaj jednak pojawia się błąd bo taki kod powoduje iż w cały pliku XML mogę mieć tylko jeden dany przedmiot. Jak zrobić aby ta unikalność odnosiła się tylko do zawartości znacznika OCENY ? > > Dziękuję za jakąkolwiek pomoc, > lukaslew

1 użytkowników online, w tym zalogowanych: 0, gości: 1