Re: [xsl] constructing arrays in XSLT with templates

Subject: Re: [xsl] constructing arrays in XSLT with templates
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 19 Jun 2021 10:47:31 -0000
Am 19.06.2021 um 12:37 schrieb Martin Honnen martin.honnen@xxxxxx:
>
> Or you would need to use a for expression to bind a "book" e.g.
>
>
> B  B  map {
> B  B  B  'books' : array {
> B  B  B  B  for $book in books/book return map:merge((
> B  B  B  B  B  map:entry('title', B  B  B B  $book!title !string() B  ),
> B  B  B  B  B  map:entry('authors', B  B  B array { $book!author!string() }
),
> *B  B  B  B  B B map:entry('out-of-print', true())[$book/@out-of-print eq
> 'true']*
> B  B  B  B  ))
> B  B  B  }
> B  B  }


Or perhaps a local let binding


 B B B  map {
 B B B B B  'books' : array {
 B B B B B B B  books/book ! map:merge((
 B B B B B B B B B  map:entry('title',B B B B B B B  titleB B B B B B B B 
!string()B B  ),
 B B B B B B B B B  map:entry('authors',B B B B B  array { author!string() }
),
 B B B B B B B B B  let $book := . return map:entry('out-of-print',
true())[$book/@out-of-print eq 'true']
 B B B B B B B  ))
 B B B B B  }
 B B B  }

Current Thread