我希望在XML未缩进的情况下执行以下操作:
xdmp:quote(fn:doc($uri)/*)
https://docs.marklogic.com/xdmp:quote处的文件不是很清楚。应该如何格式化选项参数?
答案 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!