Sto utilizzando MLCP (Marklogic Content Pump) per copiare il contenuto da un database a un altro. In questo sto usando -query_filter opzione e il suo valore è una cts: query in formato XML serializzato di una serie di cts: elemento-gamma-query avvolto in cts: e-query:Valore non valido Operatore '<' (minore di) segno quando passato come -query_filter in 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>
Ora , la query sopra restituisce un risultato valido quando viene eseguita su ML Qconsole, ma quando viene passata nell'opzione -query_filter di MLCP, restituisce l'errore dicendo 'Carattere valore attributo non valido' < '.
La versione di Marklogic e MLCP è 8.0-5.
Su ulteriore scavo in questo ho osservato che il problema è solo quando il valore operatore inferiore '<'
Nota: Ho configurato un intervallo indice valido sul database per l'elemento "rilasciato".
Questo è esattamente quello che sto facendo attualmente. Tutte le opzioni interessate sono racchiuse in un file options.txt e sto eseguendo lo stesso comando sopra menzionato. –
Capisco. Sembra strano, perché l'XML è ben formato così com'è. Qualcosa che avevo in mente nel caso ci fosse un bug da qualche parte e "<" viene risolto a "<" troppo presto nella pipeline: hai provato "& lt;" invece "<"? –
Ho provato a utilizzare '& lt;' ma ha lo stesso errore –