Simplify unknown source field map detection
Simple refactoring. Code still is terrible. * src/current/compiler/map.xsl (lvmc:validate-ui) [lvm:program-map]: Factor common expressions.master
parent
652465a0a0
commit
68dd0706a8
|
@ -929,31 +929,19 @@
|
||||||
<template match="lvm:program-map" mode="lvmc:validate-ui">
|
<template match="lvm:program-map" mode="lvmc:validate-ui">
|
||||||
<param name="ui" />
|
<param name="ui" />
|
||||||
|
|
||||||
|
<variable name="knowns" as="xs:string*"
|
||||||
|
select="$ui//lvp:question/@id,
|
||||||
|
$ui//lvp:external/@id,
|
||||||
|
$ui//lvp:calc/@id" />
|
||||||
|
|
||||||
|
|
||||||
<!-- get a list of unknown source mappings -->
|
<!-- get a list of unknown source mappings -->
|
||||||
<!-- TODO: this is a mess -->
|
<!-- TODO: this is a mess -->
|
||||||
<variable name="unknown-pre" select="
|
<variable name="unknown-pre" select="
|
||||||
.//lvm:pass[
|
.//lvm:pass[ not( @name = $knowns ) ],
|
||||||
not( @name=($ui//lvp:question/@id|$ui//lvp:external/@id) )
|
.//lvm:map[ @from and not( @from = $knowns ) ],
|
||||||
and not( @name=$ui//lvp:calc/@id )
|
.//lvm:from[ not( @name = $knowns ) ],
|
||||||
]
|
.//lvm:set[ @each and not( @each = $knowns ) ]
|
||||||
|
|
|
||||||
.//lvm:map[
|
|
||||||
@from
|
|
||||||
and not( @from=($ui//lvp:question/@id|$ui//lvp:external/@id) )
|
|
||||||
and not( @from=$ui//lvp:calc/@id )
|
|
||||||
]
|
|
||||||
|
|
|
||||||
.//lvm:from[
|
|
||||||
not( @name=($ui//lvp:question/@id|$ui//lvp:external/@id) )
|
|
||||||
and not( @name=$ui//lvp:calc/@id )
|
|
||||||
]
|
|
||||||
|
|
|
||||||
.//lvm:set[
|
|
||||||
@each
|
|
||||||
and not( @each=($ui//lvp:question/@id|$ui//lvp:external/@id) )
|
|
||||||
and not( @each=$ui//lvp:calc/@id )
|
|
||||||
]
|
|
||||||
" />
|
" />
|
||||||
|
|
||||||
<variable name="unknown"
|
<variable name="unknown"
|
||||||
|
|
Loading…
Reference in New Issue