Mi chiedevo se c'è un modo per sfuggire a un token di fine CDATA ( ]]>
) all'interno di una sezione CDATA in un documento XML. O, più in generale, se esiste una sequenza di escape da utilizzare all'interno di un CDATA (ma se esiste, immagino che probabilmente avrebbe senso sfuggire ai token di inizio o fine, comunque).
Fondamentalmente, puoi avere un token di inizio o fine incorporato in un CDATA e dire al parser di non interpretarlo ma di trattarlo come un'altra sequenza di caratteri.
Probabilmente, dovresti semplicemente riformattare la tua struttura xml o il tuo codice se ti ritrovi a provare a farlo, ma anche se ho lavorato con xml quotidianamente negli ultimi 3 anni circa e non ho mai avuto questo problema, Mi chiedevo se fosse possibile. Solo per curiosità.
Modificare:
Oltre all'utilizzo della codifica html ...
CDATA
stato progettato per consentire qualsiasi cosa : vengono utilizzati per sfuggire a blocchi di testo contenenti caratteri che altrimenti verrebbero riconosciuti come markup Ciò implica CDATA
anche poiché è anche markup. Ma, in effetti, non hai bisogno della doppia codifica che ho insinuato. ]]>
è un mezzo accettabile per codificare a CDEnd
all'interno di a CDATA
.
>
come>
all'interno di CData per garantire che Embedded]]>
non venga analizzato come CDEnd. Significa semplicemente che è inaspettato e che&
deve essere PRIMA codificato in&
modo che i dati possano essere decodificati correttamente. Gli utenti del documento devono sapere anche per decodificare questo CData. Non è inaudito poiché parte dello scopo di CData è di contenere contenuti che un consumatore specifico comprende come gestire. Non si può pretendere che un simile CData venga interpretato correttamente da nessun consumatore generico.