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.
:)