来自 JSON 字符串数组的 MarkLogic TDE Xpath 值

2024-01-09

我想构建一个 tde,其中包含一行,其中包含 id 和原始文档中数组的每个值。

我为每个元素获取一行,但值为空并被忽略。

似乎如果上下文设置为不是数组的任何内容,../uri 可以工作,但当上下文是数组时则不会。

除了简单的示例之外,我正在努力寻找 MarkLogic TDE 的优质资源,

示例文档(片段)

 "instance": {
        "uri": "/A/Uri/of/some/type.json", 
         "types": [
          "a", 
          "b", 
          "c"
      ]
}

Template

{
  "template":{
    "context":"/instance/types",
    "collections":["Collection"],
    "enabled" : true,
    "rows":[
      {
        "schemaName":"namespace",
        "viewName":"uri2types",
        "columns":[
          {
            "name":"uri",
            "scalarType":"anyURI",
            "val":"../uri",
            "nullable":true,
            "invalidValues": "ignore"
          }
          ,
          {
            "name":"type",
            "scalarType":"string",
            "val":"/node()",
            "nullable":true,
            "invalidValues": "ignore"
          }
        ]
      }
    ]
  }
}

Result

     {
        "/A/Uri/of/some/type.json": [
            {
                "row": {
                    "schema": "namespace", 
                    "view": "uri2types", 
                    "data": {
                        "rownum": "1"
                }
            }
        }, 
            {
                "row": {
                    "schema": "namespace", 
                    "view": "uri2types", 
                    "data": {
                        "rownum": "2"
                }
            }
        }, 
            {
                "row": {
                "schema": "namespace", 
                "view": "uri2types", 
                "data": {
                    "rownum": "3"
                }
                }
            }
        ]
        }

**Result Wanted** 


    {
        "/A/Uri/of/some/type.json": [
        {
            "row": {
                    "schema": "namespace", 
                    "view": "uri2types", 
                    "data": {
                        "rownum": "1",
                        "uri":"/A/Uri/of/some/type.json":,
                        "type"="a"

                    }
                }
            }, 
        {
            "row": {
                "schema": "namespace", 
                "view": "uri2types", 
                "data": {
                    "rownum": "2",
                    "uri":"/A/Uri/of/some/type.json":,
                    "type":"b"
                }
            }
        }, 
        {
            "row": {
                "schema": "namespace", 
                "view": "uri2types", 
                "data": {
                    "rownum": "3",
                    "uri":"/A/Uri/of/some/type.json":,
                    "type":"c"
                }
            }
        }
    ]
    }

表达方式/node()为了type列将尝试获取包含您的类型的文本节点的子节点,但文本节点没有任何子节点。data() or .更合适。

表达方式../uri为了uri柱子在树上的高度不够。获取类型值的完整 MarkLogic XPath 是/object-node()/object-node('instance')/array-node('types')/text()。你需要上两层才能逃离周围的阵列节点。它可以帮助重写/instance/types to /instance/array-node()/types:

'use strict';

let json = xdmp.toJSON({
  "instance": {
    "uri": "/A/Uri/of/some/type.json", 
    "types": [
      "a", 
      "b", 
      "c"
    ]
  }
});
let tpl = xdmp.toJSON({
  "template":{
    "context":"/instance/array-node()/types",
    "enabled" : true,
    "rows":[
      {
        "schemaName":"namespace",
        "viewName":"uri2types",
        "columns":[
          {
            "name":"uri",
            "scalarType":"anyURI",
            "val":"../../uri",
            "nullable":true,
            "invalidValues": "ignore"
          }
          ,
          {
            "name":"type",
            "scalarType":"string",
            "val":"data()",
            "nullable":true,
            "invalidValues": "ignore"
          }
        ]
      }
    ]
  }
});
tde.validate([tpl]);
tde.nodeDataExtract([json], [tpl]);

HTH!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

