Mauro
Mauro

Reputation: 23

Extract N number of values ​via Xpath query

I need to extrapolate a series of values ​​through XPath queries from XML files that I report at end of the page.

With a query like the following one, I get all the values ​​relating to, for example, the "Ragione Sociale Destinatario" attribute

//m:meta[@name="Ragione Sociale Destinatario"]/@value

However, I would like to be able to obtain only, for example, the first 5 values ​​of an attribute, not all those present in the XML

Can the "Position" function be useful in this case?

I made some attempts like

//m:meta [@name="Ragione Sociale Destinatario"][position()>1and position()<= 5]/@ value

but get no result

Could you kindly help me by giving me an example of the correct syntax?

<?xml version="1.0" encoding="UTF-8"?>
<IdC xmlns="http://www.uni.com/U3011/sincro/" xmlns:s="http://www.uni.com/U3011/sincro/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.uni.com/U3011/sincro/ UNI1138600_2010_EIT.xsd http://andxor.it/tDoc/lotto.xsd lotto.xsd http://andxor.it/tDoc/metadata.xsd metadata.xsd">
  <SelfDescription>
    <ID s:scheme="local">1610960618898</ID>
    <CreatingApplication>
      <Name>tDoc</Name>
      <Version>r27212</Version>
      <Producer>Andxor Soluzioni Informatiche srl</Producer>
    </CreatingApplication>
    <MoreInfo s:XMLScheme="http://andxor.it/tDoc/lotto.xsd">
      <EmbeddedMetadata>
        <lotto xmlns="http://andxor.it/tDoc/lotto.xsd">
          <company>IT08767050969</company>
          <doctype>FattureEmesse</doctype>
          <period>2020</period>
          <previous id="1610790947210">DDFCC019EEA10ECCCF4FC64E2D499CA3D757D6CC31523EB0813FE96F08694277</previous>
        </lotto>
      </EmbeddedMetadata>
    </MoreInfo>
  </SelfDescription>
  <VdC>
    <ID s:scheme="local">1610960618898</ID>
  </VdC>
  <FileGroup xmlns:m="http://andxor.it/tDoc/metadata.xsd">
    <File s:format="text/xml">
      <ID s:scheme="local">281487958</ID>
      <Path>docs/23054927031.xml</Path>
      <Hash s:function="SHA-256">F3D97E78EAC886325E755851E5BAE0E5702A1712ED7B83DFEF5F5FFE66899F04</Hash>
      <MoreInfo s:XMLScheme="http://andxor.it/tDoc/metadata.xsd">
        <EmbeddedMetadata>
          <m:metadata>
            <m:meta class="internal" name="Data inserimento" value="2020-12-18T18:22:21+01:00"/>
            <m:meta class="internal" name="PdV" value="w3JpQzRYzt7"/>
            <m:meta name="Controllo Sequenza" value="15065"/>
            <m:meta name="Tipo Postalizzazione" value="Fattura Elettronica B2B"/>
            <m:meta name="Notifica Ricevuta Consegna" value="Ricevuta Consegna"/>
            <m:meta name="Esito Processo" value="OK"/>
            <m:meta name="Data Documento" value="18-12-2020"/>
            <m:meta name="Data Ricevuta Consegna" value="19-12-2020"/>
            <m:meta name="ID Univoco" value="23054927031"/>
            <m:meta name="Numero Documento" value="FV-202015065"/>
            <m:meta name="Sezionale" value="2020"/>
            <m:meta name="Partita IVA Mittente" value="08767050969"/>
            <m:meta name="Ragione Sociale Mittente" value="BIGBEN INTERACTIVE SRL"/>
            <m:meta name="Partita IVA Destinatario" value="05660991000"/>
            <m:meta name="Codice Fiscale Destinatario" value="01017000710"/>
            <m:meta name="Ragione Sociale Destinatario" value="SIEM SPA"/>
            <m:meta name="Codice Fatturazione Elettronica" value="HHBD9AK"/>
            <m:meta name="Indirizzo PEC" value="[email protected]"/>
            <m:meta name="Identificativo SDI" value="4237523569"/>
            <m:meta name="Data Ora Ricezione" value="20201219022540"/>
            <m:meta name="Ora Ricevuta Consegna" value="022551"/>
            <m:meta name="Ultima Modifica" value="2020-12-19T02:28:16.290Z"/>
          </m:metadata>
        </EmbeddedMetadata>
      </MoreInfo>
    </File>
    <File s:format="text/xml">
      <ID s:scheme="local">281487962</ID>
      <Path>docs/23054927071.xml</Path>
      <Hash s:function="SHA-256">F0C2B4F3B5143AD145EF6FD446FCFEF0A6AD9526B3A88E6A7026089AEC728D4F</Hash>
      <MoreInfo s:XMLScheme="http://andxor.it/tDoc/metadata.xsd">
        <EmbeddedMetadata>
          <m:metadata>
            <m:meta class="internal" name="Data inserimento" value="2020-12-18T18:22:21+01:00"/>
            <m:meta class="internal" name="PdV" value="w3JpQzRYzt7"/>
            <m:meta name="Controllo Sequenza" value="15078"/>
            <m:meta name="Tipo Postalizzazione" value="Fattura Elettronica B2B"/>
            <m:meta name="Notifica Ricevuta Consegna" value="Ricevuta Consegna"/>
            <m:meta name="Esito Processo" value="OK"/>
            <m:meta name="Data Documento" value="18-12-2020"/>
            <m:meta name="Data Ricevuta Consegna" value="19-12-2020"/>
            <m:meta name="ID Univoco" value="23054927071"/>
            <m:meta name="Numero Documento" value="FV-202015078"/>
            <m:meta name="Sezionale" value="2020"/>
            <m:meta name="Partita IVA Mittente" value="08767050969"/>
            <m:meta name="Ragione Sociale Mittente" value="BIGBEN INTERACTIVE SRL"/>
            <m:meta name="Partita IVA Destinatario" value="02106250398"/>
            <m:meta name="Ragione Sociale Destinatario" value="DML SPA"/>
            <m:meta name="Codice Fatturazione Elettronica" value="HHBD9AK"/>
            <m:meta name="Indirizzo PEC" value="[email protected]"/>
            <m:meta name="Identificativo SDI" value="4237523575"/>
            <m:meta name="Data Ora Ricezione" value="20201219022541"/>
            <m:meta name="Ora Ricevuta Consegna" value="022549"/>
            <m:meta name="Ultima Modifica" value="2020-12-19T02:28:06.930Z"/>
          </m:metadata>
        </EmbeddedMetadata>
      </MoreInfo>
    </File>
    <File s:format="text/xml">
      <ID s:scheme="local">281487966</ID>
      <Path>docs/23054927161.xml</Path>
      <Hash s:function="SHA-256">BC4112D34259D10467DA3E93A52CD637B59C1EB73C1CE762329A5C98AFD253CE</Hash>
      <MoreInfo s:XMLScheme="http://andxor.it/tDoc/metadata.xsd">
        <EmbeddedMetadata>
          <m:metadata>
            <m:meta class="internal" name="Data inserimento" value="2020-12-18T18:22:22+01:00"/>
            <m:meta class="internal" name="PdV" value="w3JpQzRYzt7"/>
            <m:meta name="Controllo Sequenza" value="15080"/>
            <m:meta name="Tipo Postalizzazione" value="Fattura Elettronica B2B"/>
            <m:meta name="Notifica Ricevuta Consegna" value="Ricevuta Consegna"/>
            <m:meta name="Esito Processo" value="OK"/>
            <m:meta name="Data Documento" value="18-12-2020"/>
            <m:meta name="Data Ricevuta Consegna" value="19-12-2020"/>
            <m:meta name="ID Univoco" value="23054927161"/>
            <m:meta name="Numero Documento" value="FV-202015080"/>
            <m:meta name="Sezionale" value="2020"/>
            <m:meta name="Partita IVA Mittente" value="08767050969"/>
            <m:meta name="Ragione Sociale Mittente" value="BIGBEN INTERACTIVE SRL"/>
            <m:meta name="Partita IVA Destinatario" value="02106250398"/>
            <m:meta name="Ragione Sociale Destinatario" value="DML SPA"/>
            <m:meta name="Codice Fatturazione Elettronica" value="HHBD9AK"/>
            <m:meta name="Indirizzo PEC" value="[email protected]"/>
            <m:meta name="Identificativo SDI" value="4237523580"/>
            <m:meta name="Data Ora Ricezione" value="20201219022541"/>
            <m:meta name="Ora Ricevuta Consegna" value="022548"/>
            <m:meta name="Ultima Modifica" value="2020-12-19T02:28:05.336Z"/>
          </m:metadata>
        </EmbeddedMetadata>
      </MoreInfo>
    </File>
      <File s:format="text/xml">
      <ID s:scheme="local">281488212</ID>
      <Path>docs/23054928711.xml</Path>
      <Hash s:function="SHA-256">F62361C75F7CE5AE123214A96D87ABE5AA2A11E53069865EA935692AD29B343B</Hash>
      <MoreInfo s:XMLScheme="http://andxor.it/tDoc/metadata.xsd">
        <EmbeddedMetadata>
          <m:metadata>
            <m:meta class="internal" name="Data inserimento" value="2020-12-18T18:22:46+01:00"/>
            <m:meta class="internal" name="PdV" value="w3JpQzRYzt7"/>
            <m:meta name="Controllo Sequenza" value="15118"/>
            <m:meta name="Tipo Postalizzazione" value="Fattura Elettronica B2B"/>
            <m:meta name="Notifica Ricevuta Consegna" value="Ricevuta Consegna"/>
            <m:meta name="Esito Processo" value="OK"/>
            <m:meta name="Data Documento" value="18-12-2020"/>
            <m:meta name="Data Ricevuta Consegna" value="19-12-2020"/>
            <m:meta name="ID Univoco" value="23054928711"/>
            <m:meta name="Numero Documento" value="FV-202015118"/>
            <m:meta name="Sezionale" value="2020"/>
            <m:meta name="Partita IVA Mittente" value="08767050969"/>
            <m:meta name="Ragione Sociale Mittente" value="BIGBEN INTERACTIVE SRL"/>
            <m:meta name="Partita IVA Destinatario" value="08973230967"/>
            <m:meta name="Ragione Sociale Destinatario" value="AMAZON EU SARL, SUCCURSALE ITALIANA"/>
            <m:meta name="Codice Fatturazione Elettronica" value="XR6XN0E"/>
            <m:meta name="Indirizzo PEC" value="[email protected]"/>
            <m:meta name="Identificativo SDI" value="4237524469"/>
            <m:meta name="Data Ora Ricezione" value="20201219022628"/>
            <m:meta name="Ora Ricevuta Consegna" value="022635"/>
            <m:meta name="Ultima Modifica" value="2020-12-19T02:28:44.978Z"/>
          </m:metadata>
        </EmbeddedMetadata>
      </MoreInfo>
    </File>
    <File s:format="text/xml">
      <ID s:scheme="local">281488224</ID>
      <Path>docs/23054928731.xml</Path>
      <Hash s:function="SHA-256">A5B4FC0966AE1043119AA8FAC456B1E957FBB66B8A2C92BB7E39D470770576D6</Hash>
      <MoreInfo s:XMLScheme="http://andxor.it/tDoc/metadata.xsd">
        <EmbeddedMetadata>
          <m:metadata>
            <m:meta class="internal" name="Data inserimento" value="2020-12-18T18:22:47+01:00"/>
            <m:meta class="internal" name="PdV" value="w3JpQzRYzt7"/>
            <m:meta name="Controllo Sequenza" value="15112"/>
            <m:meta name="Tipo Postalizzazione" value="Fattura Elettronica B2B"/>
            <m:meta name="Notifica Ricevuta Consegna" value="Ricevuta Consegna"/>
            <m:meta name="Esito Processo" value="OK"/>
            <m:meta name="Data Documento" value="18-12-2020"/>
            <m:meta name="Data Ricevuta Consegna" value="19-12-2020"/>
            <m:meta name="ID Univoco" value="23054928731"/>
            <m:meta name="Numero Documento" value="FV-202015112"/>
            <m:meta name="Sezionale" value="2020"/>
            <m:meta name="Partita IVA Mittente" value="08767050969"/>
            <m:meta name="Ragione Sociale Mittente" value="BIGBEN INTERACTIVE SRL"/>
            <m:meta name="Partita IVA Destinatario" value="08973230967"/>
            <m:meta name="Ragione Sociale Destinatario" value="AMAZON EU SARL, SUCCURSALE ITALIANA"/>
            <m:meta name="Codice Fatturazione Elettronica" value="XR6XN0E"/>
            <m:meta name="Indirizzo PEC" value="[email protected]"/>
            <m:meta name="Identificativo SDI" value="4237524475"/>
            <m:meta name="Data Ora Ricezione" value="20201219022629"/>
            <m:meta name="Ora Ricevuta Consegna" value="022635"/>
            <m:meta name="Ultima Modifica" value="2020-12-19T02:28:44.415Z"/>
          </m:metadata>
        </EmbeddedMetadata>
      </MoreInfo>
    </File>
    <File s:format="text/xml">
      <ID s:scheme="local">281488228</ID>
      <Path>docs/23054928761.xml</Path>
      <Hash s:function="SHA-256">BD8778019A1EE545EF9C8893189293C84BBB5845797D1C50C0ABB4FE7B3C5689</Hash>
      <MoreInfo s:XMLScheme="http://andxor.it/tDoc/metadata.xsd">
        <EmbeddedMetadata>
          <m:metadata>
            <m:meta class="internal" name="Data inserimento" value="2020-12-18T18:22:47+01:00"/>
            <m:meta class="internal" name="PdV" value="w3JpQzRYzt7"/>
            <m:meta name="Controllo Sequenza" value="15115"/>
            <m:meta name="Tipo Postalizzazione" value="Fattura Elettronica B2B"/>
            <m:meta name="Notifica Ricevuta Consegna" value="Ricevuta Consegna"/>
            <m:meta name="Esito Processo" value="OK"/>
            <m:meta name="Data Documento" value="18-12-2020"/>
            <m:meta name="Data Ricevuta Consegna" value="19-12-2020"/>
            <m:meta name="ID Univoco" value="23054928761"/>
            <m:meta name="Numero Documento" value="FV-202015115"/>
            <m:meta name="Sezionale" value="2020"/>
            <m:meta name="Partita IVA Mittente" value="08767050969"/>
            <m:meta name="Ragione Sociale Mittente" value="BIGBEN INTERACTIVE SRL"/>
            <m:meta name="Partita IVA Destinatario" value="08973230967"/>
            <m:meta name="Ragione Sociale Destinatario" value="AMAZON EU SARL, SUCCURSALE ITALIANA"/>
            <m:meta name="Codice Fatturazione Elettronica" value="XR6XN0E"/>
            <m:meta name="Indirizzo PEC" value="[email protected]"/>
            <m:meta name="Identificativo SDI" value="4237524492"/>
            <m:meta name="Data Ora Ricezione" value="20201219022629"/>
            <m:meta name="Ora Ricevuta Consegna" value="022636"/>
            <m:meta name="Ultima Modifica" value="2020-12-19T02:28:50.244Z"/>
          </m:metadata>
        </EmbeddedMetadata>
      </MoreInfo>
    </File>
    <File s:format="text/xml">
      <ID s:scheme="local">281488216</ID>
      <Path>docs/23054928891.xml</Path>
      <Hash s:function="SHA-256">2E7E83D240796692302E5CECB08AA1042F7C5C80CED35215D79E95F749F7D0FA</Hash>
      <MoreInfo s:XMLScheme="http://andxor.it/tDoc/metadata.xsd">
        <EmbeddedMetadata>
          <m:metadata>
            <m:meta class="internal" name="Data inserimento" value="2020-12-18T18:22:46+01:00"/>
            <m:meta class="internal" name="PdV" value="w3JpQzRYzt7"/>
            <m:meta name="Controllo Sequenza" value="15113"/>
            <m:meta name="Tipo Postalizzazione" value="Fattura Elettronica B2B"/>
            <m:meta name="Notifica Ricevuta Consegna" value="Ricevuta Consegna"/>
            <m:meta name="Esito Processo" value="OK"/>
            <m:meta name="Data Documento" value="18-12-2020"/>
            <m:meta name="Data Ricevuta Consegna" value="19-12-2020"/>
            <m:meta name="ID Univoco" value="23054928891"/>
            <m:meta name="Numero Documento" value="FV-202015113"/>
            <m:meta name="Sezionale" value="2020"/>
            <m:meta name="Partita IVA Mittente" value="08767050969"/>
            <m:meta name="Ragione Sociale Mittente" value="BIGBEN INTERACTIVE SRL"/>
            <m:meta name="Partita IVA Destinatario" value="08973230967"/>
            <m:meta name="Ragione Sociale Destinatario" value="AMAZON EU SARL, SUCCURSALE ITALIANA"/>
            <m:meta name="Codice Fatturazione Elettronica" value="XR6XN0E"/>
            <m:meta name="Indirizzo PEC" value="[email protected]"/>
            <m:meta name="Identificativo SDI" value="4237524520"/>
            <m:meta name="Data Ora Ricezione" value="20201219022631"/>
            <m:meta name="Ora Ricevuta Consegna" value="022651"/>
            <m:meta name="Ultima Modifica" value="2020-12-19T02:28:53.994Z"/>
          </m:metadata>
        </EmbeddedMetadata>
      </MoreInfo>
    </File>
    <File s:format="text/xml">
      <ID s:scheme="local">281488232</ID>
      <Path>docs/23054929031.xml</Path>
      <Hash s:function="SHA-256">96DF0E38DB51D5D6637CDAFFC9E8E585D6308EC8D16A4F71C690BAD0837888F1</Hash>
      <MoreInfo s:XMLScheme="http://andxor.it/tDoc/metadata.xsd">
        <EmbeddedMetadata>
          <m:metadata>
            <m:meta class="internal" name="Data inserimento" value="2020-12-18T18:22:47+01:00"/>
            <m:meta class="internal" name="PdV" value="w3JpQzRYzt7"/>
            <m:meta name="Controllo Sequenza" value="15116"/>
            <m:meta name="Tipo Postalizzazione" value="Fattura Elettronica B2B"/>
            <m:meta name="Notifica Ricevuta Consegna" value="Ricevuta Consegna"/>
            <m:meta name="Esito Processo" value="OK"/>
            <m:meta name="Data Documento" value="18-12-2020"/>
            <m:meta name="Data Ricevuta Consegna" value="19-12-2020"/>
            <m:meta name="ID Univoco" value="23054929031"/>
            <m:meta name="Numero Documento" value="FV-202015116"/>
            <m:meta name="Sezionale" value="2020"/>
            <m:meta name="Partita IVA Mittente" value="08767050969"/>
            <m:meta name="Ragione Sociale Mittente" value="BIGBEN INTERACTIVE SRL"/>
            <m:meta name="Partita IVA Destinatario" value="08973230967"/>
            <m:meta name="Ragione Sociale Destinatario" value="AMAZON EU SARL, SUCCURSALE ITALIANA"/>
            <m:meta name="Codice Fatturazione Elettronica" value="XR6XN0E"/>
            <m:meta name="Indirizzo PEC" value="[email protected]"/>
            <m:meta name="Identificativo SDI" value="4237524523"/>
            <m:meta name="Data Ora Ricezione" value="20201219022631"/>
            <m:meta name="Ora Ricevuta Consegna" value="022652"/>
            <m:meta name="Ultima Modifica" value="2020-12-19T02:28:54.463Z"/>
          </m:metadata>
        </EmbeddedMetadata>
      </MoreInfo>
    </File>
  </FileGroup>
  <Process>
    <Agent s:type="organization" s:role="PreservationManager">
      <AgentName>
        <FormalName>TESI SpA (Responsabile Conservazione)</FormalName>
      </AgentName>
      <Agent_ID s:scheme="TaxCode">02448510046</Agent_ID>
    </Agent>
    <Agent s:type="person" s:role="PreservationManager">
      <AgentName>
        <NameAndSurname>
          <FirstName>Giuseppe</FirstName>
          <LastName>Crivello</LastName>
        </NameAndSurname>
      </AgentName>
      <Agent_ID s:scheme="TaxCode">CRVGPP69B20B791G</Agent_ID>
    </Agent>
    <Agent s:type="person" s:role="OtherRole" s:otherRole="Altro ruolo">
      <AgentName>
        <NameAndSurname>
          <FirstName>Amministratore</FirstName>
          <LastName>root</LastName>
        </NameAndSurname>
      </AgentName>
      <Agent_ID s:scheme="TaxCode"></Agent_ID>
    </Agent>
    <TimeReference>
      <TimeInfo>2021-01-18T10:03:38+01:00</TimeInfo>
    </TimeReference>
    <LawAndRegulations s:language="it">DPCM 3 dicembre 2013</LawAndRegulations>
  </Process>
</IdC>

Upvotes: 0

Views: 40

Answers (1)

Martin Honnen
Martin Honnen

Reputation: 167581

Select all attributes with e.g. //m:meta[@name="Ragione Sociale Destinatario"]/@value, then use parenthesis and the positional predicate e.g. (//m:meta[@name="Ragione Sociale Destinatario"]/@value)[position() le 5].

You current attempt applies the predicate in the last /@value step and you can't have five attributes of the same name.

Using subsequence would be another approach, e.g. subsequence(//m:meta[@name="Ragione Sociale Destinatario"]/@value, 1, 5).

Upvotes: 1

Related Questions