如何使用冒号在本机JSON上添加元素范围索引

时间:2016-03-10 06:22:59

标签: json marklogic

我试图在Native JSON属性上添加范围索引,该属性在MarkLogic Server中的名称中包含冒号(:)。

样本数据如下。

{
  "Aspects": {
"xbrl28:TransactionTime": "2014-08-13T00:00:00+0000",
"xbrl28:Archive": "S1002U7K",
"xbrl:Period": "2014-08-13"
  },
  "_id": "27948e6d-a774-49ee-8e30-668cc4731975"
}

当我尝试在" xbrl28:Archive"上添加范围索引时,我不能,因为" xbrl28:"被视为命名空间的前缀。 有没有办法逃脱结肠?

1 个答案:

答案 0 :(得分:5)

您不能将JSON属性的元素范围索引与冒号,空格或任何其他不符合xs:QName的名称一起使用。我还没试过,但您可以尝试使用带有以下表达式的路径索引:node()[name() = "xbrl28:Archive"]或更好:text("xbrl28:Archive")

HTH!