Каждый раз, когда я добавляю сценарий xquery
, используя curl
, полученный файл на сервере теряет все разрывы страниц и некоторые пробелы. Это приводит к тому, что строки соединяются вместе, а некоторые слова - вместе. Это приводит к сбою сценария из-за того, что зарезервированные слова объединяются с другими.
Я использую следующую команду:
curl --anyauth --user username:password -X PUT -d @"./badactorasset-lib.xqy" -i -H "Content-type: application/xquery" http://localhost:8004/v1/ext/badactor/badactorasset-lib.xqy
Когда я просматриваю другие файлы .xqy на сервере MarkLogic через консоль запросов, отображение этих файлов со строками разрывается идеально. Все файлы, которые я добавляю, не содержат разрывов строк и выглядят нечитаемыми.
*** Пример другого файла, который был ранее загружен на сервер:
xquery version "1.0-ml";
module namespace ba = "http://marklogic.com/badactor/badactor";
declare option xdmp:mapping "false";
declare variable $ba:ETYPES := ("HX", "FER", "RER", "ELEC", "INSTR");
declare function ba:get-duration($type as xs:string) as xs:yearMonthDuration
{
let $years :=
if ($type eq "HX") then 5
else if ($type eq "FER") then 10
else if ($type eq "RER") then 2
else if ($type eq "ELEC") then 10
else if ($type eq "INSTR") then 2
else 0
return xs:yearMonthDuration("P" || fn:string($years) || "Y")
};
*** Пример моего файла на сервере:
xquery version "1.0-ml";module namespace ba = "http://marklogic.com/badactor/badactorasset";declare option xdmp:mapping "false";declare variable $ba:ETYPES := ("HX", "FER", "RER", "ELEC", "INSTR");declare function ba:get-duration($type as xs:string) as xs:yearMonthDuration{ let $years := if ($type eq "HX") then 5 else if ($type eq "FER") then 10 else if ($type eq "RER") then 2 else if ($type eq "ELEC") then 10 else if ($type eq "INSTR") then 2 else 0 return xs:yearMonthDuration("P" || fn:string($years) || "Y")};declare function ba:get-threshold($type as xs:string) as xs:integer{ if ($type eq "INST
Чего мне не хватает? Почему мои файлы теряют свою структуру?