来自 JSON 字符串数组的 MarkLogic TDE Xpath 值 的相关文章

  • 为什么 length 是 `Array` 的属性而不是 `Array.prototype` 链

    所以我在 V8 控制台上玩了很多 我做到了 Object getOwnPropertyNames 我期望得到 结果 然而 length 所以这意味着不是成为原型链的一部分 length是所有人的成员财产Array对象 这是一个错误 还是有任
  • 如何从下面的html中提取数据?

    我想要从中提取数据的 Html 是 div class infoMessageInner p span class ng binding Fiber r best lld till adressen Tj nsterna kan du be
  • 如何避免 ArrayIndexOutOfBoundsException 或 IndexOutOfBoundsException? [复制]

    这个问题在这里已经有答案了 如果你的问题是我得到了java lang ArrayIndexOutOfBoundsException在我的代码中 我不明白为什么会发生这种情况 这意味着什么以及如何避免它 这应该是最全面的典范 https me
  • 将数组拆分为特定数量的块

    我知道array chunk 允许将数组拆分为多个块 但块的数量根据元素的数量而变化 我需要的是始终将数组拆分为特定数量的数组 例如 4 个数组 以下代码将数组分为 3 个块 两个块各有 2 个元素 1 个块有 1 个元素 我想要的是将数组
  • 如何使用 xpath 检查某个对象在网页中是否可见?

    我正在 R 中使用 RSelenium 包来进行网络抓取 有时加载网页后 需要检查某个对象在网页中是否可见 例如 library RSelenium open a browser RSelenium startServer remDr lt
  • 如何在 Smarty 中打印 json

    我从 api 获取 json 如何使用 Smarty 打印 json Json格式 first name jinu last name mk loginid email protected cdn cgi l email protectio
  • VBA中的字符串是可以迭代的数组吗?

    VBA中字符串是数组吗 例如 我可以像在 C C 中那样迭代它吗 做这样的事情 char myArray 10 for int i 0 i lt length i cout lt lt myArray i VBA 中的等价物是什么 它的行为
  • 更改API数据输出的布局

    我是 API 集成和 PHP 的新手 我最近将 VIN 解码器集成到我的应用程序中 在输入框中输入车辆的 VIN 选择提交 然后就会显示 API 数据库中有关该车辆的所有信息 数据存储为关联数组 其中包含类别及其相应元素 例如 对于 VIN
  • 将 Excel 范围转换为 VBA 字符串

    我想将给定范围内的值转换为 VBA 字符串 其中原始单元格值由任何选定的列分隔符和行分隔符分隔 分隔符可以是一个字符或更长的字符串 行分隔符是行末尾的字符串 该字符串应该像我们从左上角 从左到右 到右下角读取文本一样完成 以下是范围 A1
  • Java-如何将黑白图像加载到二进制中?

    我在 FSE 模式下使用 Java 和 swing 我想将完全黑白图像加载为二进制格式 最好是二维数组 并将其用于基于掩码的每像素碰撞检测 我什至不知道从哪里开始 过去一个小时我一直在研究 但没有找到任何相关的东西 只需将其读入Buffer
  • 尝试使用 Javascript 解决对称差异

    我正在尝试找出对称的解决方案 使用 javascript 完成以下任务的差异 目标 接受未指定数量的数组作为参数 保留数组中数字的原始顺序 不删除单个数组中数字的重复项 删除数组中出现的重复项 因此 例如 如果输入是 1 1 2 6 2 3
  • 将多维数组转换为单数组(Javascript)

    我有一个对象数组 来自 XLSX js 解析器 因此其长度和内容各不相同 表示已给予项目的资助 简化后 它看起来像这样 var grants id p 1 location loc 1 type A funds 5000 id p 2 lo
  • 使用随机放置的 NaN 创建示例 numpy 数组

    出于测试目的 我想创建一个M by Nnumpy 数组与c随机放置的 NaN import numpy as np M 10 N 5 c 15 A np random randn M N A mask np nan 我在创建时遇到问题mas
  • 使用 Java 进行 MongoDB 查询。计算数组中的匹配项

    我在 Mongo 中存储了类似于以下内容的数据 LIST NAME a VALUE z NAME b VALUE y NAME c VALUE x NAME d VALUE w NAME e VALUE v NAME f VALUE u N
  • 如何将我的 json 字符串 avro 二进制编码为字节数组?

    我有一个实际的 JSON 字符串 我需要将其 avro 二进制编码为字节数组 在经历了Apache Avro 规范 http avro apache org docs 1 7 7 spec html 我想出了下面的代码 我不确定这是否是正确
  • 如何创建没有循环关系的树形表?

    CREATE TABLE TREE node1 id UUID REFERENCES nodes object id NOT NULL node2 id UUID REFERENCES nodes object id NOT NULL CO
  • 合并 2 个数组并合并数字键的结果

    我有 2 个数组 我希望通过每个数字键将其中合并 分组在一起 例如 Array1 2009 gt 131 2008 gt 940 2007 gt 176 2006 gt 1 Array2 2008 gt 9 2007 gt 3 我希望输出是
  • Swift 使用哪种通用排序算法?它在排序数据上表现不佳

    我一直在挑选和探索 Swift 标准库sort 其函数为Array类型 令我惊讶的是 我注意到它在已经排序的数据上表现不佳 对数组进行排序Int打乱顺序似乎比对已经排序的同一个数组进行排序快 5 倍 对已打乱顺序的对象数组进行排序比对已按排
  • jQuery / Ajax:如何循环遍历数组作为 Ajax 成功函数的一部分

    我有一个阿贾克斯调用返回一个数组并需要对该数组中的每个值执行某些操作 到目前为止 我有以下内容 但这会返回以下错误 Uncaught TypeError Cannot use in operator to search for length
  • JavaScript 中数组的 HTML 数据列表值

    我有一个简单的程序 它必须从服务器上的文本文件中获取值 然后将数据列表填充为输入文本字段中的选择 为此 我想要采取的第一步是我想知道如何动态地将 JavaScript 数组用作数据列表选项 我的代码是

