Używam MLCP (Marklogic Content Pump) do kopiowania zawartości z jednej bazy danych do drugiej. W ten używam -query_filter opcję, a jego wartość jest CTS: zapytanie w formacie XML serializowanym zestawu CTS: Element-rząd-maila owinięte w CTS-a zapytanie:Niepoprawny znak operatora Znak "<" (mniejszy niż) po podaniu jako -query_filter w MLCP
<cts:and-query xmlns:cts="http://marklogic.com/cts">
<cts:element-range-query operator=">">
<cts:element xmlns:c="http://iddn.icis.com/ns/core">c:released-on</cts:element>
<cts:value xsi:type="xs:dateTime" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">2000-12-21T00:00:00Z</cts:value>
</cts:element-range-query>
<cts:element-range-query operator="<">
<cts:element xmlns:c="http://iddn.icis.com/ns/core">c:released-on</cts:element>
<cts:value xsi:type="xs:dateTime" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">2016-12-21T00:00:00Z</cts:value>
</cts:element-range-query>
</cts:and-query>
teraz , powyższa kwerenda zwraca prawidłowy wynik, gdy wykonywane na ML Qconsole, ale po przekazaniu w opcji -query_filter MLCP, daje błąd mówiąc: "Nieprawidłowy znak wartości atrybutu" < ".
Wersja Marklogic i MLCP to 8,0-5.
Przy dalszym kopaniu w to zauważyłem, że problem jest tylko wtedy, gdy wartość operator mniej niż „<”
Uwaga: Mam skonfigurowany poprawny rząd-indeks w bazie danych dla elementu "zwolniony".
Dokładnie to, co teraz robię. Wszystkie te opcje są zawijane w pliku options.txt i uruchamiam tę samą komendę, o której mowa powyżej. –
Rozumiem. Brzmi to dziwnie, ponieważ XML jest dobrze sformułowany, jak jest. Coś, co miałem na myśli, na wypadek, gdyby gdzieś pojawił się błąd, a "<" zostanie rozwiązany na "<" za wcześnie w fazie instalacji: czy próbowałeś "& lt;" zamiast "<"? –
Próbowałem użyć '& lt;' również, ale dostał ten sam błąd –