Subject: [xsl] Conditional sort instruction as parameter within group && Syntactic matter of multilevel grouping | XSLT 2.0 | P1 From: "Fiona Chen anonymousjuly1@xxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Sun, 6 Jun 2021 17:32:42 -0000 |
I am developing a search and transform engine. Stage one ( XQuery ): It returns the search response snippet based on the point-in-time criteria from the UI: <search:response xmlns:search="http://marklogic.com/appservices/search"> B B B <search:result index="1" uri="/a.xml" path="fn:doc('/a.xml')"> B B B B B B B <search:snippet> B B B B B B B B B B B <search:match path="fn:doc('/a.xml')//*:putCurrencyAmount/*:currency"> B B B B B B B B B B B B B B B <search:highlight>USD</search:highlight> B B B B B B B B B B B </search:match> B B B B B B B B B B B <search:match path="fn:doc('/a.xml')//*:putCurrencyAmount/*:amount"> B B B B B B B B B B B B B B B <search:highlight>26000000</search:highlight> B B B B B B B B B B B </search:match> B B B B B B B </search:snippet> B B B </search:result> B B B <search:result index="2" uri="/b.xml" path="fn:doc('/b.xml')"> B B B B B B B <search:snippet> B B B B B B B B B B B <search:match path="fn:doc('/b.xml')//*:putCurrencyAmount/*:currency"> B B B B B B B B B B B B B B B <search:highlight>USD</search:highlight> B B B B B B B B B B B </search:match> B B B B B B B B B B B <search:match path="fn:doc('/b.xml')//*:putCurrencyAmount/*:amount"> B B B B B B B B B B B B B B B <search:highlight>38500000</search:highlight> B B B B B B B B B B B </search:match> B B B B B B B </search:snippet> B B B </search:result></search:response> Stage Two ( XSLT + XQuery ): The returned artifacts (@uri, @path,search:highlight, document content) will be incarnated in such way to enrich the transformed results back to the UI with underlying document untouched. The significance of Stage Two is to expose the data based on UI request:B if one wants XML format, I transform the results to XML; if JSON format, transform the results to JSON. Below is the extraction of enriched result in JSON: (point-in-time criteria = Rationale) {B B B B "Incarnation":B {B B B B B B B B "Rationale":B "Collection:productB PAIRB (putAmount:ultra-highB &&B putCurrency:USD)",B B B B B B B B "Rendition ":B [B B B B B B B B B B B B {B B B B B B B B B B B B B B B B "Trade":B [B B B B B B B B B B B B B B B B B B B B {B B B B B B B B B B B B B B B B B B B B B B B B "documentId":B "/b.xml"B B B B B B B B B B B B B B B B B B B B },B B B B B B B B B B B B B B B B B B B B {B B B B B B B B B B B B B B B B B B B B B B B B "Justification":B [B B B B B B B B B B B B B B B B B B B B B B B B B B B B {B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B "path" :B "fn:doc(\"/b.xml\")//*:putCurrencyAmount/*:currency"B B B B B B B B B B B B B B B B B B B B B B B B B B B B },B B B B B B B B B B B B B B B B B B B B B B B B B B B B {B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B "highlight":B "USD"B B B B B B B B B B B B B B B B B B B B B B B B B B B B },B B B B B B B B B B B B B B B B B B B B B B B B B B B B {B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B "path":B "fn:doc(\"/b.xml\")// *:putCurrencyAmount/*:amount"B B B B B B B B B B B B B B B B B B B B B B B B B B B B },B B B B B B B B B B B B B B B B B B B B B B B B B B B B {B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B "highlight":B "38500000 "B B B B B B B B B B B B B B B B B B B B B B B B B B B B }B B B B B B B B B B B B B B B B B B B B B B B B ]B B B B B B B B B B B B B B B B B B B B },B B B B B B B B B B B B B B B B B B B B {B B B B B B B B B B B B B B B B B B B B B B B B "trade":B [ =================================== trade and other details extraction ============================B B B B B B B B B B B B {B B B B B B B B B B B B B B B B "Trade":B [B B B B B B B B B B B B B B B B B B B B {B B B B B B B B B B B B B B B B B B B B B B B B "documentId":B "/a.xml"B B B B B B B B B B B B B B B B B B B B },B B B B B B B B B B B B B B B B B B B B {B B B B B B B B B B B B B B B B B B B B B B B B "Justification":B [B B B B B B B B B B B B B B B B B B B B B B B B B B B B {B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B "path":B "fn:doc(\"/a.xml\")//*:putCurrencyAmount/*:currency "B B B B B B B B B B B B B B B B B B B B B B B B B B B B },B B B B B B B B B B B B B B B B B B B B B B B B B B B B {B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B "highlight":B "USD"B B B B B B B B B B B B B B B B B B B B B B B B B B B B },B B B B B B B B B B B B B B B B B B B B B B B B B B B B {B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B "path": B "fn:doc(\"/a.xml\")//*:putCurrencyAmount/*:amount"B B B B B B B B B B B B B B B B B B B B B B B B B B B B },B B B B B B B B B B B B B B B B B B B B B B B B B B B B {B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B "highlight":B "26000000"B B B B B B B B B B B B B B B B B B B B B B B B B B B B }B B B B B B B B B B B B B B B B B B B B B B B B ]B B B B B B B B B B B B B B B B B B B B }=================================== trade and other details extraction ============================
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Removing unwanted space, Peter Flynn peter@xx | Thread | [xsl] Conditional sort instruction , Fiona Chen anonymous |
Re: [xsl] Removing unwanted space, Peter Flynn peter@xx | Date | [xsl] Conditional sort instruction , Fiona Chen anonymous |
Month |