MarkLogic的xdmp:quote文档没有选项示例

时间:2017-03-03 14:38:49

标签: xml xml-serialization marklogic

我希望在XML未缩进的情况下执行以下操作:

xdmp:quote(fn:doc($uri)/*)

https://docs.marklogic.com/xdmp:quote处的文件不是很清楚。应该如何格式化选项参数?

2 个答案:

答案 0 :(得分:4)

尝试使用以下选项参数:

let $options :=
  <options xmlns="xdmp:quote">
    <indent>no</indent>
  </options>

return xdmp:quote(fn:doc($uri)/*, $options)

quote options函数的文档中列出了xdmp:quote()

有关所有选项的完整列表,您可以在/ MarkLogic / Config目录的安装区域中找到quote.xsd文件。

答案 1 :(得分:2)

它是相对简单的,与其他命令中使用的方式没有什么不同,例如xdmp:http-get和xdmp:eval:

  xdmp:quote(
    $xml,
    <options xmlns="xdmp:quote">
      <omit-xml-declaration>yes</omit-xml-declaration>
      <indent>no</indent>
      <indent-untyped>no</indent-untyped>
    </options>
  )

请注意,这不会删除XML中存在的空格。要摆脱这种情况,你可以使用旧的xsl:strip-space:

xdmp:quote(
  xdmp:xslt-eval(
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="#all">

      <xsl:output indent="no" omit-xml-declaration="yes"/>
      <xsl:strip-space elements="*"/>

      <xsl:template match="@*|node()">
        <xsl:copy>
          <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
      </xsl:template>

   </xsl:stylesheet>,
   $xml
 )

HTH!