2016-06-07 54 views
0

在我的自定義搜索選項中,我指定了一個transform-results元素。自定義代碼段返回JSON或XML

<options xmlns="http://marklogic.com/appservices/search"> 
    <transform-results apply="highlighted-person-summary-snippet" ns="http://ir.abbvie.com/people-db/person-query" 
         at="/ext/lib/person-query.xqy"> 
    </transform-results> 
</options> 

反正是實現自定義代碼片段XQuery函數可以訪問哪些接受標題是搜索請求,並能夠充分利用呢?我寧願沒有定義兩個單獨的選項XML文件,唯一的區別是一個返回XML,另一個返回JSON。

回答

3

是的,只需使用xdmp:get-request-header。但是,如果您發出正確的搜索:匹配元素結構,那麼REST api會在必要時自動將其轉換爲json。

HTH!

+0

這適用於我。你知道是否有一個庫已經解析了Accept頭文件,比如在傳遞給$ context映射中的變換之前可能用什麼來處理頭文件?我正在處理簡單的情況,但可能會有更復雜的Accept頭。 –

+0

不是我所知道的。我只是假設相對簡單的Accept頭。編程式調用通常提供簡單的調用,因爲他們期望一個特定的響應MIME。您可以使用像fn:contains或fn:matches等函數來進行模糊匹配。 – grtjn