随机推荐

  • 链接器中不必要的链接库

    我有一个项目 我可以从链接器中排除一些库并且仍然可以构建 就最终产品的性能和内存而言 排除它们是否更好 一个好的 C 链接器不会包含来自代码中未使用的任何库的任何调用 所谓的 死代码剥离 所以 我想说这取决于您使用哪种 C 链接器来发出最终
  • Google App Engine 和 Android(OAuth、C2DM 或云消息传递)[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 作为该板的许多用户 我想开发一个以
  • 如何使用 jq 更新 json 文档中的单个值?

    如果我忽略了一些非常明显的事情 请道歉 我刚刚发现jq我正在尝试使用它来更新一个 JSON 值而不影响周围的数据 我想通过管道curl结果变成jq 更新一个值 并将更新后的 JSON 通过管道传输到curl X PUT 就像是 curl h
  • 如何更改帖子中提到的 html 标签中的用户? (VUE-节点)

    我有一个 body 属性 其中包含涉及 username1 username2 的文本 我想将昵称 user1 user2等更改为路由器链接 可以使用正则表达式来做到这一点吗 最终代码需要像这样 链接配置文件中没有
  • Java 中的 Web 浏览器控件?

    我有 C 背景 我们有一个叫做网页浏览器 https learn microsoft com en us dotnet api system windows forms webbrowser view netframework 4 8可以加
  • 如何从文本字段填充自定义 uitableview

    我创建了三个文本字段 食物名称 食物数量 钠含量 当我单击提交按钮时 我想使用文本字段中的数据更新表格视图 我创建了一个 NSObject 以及建立的日志来显示正在从文本字段保存数据 并且提交将移动到表格视图 但我无法从文本字段获取数据来显
  • 设置SQL语句参数值:列索引1,参数值[名称],值类[java.lang.String],SQL类型未知

    我使用 NamedParameterJdbcTemplate 将参数传递给 Query 但是我收到跟踪详细信息作为警告 并且参数绑定没有显示 主要问题是它显示正在执行的 sql 但我希望参数也是其中的一部分 但只有 问号 出现 警告绑定发生
  • 选择桌面+移动应用程序的技术堆栈

    我目前正在浏览网络以获取信息 目标是构建经典棋盘游戏的网络和移动版本 我们的想法是在桌面版本上拥有完整的功能和游戏 以及与之配套的精简的本机移动应用程序 这将允许用户玩游戏并更改一些设置 现在我已经习惯了为桌面构建 Web 应用程序 但我从
  • 如何在 Gerrit 中创建新的补丁集?

    我是 Gerrit 新手 希望在提交新更改时创建新补丁 我使用本指南设置 Gerrithttps review typo3 org Documentation install quick html https review typo3 or
  • Ninject 程序集与引用的程序集不匹配

    Setup ASP NET MVC3 忍者 v2 2 1 4 忍者 v3 0 0 15 Ninject MVC3 v3 0 0 6 Ninject Web Common v3 0 0 7 使用 NuGet 我的 UnitTest 项目引用
  • 如何在具有圆角的超级视图中翻转非全屏 UIView?

    我正在翻转 UIView 类似于天气应用程序的页面翻转 不过 视图不是全屏的 并且超级视图有圆角 问题在于 在翻转动画期间 超级视图的圆角被黑色填充到方角 这是我设置角的方法 self view layer cornerRadius 15
  • 如何使用 javascript/jquery 从 URL 中删除获取变量和文件名?

    我正在研究这个问题 但找不到针对此特定目的的任何可靠答案 假设我有一个网址 http mysite com stuff index php search my search http mysite com stuff index php s
  • Xamarin Android - 在发布模式下打印到应用程序输出

    打补丁一些崩溃 https stackoverflow com questions 24809580 noclassdeffounderror android support v7 internal view menu menubuilde
  • 没有物理设备的配置文件

    我在这个论坛和苹果开发者论坛上经常看到这个问题 我已经按照教程学习了 6 个多小时 我想要的只是添加该应用程序 以便我可以与朋友和家人一起测试它 我没有 iPhone 我有一台 Macbook Pro 和付费的开发者注册 当我选择通用 IO
  • 在 Django 中生成带有内联摘要的列表/报告

    我正在尝试编写一个视图 该视图将生成一个报告 显示我的库存系统中的所有项目 并在某个点提供摘要 顺便说一下 这个报告纯粹是一个 HTML 模板 就我而言 每个项目都是订单的一部分 一个订单可以有多个项目 我希望能够在每个订单结束后显示基于
  • CarrierWave:为所有版本化文件创建相同、唯一的文件名

    在详细介绍之前 我先切入主题 有没有人找到一种方法让 Carrierwave 将文件名称保存为时间戳或每个文件唯一的任意字符串 默认情况下 Carrierwave 将每个文件及其备用版本保存在其自己的目录中 以型号 ID 号命名 我不喜欢这
  • Neo4j - 将匹配应用于上一场比赛的每个结果

    情况 具有许多端点的图 每个端点都与主图有一个连接 该连接可能会穿越多个中间层节点 gt 关系 gt 节点在加入主图之前 每个连接的最终节点都有特定的属性 我有一个查询沿着这条路径走并找到最终连接到主图的节点 我有另一个查询返回端点节点的列
  • 多个 JQuery 不同表单选择器

    我有两种形式one and two 并且基于提交的表单 我想在逻辑末尾根据提交的值调用一个函数 我想知道是否可以将每个选择器作为数组索引 循环或属性或其他内容检索var tagsOrAnswerers 然后也许我可以将该参数传递给我将被调用
  • 带树枝的自定义表单字段模板

    我想在树枝中创建一个自定义模板来呈现表单字段 Example form row form field 这可以通过表单主题覆盖 block form row custom code endblock form row 我想做的是这样的 blo
  • 来自 JSON 字符串数组的 MarkLogic TDE Xpath 值

    我想构建一个 tde 其中包含一行 其中包含 id 和原始文档中数组的每个值 我为每个元素获取一行 但值为空并被忽略 似乎如果上下文设置为不是数组的任何内容 uri 可以工作 但当上下文是数组时则不会 除了简单的示例之外 我正在努力寻找 M