XPath con escenario de equipamento informático (avanzado)

De MediaWiki
Ir a la navegación Ir a la búsqueda

O XML do enunciado é o seguinte:

<?xml version="1.0" encoding="utf-8"?>
<equipos>
 <máquina nome="PC017">
  <hardware>
   <tipo>PC Sobremesa</tipo>
   <fabricante>Dell</fabricante>
   <procesador marca="Intel" num_nucleos="4" velocidade="3.1">i7</procesador>
   <memoria tecnoloxía="DDR3">8</memoria>
   <disco tecnoloxía="SATA" capacidade="2000"/>
   <gravadora tipo="DVD"/>
  </hardware>
  <config>
   <OS>Windows 7</OS>
   <IP>192.168.20.105</IP>
   <gateway>192.168.20.1</gateway>
  </config>
 </máquina>
 <máquina nome="PC053">
  <hardware>
   <tipo>Semitorre</tipo>
   <memoria>0.5</memoria>
   <disco capacidade="40"/>
   <lectora tipo="CD"/>
  </hardware>
  <config>
   <OS>Windows XP</OS>
  </config>
 </máquina>
 <máquina nome="PC007">
  <hardware>
   <tipo>Semitorre</tipo>
   <memoria tecnoloxía="DDR">0.5</memoria>
   <disco capacidade="40"/>
   <lectora tipo="CD"/>
  </hardware>
  <config>
   <OS>Windows XP</OS>
  </config>
  <notas>Sin tarxeta de rede</notas>
 </máquina>
 <máquina nome="PR003">
  <hardware>
   <tipo>Impresora Inyección</tipo>
   <fabricante>Lexmark</fabricante>
  </hardware>
  <config/>
 </máquina>
 <máquina nome="PC011">
  <hardware>
   <tipo>Semitorre</tipo>
   <memoria>1</memoria>
   <disco capacidade="80"/>
   <lectora tipo="CD"/>
  </hardware>
  <config>
   <OS>Windows 2000 SP4</OS>
   <IP>192.168.10.221</IP>
  </config>
 </máquina>
 <máquina nome="PC019">
  <hardware>
   <tipo>Semitorre</tipo>
   <procesador marca="AMD" velocidade="1.4">Athlon</procesador>
   <memoria>0.5</memoria>
   <disco capacidade="40"/>
   <gravadora tipo="CD"/>
  </hardware>
  <config>
   <OS>Mandriva 2007</OS>
   <IP>192.168.10.45</IP>
   <gateway>192.168.10.1</gateway>
  </config>
 </máquina>
 <máquina nome="PR007">
  <hardware>
   <tipo>Impresora Láser</tipo>
   <fabricante>OKI</fabricante>
  </hardware>
  <config/>
  <notas>Monocromo, dúplex, red</notas>
 </máquina>
 <máquina nome="COPERNICO">
  <hardware>
   <tipo>Torre</tipo>
   <fabricante>Fujitsu-Siemens</fabricante>
   <procesador marca="Intel" num_nucleos="4" velocidade="3">Xeon</procesador>
   <memoria tecnoloxía="DDR">2</memoria>
   <disco tecnoloxía="SCSI" capacidade="500"/>
   <disco tecnoloxía="SCSI" capacidade="500"/>
   <gravadora tipo="DVD"/>
  </hardware>
  <config>
   <role>Servidor de dominio</role>
   <OS>Windows 2003 Server R2</OS>
   <IP>192.168.20.11</IP>
   <gateway>192.168.20.1</gateway>
  </config>
 </máquina>
 <máquina nome="GALILEO">
  <hardware>
   <tipo>Torre</tipo>
   <fabricante>Fujitsu-Siemens</fabricante>
   <procesador marca="Intel" num_nucleos="4" velocidade="3">Xeon</procesador>
   <memoria tecnoloxía="DDR2">2</memoria>
   <disco tecnoloxía="SCSI" capacidade="200"/>
   <disco tecnoloxía="SCSI" capacidade="200"/>
   <disco tecnoloxía="SCSI" capacidade="200"/>
   <lectora tipo="DVD"/>
  </hardware>
  <config>
   <role>Servidor de dominio</role>
   <OS>Windows 2008 Server R2</OS>
   <IP>192.168.20.10</IP>
   <gateway>192.168.20.1</gateway>
  </config>
 </máquina>
 <máquina nome="KEPLER">
  <hardware>
   <tipo>Rack</tipo>
   <fabricante>HP</fabricante>
   <procesador marca="Intel" num_nucleos="2" velocidade="3">Core2 Duo</procesador>
   <memoria tecnoloxía="DDR2">4</memoria>
   <disco tecnoloxía="SATA" capacidade="500"/>
   <disco tecnoloxía="SATA" capacidade="500"/>
   <disco tecnoloxía="SATA" capacidade="500"/>
   <gravadora tipo="DVD"/>
  </hardware>
  <config>
   <role>Servidor de arquivos</role>
   <OS>Ubuntu 8.04 Server</OS>
   <IP>192.168.10.10</IP>
   <gateway>192.168.10.1</gateway>
  </config>
 </máquina>
 <máquina nome="NEWTON">
  <hardware>
   <tipo>Rack</tipo>
   <fabricante>HP</fabricante>
   <procesador marca="Intel" num_nucleos="2" velocidade="3">Core2 Duo</procesador>
   <memoria tecnoloxía="DDR2">4</memoria>
   <disco tecnoloxía="SATA" capacidade="500"/>
   <disco tecnoloxía="SATA" capacidade="500"/>
   <gravadora tipo="DVD"/>
  </hardware>
  <config>
   <role>Servidor web</role>
   <OS>Ubuntu 8.04 Server</OS>
   <IP>192.168.10.11</IP>
   <gateway>192.168.10.1</gateway>
  </config>
 </máquina>
