XML : Select if count condition

I'm trying to select a "station" item if it has more than 4 sub elements of "Bett" with the attribute "Belegt" set to "false". The sub elements should be counted in total.

  ./Krankenhaus/Station[count(//Bett[@Belegt='true'])>4]    

This results in returning all stations. Which is not correct

This is the XML im working with.

  <Krankenhaus>      <Station S_ID="1" Leitung="3">          <Name>Notaufnahme</Name>          <Standort>vorort</Standort>          <Telefonnummer>+43 732 93353555582</Telefonnummer>          <Leitbild>Schnellstmögliche Versorgung</Leitbild>      </Station>      <Station S_ID="2" Leitung="4">          <Name>Rehabilitation</Name>          <Standort>extern</Standort>          <Telefonnummer>+43 732 933522246739954</Telefonnummer>          <Besuchszeit>täglich 9.00-11.00 und 15.00-17.00</Besuchszeit>          <Leitbild>              Bestmögliche Rahmenbedingungen zur vollständigen Rehabilitation          </Leitbild>          <Beschreibung>Genesungsfreudliche Umgebung</Beschreibung>          <Patientenzimmer>              <Zimmer Z_ID="20105">                  <Stockwerk>1</Stockwerk>                  <Kategorie>A</Kategorie>                  <Klasse>2</Klasse>                  <MaxBetten>4</MaxBetten>                  <Betten>                      <Bett B_ID="201" Belegt="true"/>                      <Bett B_ID="202" Belegt="false"/>                      <Bett B_ID="203" Belegt="true"/>                      <Bett B_ID="204" Belegt="false"/>                  </Betten>              </Zimmer>              <Zimmer Z_ID="20106">                  <Stockwerk>1</Stockwerk>                  <Kategorie>C</Kategorie>                  <Klasse>2</Klasse>                  <MaxBetten>5</MaxBetten>                  <Betten>                      <Bett B_ID="205" Belegt="true"/>                      <Bett B_ID="206" Belegt="true"/>                      <Bett B_ID="207" Belegt="true"/>                  </Betten>              </Zimmer>              <Zimmer Z_ID="20107">                  <Stockwerk>1</Stockwerk>                  <Kategorie>C</Kategorie>                  <Klasse>2</Klasse>                  <MaxBetten>5</MaxBetten>                  <Ausstattung>Balkon</Ausstattung>                  <Betten>                      <Bett B_ID="2010" Belegt="true"/>                      <Bett B_ID="2011" Belegt="true"/>                      <Bett B_ID="2012" Belegt="true"/>                      <Bett B_ID="2013" Belegt="false"/>                  </Betten>              </Zimmer>          </Patientenzimmer>      </Station>  </Krankenhaus>    

No comments:

Post a Comment