declare variable $doc as document-node(element(*,xs:untyped)) external; let $traduceprovincia := doc("file:///C:/HpsXprs/input/provincia.xml") let $REG_00000 := $doc/root/REG_00000 return { for $REG_00010 at $REG_00010-startPos in $doc/root/REG_00010 return {$REG_00000} {$REG_00010/*} { if ($REG_00010/CPAIS = 11) then ( {$REG_00010/OBINF3/text()}, { for $REG_00010_PROV in $REG_00010/substring(CODPOS,1,2), $ENTRADA_PROVINCIA in $traduceprovincia//entrada where $REG_00010_PROV = $ENTRADA_PROVINCIA/cod return $ENTRADA_PROVINCIA/desc/text() } ) else ( if ($REG_00010/OBINF4 = "") then ( {$REG_00010/OBINF3/text()}, ) else ( if ($REG_00010/OBINF5 = "") then ( {$REG_00010/OBINF3/text()}, {$REG_00010/OBINF4/text()} ) else ( if ($REG_00010/OBINF6 = "") then ( {$REG_00010/OBINF3/text()}, {$REG_00010/OBINF5/text()} ) else ( {$REG_00010/OBINF3/text()}, {$REG_00010/OBINF6/text()} ) ) ) ) } { for $REG_00011 at $REG_00011-pos in $doc/root/REG_00011 where $REG_00011 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REG_00011 << $REG_00010/following-sibling::REG_00010[1])) return $REG_00011 } { for $REG_01065 at $REG_01065-pos in $doc/root/REG_01065 where $REG_01065 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REG_01065 << $REG_00010/following-sibling::REG_00010[1])) return {$REG_01065/NOAPT[1]/preceding-sibling::*} { for $REG_01065_NOAPT in $REG_01065/NOAPT return {$REG_01065_NOAPT} {$REG_01065_NOAPT/following-sibling::CNIFT[1]} } } { for $REG_01066 at $REG_01066-pos in $doc/root/REG_01066 where $REG_01066 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REG_01066 << $REG_00010/following-sibling::REG_00010[1])) return {$REG_01066/NOAPT[1]/preceding-sibling::*} { for $REG_01066_NOAPT in $REG_01066/NOAPT return {$REG_01066_NOAPT} {$REG_01066_NOAPT/following-sibling::CNIFT[1]} } } { for $REG_02005 at $REG_02005-pos in $doc/root/REG_02005 where $REG_02005 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REG_02005 << $REG_00010/following-sibling::REG_00010[1])) return {$REG_02005/NOAPT[1]/preceding-sibling::*} { for $REG_02005_NOAPT in $REG_02005/NOAPT return {$REG_02005_NOAPT} {$REG_02005_NOAPT/following-sibling::CNIFT[1]} } {$REG_02005/CODCCC} } { for $REG_02112 at $REG_02112-pos in $doc/root/REG_02112 where $REG_02112 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REG_02112 << $REG_00010/following-sibling::REG_00010[1])) return {$REG_02112/NOAPT[1]/preceding-sibling::*} { for $REG_02112_NOAPT in $REG_02112/NOAPT return {$REG_02112_NOAPT} {$REG_02112_NOAPT/following-sibling::CNIFT[1]} } {$REG_02112/CODCCC} } { for $REG_16067 at $REG_16067-pos in $doc/root/REG_16067 where $REG_16067 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REG_16067 << $REG_00010/following-sibling::REG_00010[1])) return {$REG_16067/NOAPT[1]/preceding-sibling::*} { for $REG_16067_NOAPT in $REG_16067/NOAPT return {$REG_16067_NOAPT} {$REG_16067_NOAPT/following-sibling::CNIFT[1]} } } { for $REG_16070 at $REG_16070-pos in $doc/root/REG_16070 where $REG_16070 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REG_16070 << $REG_00010/following-sibling::REG_00010[1])) return {$REG_16070/NOAPT[1]/preceding-sibling::*} { for $REG_16070_NOAPT in $REG_16070/NOAPT return {$REG_16070_NOAPT} {$REG_16070_NOAPT/following-sibling::CNIFT[1]} } } { let $All_REG_03128s := for $REG_03128 at $REG_03128-pos in $doc/root/REG_03128 where $REG_03128 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REG_03128 << $REG_00010/following-sibling::REG_00010[1])) return $REG_03128 for $unique_REG_03128_NUPROD in distinct-values($All_REG_03128s/NUPROD) return ( {$All_REG_03128s[NUPROD=$unique_REG_03128_NUPROD][1]/TIPRE9} {$All_REG_03128s[NUPROD=$unique_REG_03128_NUPROD][1]/NUPROD} { for $REG_03128_NOAPN in $All_REG_03128s[NUPROD=$unique_REG_03128_NUPROD][1]/NOAPN return {$REG_03128_NOAPN} {$REG_03128_NOAPN/following-sibling::NIFNU[1]} } { for $REG_03128_NOAPU in $All_REG_03128s[NUPROD=$unique_REG_03128_NUPROD][1]/NOAPU return S {$REG_03128_NOAPU} {$REG_03128_NOAPU/following-sibling::NIFUS[1]} } { for $REG_03128_Totales in $All_REG_03128s[NUPROD=$unique_REG_03128_NUPROD][last()] return {$REG_03128_Totales/*} { if ($REG_03128_Totales/IMPORTE4 = 0) then ( {$REG_03128_Totales/IMPORTE1/text()}, {$REG_03128_Totales/IMPORTE2/text()} ) else ( {$REG_03128_Totales/IMPORTE1/text()}, {$REG_03128_Totales/IMPORTE2/text()} ) } } { for $REG_03128 in $All_REG_03128s[NUPROD=$unique_REG_03128_NUPROD] return {$REG_03128/*} { if ($REG_03128/IMPORTE4 = 0) then ( {$REG_03128/IMPORTE1/text()}, {$REG_03128/IMPORTE2/text()} ) else ( {$REG_03128/IMPORTE1/text()}, {$REG_03128/IMPORTE2/text()} ) } } ) } { let $All_REG_05127s := for $REG_05127 at $REG_05127-pos in $doc/root/REG_05127 where $REG_05127 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REG_05127 << $REG_00010/following-sibling::REG_00010[1])) return $REG_05127 for $unique_REG_05127_NUPROD in distinct-values($All_REG_05127s/NUPROD) return ( {$All_REG_05127s[NUPROD=$unique_REG_05127_NUPROD][1]/TIPRE9} {$All_REG_05127s[NUPROD=$unique_REG_05127_NUPROD][1]/NUPROD} { for $REG_05127_NOAPN in $All_REG_05127s[NUPROD=$unique_REG_05127_NUPROD][1]/NOAPN return {$REG_05127_NOAPN} {$REG_05127_NOAPN/following-sibling::NIFNU[1]} } { for $REG_05127_NOAPU in $All_REG_05127s[NUPROD=$unique_REG_05127_NUPROD][1]/NOAPU return S {$REG_05127_NOAPU} {$REG_05127_NOAPU/following-sibling::NIFUS[1]} } { for $REG_05127_Totales in $All_REG_05127s[NUPROD=$unique_REG_05127_NUPROD][last()] return {$REG_05127_Totales} } { for $REG_05127 in $All_REG_05127s[NUPROD=$unique_REG_05127_NUPROD] return $REG_05127 } ) } { let $All_REG_07129s := for $REG_07129 at $REG_07129-pos in $doc/root/REG_07129 where $REG_07129 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REG_07129 << $REG_00010/following-sibling::REG_00010[1])) return $REG_07129 for $unique_REG_07129_NUPROD in distinct-values($All_REG_07129s/NUPROD) return ( {$All_REG_07129s[NUPROD=$unique_REG_07129_NUPROD][1]/TIPRE9} {$All_REG_07129s[NUPROD=$unique_REG_07129_NUPROD][1]/NUPROD} { for $REG_07129_NOAPN in $All_REG_07129s[NUPROD=$unique_REG_07129_NUPROD][1]/NOAPN return {$REG_07129_NOAPN} {$REG_07129_NOAPN/following-sibling::NIFNU[1]} } { for $REG_07129_NOAPU in $All_REG_07129s[NUPROD=$unique_REG_07129_NUPROD][1]/NOAPU return S {$REG_07129_NOAPU} {$REG_07129_NOAPU/following-sibling::NIFUS[1]} } { for $REG_07129_Totales in $All_REG_07129s[NUPROD=$unique_REG_07129_NUPROD][last()] return {$REG_07129_Totales} } { for $REG_07129 in $All_REG_07129s[NUPROD=$unique_REG_07129_NUPROD] return $REG_07129 } ) } { let $All_REG_08224s := for $REG_08224 at $REG_08224-pos in $doc/root/REG_08224 where $REG_08224 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REG_08224 << $REG_00010/following-sibling::REG_00010[1])) return $REG_08224 for $unique_REG_08224_NUPROD in distinct-values($All_REG_08224s/NUPROD) return ( {$All_REG_08224s[NUPROD=$unique_REG_08224_NUPROD][1]/TIPRE9} {$All_REG_08224s[NUPROD=$unique_REG_08224_NUPROD][1]/NUPROD} { for $REG_08224_NOAPN in $All_REG_08224s[NUPROD=$unique_REG_08224_NUPROD][1]/NOAPN return {$REG_08224_NOAPN} {$REG_08224_NOAPN/following-sibling::NIFNU[1]} } { for $REG_08224_NOAPU in $All_REG_08224s[NUPROD=$unique_REG_08224_NUPROD][1]/NOAPU return S {$REG_08224_NOAPU} {$REG_08224_NOAPU/following-sibling::NIFUS[1]} } { for $REG_08224_Totales in $All_REG_08224s[NUPROD=$unique_REG_08224_NUPROD][last()] return {$REG_08224_Totales} } { for $REG_08224 in $All_REG_08224s[NUPROD=$unique_REG_08224_NUPROD][position() mod 2 = 1] return {$REG_08224/*} {$REG_08224/following::REG_08224[1]/*} } ) } { let $All_REG_11700s := for $REG_11700 at $REG_11700-pos in $doc/root/REG_11700 where $REG_11700 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REG_11700 << $REG_00010/following-sibling::REG_00010[1])) return $REG_11700 for $unique_REG_11700_NUPROD in distinct-values($All_REG_11700s/NUPROD) return ( {$All_REG_11700s[NUPROD=$unique_REG_11700_NUPROD][1]/TIPRE9} {$All_REG_11700s[NUPROD=$unique_REG_11700_NUPROD][1]/NUPROD} {$All_REG_11700s[NUPROD=$unique_REG_11700_NUPROD][1]/LITERAL1} {$All_REG_11700s[NUPROD=$unique_REG_11700_NUPROD][1]/CIFFON} { for $REG_11700_NOAPT in $All_REG_11700s[NUPROD=$unique_REG_11700_NUPROD][1]/NOAPT return {$REG_11700_NOAPT} {$REG_11700_NOAPT/following-sibling::CNIFT[1]} } { for $REG_11700_Totales in $All_REG_11700s[NUPROD=$unique_REG_11700_NUPROD][last()] return {$REG_11700_Totales} } { for $REG_11700 in $All_REG_11700s[NUPROD=$unique_REG_11700_NUPROD] return $REG_11700 } ) } { let $All_REG_13035s := for $REG_13035 at $REG_13035-pos in $doc/root/REG_13035 where $REG_13035 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REG_13035 << $REG_00010/following-sibling::REG_00010[1])) return $REG_13035 for $unique_REG_13035_NUPROD in distinct-values($All_REG_13035s/NUPROD) return ( {$All_REG_13035s[NUPROD=$unique_REG_13035_NUPROD][1]/TIPRE9} {$All_REG_13035s[NUPROD=$unique_REG_13035_NUPROD][1]/NUPROD} { for $REG_13035_NOAPN in $All_REG_13035s[NUPROD=$unique_REG_13035_NUPROD][1]/NOAPN return {$REG_13035_NOAPN} {$REG_13035_NOAPN/following-sibling::NIFNU[1]} } { for $REG_13035_NOAPU in $All_REG_13035s[NUPROD=$unique_REG_13035_NUPROD][1]/NOAPU return S {$REG_13035_NOAPU} {$REG_13035_NOAPU/following-sibling::NIFUS[1]} } { for $REG_13035_Totales in $All_REG_13035s[NUPROD=$unique_REG_13035_NUPROD][last()] return {$REG_13035_Totales} } { for $REG_13035 in $All_REG_13035s[NUPROD=$unique_REG_13035_NUPROD] return $REG_13035 } ) } { let $All_REG_13227s := for $REG_13227 at $REG_13227-pos in $doc/root/REG_13227 where $REG_13227 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REG_13227 << $REG_00010/following-sibling::REG_00010[1])) return $REG_13227 for $unique_REG_13227_NUPROD in distinct-values($All_REG_13227s/NUPROD) return ( {$All_REG_13227s[NUPROD=$unique_REG_13227_NUPROD][1]/TIPRE9} {$All_REG_13227s[NUPROD=$unique_REG_13227_NUPROD][1]/NUPROD} { for $REG_13227_NOAPN in $All_REG_13227s[NUPROD=$unique_REG_13227_NUPROD][1]/NOAPN return {$REG_13227_NOAPN} {$REG_13227_NOAPN/following-sibling::NIFNU[1]} } { for $REG_13227_NOAPU in $All_REG_13227s[NUPROD=$unique_REG_13227_NUPROD][1]/NOAPU return S {$REG_13227_NOAPU} {$REG_13227_NOAPU/following-sibling::NIFUS[1]} } { for $REG_13227_Totales in $All_REG_13227s[NUPROD=$unique_REG_13227_NUPROD][last()] return {$REG_13227_Totales} } { for $REG_13227 in $All_REG_13227s[NUPROD=$unique_REG_13227_NUPROD] return $REG_13227 } ) } { let $All_REG_14237s := for $REG_14237 at $REG_14237-pos in $doc/root/REG_14237 where $REG_14237 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REG_14237 << $REG_00010/following-sibling::REG_00010[1])) return $REG_14237 for $unique_REG_14237_NUPROD in distinct-values($All_REG_14237s/NUPROD) return ( {$All_REG_14237s[NUPROD=$unique_REG_14237_NUPROD][1]/TIPRE9} {$All_REG_14237s[NUPROD=$unique_REG_14237_NUPROD][1]/NUPROD} { for $REG_14237_NOAPN in $All_REG_14237s[NUPROD=$unique_REG_14237_NUPROD][1]/NOAPN return {$REG_14237_NOAPN} {$REG_14237_NOAPN/following-sibling::NIFNU[1]} } { for $REG_14237_NOAPU in $All_REG_14237s[NUPROD=$unique_REG_14237_NUPROD][1]/NOAPU return S {$REG_14237_NOAPU} {$REG_14237_NOAPU/following-sibling::NIFUS[1]} } { for $REG_14237_Totales in $All_REG_14237s[NUPROD=$unique_REG_14237_NUPROD][last()] return {$REG_14237_Totales} } { for $REG_14237 in $All_REG_14237s[NUPROD=$unique_REG_14237_NUPROD] return $REG_14237 } ) } { let $All_REG_14241s := for $REG_14241 at $REG_14241-pos in $doc/root/REG_14241 where $REG_14241 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REG_14241 << $REG_00010/following-sibling::REG_00010[1])) return $REG_14241 for $unique_REG_14241_NUPROD in distinct-values($All_REG_14241s/NUPROD) return ( {$All_REG_14241s[NUPROD=$unique_REG_14241_NUPROD][1]/TIPRE9} {$All_REG_14241s[NUPROD=$unique_REG_14241_NUPROD][1]/NUPROD} { for $REG_14241_NOAPN in $All_REG_14241s[NUPROD=$unique_REG_14241_NUPROD][1]/NOAPN return {$REG_14241_NOAPN} {$REG_14241_NOAPN/following-sibling::NIFNU[1]} } { for $REG_14241_NOAPU in $All_REG_14241s[NUPROD=$unique_REG_14241_NUPROD][1]/NOAPU return S {$REG_14241_NOAPU} {$REG_14241_NOAPU/following-sibling::NIFUS[1]} } { for $REG_14241_Totales in $All_REG_14241s[NUPROD=$unique_REG_14241_NUPROD][last()] return {$REG_14241_Totales} } { for $REG_14241 in $All_REG_14241s[NUPROD=$unique_REG_14241_NUPROD] return $REG_14241 } ) } { let $All_SUBGRUPO_2 := for $REGISTROS_SUBGRUPO_2 at $REGISTROS_SUBGRUPO_2-pos in $doc/root/REG_02005/TIPRE9/text() | $doc/root/REG_02112/TIPRE9/text() | $doc/root/REG_03128/TIPRE9/text() | $doc/root/REG_05127/TIPRE9/text() | $doc/root/REG_07129/TIPRE9/text() | $doc/root/REG_08224/TIPRE9/text() where $REGISTROS_SUBGRUPO_2 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REGISTROS_SUBGRUPO_2 << $REG_00010/following-sibling::REG_00010[1])) return $REGISTROS_SUBGRUPO_2 for $SUBGRUPO_2_PRIMERREGISTRO in $All_SUBGRUPO_2[1] return $SUBGRUPO_2_PRIMERREGISTRO } { let $All_SUBGRUPO_3 := for $REGISTROS_SUBGRUPO_3 at $REGISTROS_SUBGRUPO_3-pos in $doc/root/REG_11700/TIPRE9/text() | $doc/root/REG_13035/TIPRE9/text() | $doc/root/REG_13227/TIPRE9/text() | $doc/root/REG_14237/TIPRE9/text() | $doc/root/REG_14241/TIPRE9/text() where $REGISTROS_SUBGRUPO_3 >> $REG_00010 and (empty($REG_00010/following-sibling::REG_00010) or ($REGISTROS_SUBGRUPO_3 << $REG_00010/following-sibling::REG_00010[1])) return $REGISTROS_SUBGRUPO_3 for $SUBGRUPO_3_PRIMERREGISTRO in $All_SUBGRUPO_3[1] return $SUBGRUPO_3_PRIMERREGISTRO } } (: Stylus Studio meta-information - (c) 2004-2007. Progress Software Corporation. All rights reserved. :)