</equipos>

Rutas de localización con tests de nodo e predicados

Escribe as expresións XPath para obter os seguintes conxuntos de nodos.

1. Os discos de tecnoloxía "SCSI".


2. O nome do sistema operativo da máquina con IP "192.168.10.45".


3. Os atributos que figuran nos procesadores da marca "AMD".


4. Os textos (soamente) que figuran na configuración (elemento "config") do equipo de nome "COPERNICO".


5. As máquinas de tipo "Semitorre" con sistema operativo "Windows XP".


6. Os fabricantes das máquinas que teñan 4GB de memoria "DDR2".


7. O sistema operativo das máquinas nas que figure o número de núcleos do procesador.


8. Os nomes das máquinas que empreguen memoria con tecnoloxía "DDR2".


9. As máquinas con procesador da marca "Intel" e gravadora de DVD.


10. A configuración daquelas máquinas nas que figura un gateway.

Rutas de localización avanzadas

Escribe as expresións XPath para obter:

11. As máquinas con nome comezando por "PC".


12. O nome das máquinas con máis de un disco duro.


13. A suma dos GB de memoria RAM de todas as máquinas.


14. A suma das capacidades dos discos duros de tipo "SCSI".


15. Os nomes das máquinas das que se coñeza a súa cantidade de memoria, pero non a tecno-loxía desta.


16. As máquinas con sistema operativo da familia Windows e gravadora de DVD.


17. As máquinas nas que non figure o sistema operativo.


18. O nome da máquina e do SO daquelas máquinas con máis de un disco duro.


19. A configuración daquelas máquinas nas que figura unha dirección IP pero non o gateway.


20. Os elementos baleiros (non conteñen texto).


21. As direccións IP dentro da rede 192.168.10.0/24.


22. Os nomes das máquinas con procesador multinúcleo e 2GB ou menos de memoria.


23. As máquinas que teñan disco duro (un ou varios) con capacidade total maior de 1000GB.


24. As máquinas que teñan disco duro (un ou varios) con capacidade total menor de 80GB.

Solución

Referencias