Я пытаюсь импортировать свое пространство имен, но по какой-то причине оно не сдвинется с места. Я пробовал это, а также добавлял путь
import schema namespace r = "http://www.w3.org/2001/XMLSchema" at "Assignment-Xquery3.xsd";
Я продолжаю получать эту ошибку:
Error in schema http://www.w3.org/2001/XMLSchema: No valid schema was found
Я тоже устал от «-Instance», но безрезультатно. Я управляю Saxon EE. Я попытался добавить свой путь к файлу. Я не уверен, что не так, это шаблон, который нам предоставил мой учитель.
Остальная часть моего кода, если необходимо:
import schema namespace r = "http://www.w3.org/2001/XMLSchema" at "Assignment-Xquery3.xsd";
<provider>{
for $r in
distinc-values(doc("instance.xml")/r:patient/r:treatment/r:provider)
return
<info>
<patient>{string($r)}</patient>
{for $rr in doc("instance.xml"/r:patient
where $r = $rr/r:treatment}
return
<treatment>
<id>{$rr/r:id/text()}</id>
<diagnosis>{$rr/r:diagnosis/text()}</diagnosis>
<drug>{$rr/r:drug/text()}</drug>
</treatment>
</info>
}</provider>
declare namespace r = "http://example.com";
. Схема используется для XQuery с поддержкой схемы (который поддерживает Saxon EE), но я не вижу никаких попыток использовать типы схемы в вашем коде XQuery. И маловероятно, что целевое пространство имен вашей схемыAssignment-Xquery3.xsd
является пространством имен W3C XSD, поскольку это пространство имен самого языка схемы. - person Martin Honnen   schedule 16.02.2020schema
, также известную какimport namespace r = "http://www.w3.org/2001/XMLSchema";
? Если это так, я получаю другую ошибку, которая говорит:Unexpected token name "namespace" beyond end of query
- person Bhagyesh   schedule 16.02.2020Assignment-Xquery3.xsd
файле, который нам дали:<schema targetNamespace="http://cs548.stevens.edu/clinic/db" elementFormDefault="unqualified" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://cs548.stevens.edu/clinic/db" attributeFormDefault="unqualified">
я могу добавить весь файл, если вам это нужно - person Bhagyesh   schedule 16.02.2020import schema namespace r = "http://cs548.stevens.edu/clinic/db" at "Assignment-Xquery3.xsd";
. Чтобы просто использовать пространство имен в коде XQuery, также достаточно использоватьdeclare namespace r = "http://cs548.stevens.edu/clinic/db";
. Я думаю, что сам код XQuery должен использоватьgroup by
, но это другой вопрос. - person Martin Honnen   schedule 17.02.2020