0
일부 데이터를 추출하기 위해 .xml 파일과 템플릿을 만들었지 만 속성 만 표시됩니다. 해당 템플릿 여기MarkLogic의 XQuery 템플릿에 값이없고 속성 (TDE) 만 표시됩니다.
<user id="1234" email="[email protected]" password="1234">
<type>Human</type>
<notes>
<note reference="5432" id="753" xmlns="http://testnamespace.de/note">
<text>example</text>
<username>John Doe</username>
<groups>
<group id="42">Avengers</group>
<group id="55">JLA</group>
</groups>
<distinctiveTitle>title</distinctiveTitle>
<personNameInverted>Doe John</personNameInverted>
</note>
</notes>
과 :
이
내 .XML-testfile 위이다 (?) 내가 올바른 경로를 사용하는 컨텍스트를 변경import module namespace tde = "http://marklogic.com/xdmp/tde" at "/MarkLogic/tde.xqy";
declare namespace testns = "http://testnamespace.de/note";
let $userNoteTDE:=
<template xmlns="http://marklogic.com/xdmp/tde" xmlns:testns="http://testnamespace.de/note">
<context>/user/notes/testns:note</context>
<rows>
<row>
<schema-name>user</schema-name>
<view-name>notes</view-name>
<columns>
<column>
<name>reference</name>
<scalar-type>string</scalar-type>
<val>@reference</val>
<nullable>true</nullable>
<default>""</default>
</column>
<column>
<name>id</name>
<scalar-type>string</scalar-type>
<val>@id</val>
<nullable>true</nullable>
<default>""</default>
</column>
<column>
<name>text</name>
<scalar-type>string</scalar-type>
<val>text</val>
<nullable>true</nullable>
<default>""</default>
</column>
<column>
<name>username</name>
<scalar-type>string</scalar-type>
<val>username</val>
<nullable>true</nullable>
<default>""</default>
</column>
<column>
<name>distinctiveTitle</name>
<scalar-type>string</scalar-type>
<val>distinctiveTitle</val>
<nullable>true</nullable>
<default>""</default>
</column>
<column>
<name>personNameInverted</name>
<scalar-type>string</scalar-type>
<val>personNameInverted</val>
<nullable>true</nullable>
<default>""</default>
</column>
</columns>
</row>
</rows>
</template>
과 네임 스페이스 (이 부분은 다른 템플릿에 중첩되어야하므로) :
<context>/user/notes/testns:note</context>
,451,515,
나는 TDE와 템플릿을 선택하면 : 노드 데이터 추출 (FN : 문서 (TESTFILE의 PATH), $ userNoteTDE) 나는 다음과 같은 출력을 얻을 :
{
"TESTFILE PATH": [
{
"row": {
"schema": "user",
"view": "notes",
"data": {
"rownum": "1",
"reference": "5432",
"id": "753",
"text": "",
"username": "",
"distinctiveTitle": "",
"personNameInverted": ""
}
}
}
]
}
이 보여주고, 그 속성이 올바르게 표시되지만 요소의 값 (text, username, distinctiveTitle, personNameInverted)이 작동하지 않습니다. 내 생각 엔 값에 좀 더 세련된 경로 나 표현식이 필요하지만 정보를 찾을 수 없다고 생각합니다. (ERR : XPST0081) 접두어 testns 그래서 어떻게 든
바인딩 네임 스페이스가없는 요소 수 없습니다 XDMP-UNBPRFX : 내 템플릿에 <val>testns:text</val>
에 예를 들어 텍스트 값을 변경하면 , 나는 오류 선언 된 네임 스페이스를 사용하지만 속성은이를 사용할 수 있습니다.
또한 내 템플릿의 <groups>
섹션을 건너 뛰었습니다. 문맥이 필요하기 때문에 필요하지 않습니다.
도움이되는 통찰력에 미리 감사드립니다.