Sto utilizzando i file XLST per trasformare XML in XML.Spazio XML non interrompibile
Quali sono la rappresentazione valida dello spazio?
<xsl:text> </xsl:text>
<xsl:text> </xsl:text>
<xsl:text> </xsl:text>
Sto utilizzando i file XLST per trasformare XML in XML.Spazio XML non interrompibile
Quali sono la rappresentazione valida dello spazio?
<xsl:text> </xsl:text>
<xsl:text> </xsl:text>
<xsl:text> </xsl:text>
XML non ha entità con nome oltre <
, >
, "
, '
e &
.
Tutti gli altri caratteri possono essere rappresentati letteralmente, dato che hai dichiarato la codifica corretta nella dichiarazione XML (ad esempio <?xml version="1.0" encoding="..." ?>
). La dichiarazione UTF-8 è facoltativa, in quanto è comunque l'impostazione predefinita.
In altre parole: Non c'è bisogno di sfuggire appositamente qualsiasi carattere da nessuna parte, a meno lasciandola senza caratteri di escape si spezzerebbe regole della sintassi XML (come <
o &
sarebbe).
Ovviamente sei libero di sfuggire a qualsiasi personaggio desideri.
Queste rappresentazioni sono equivalenti per quanto riguarda il documento risultante è interessato:
<foo>Test Test</foo>
<foo>Test Test</foo>
<foo>Test Test</foo>
<foo>Test Test</foo><!-- given that the " " really is char code 160 -->
Si noti che è possibile dichiarare nome personalizzato entità (come nbsp
) utilizzando un DOCTYPE.
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp " ">
]>
Ma dato che XML accetta qualsiasi carattere che è quasi mai necessario. Soprattutto non quando crei il documento usando uno strumento adeguato, come una DOM API.
Gli ultimi due equivalenti? Uno spazio non è la stessa cosa di uno spazio non frantumato ... almeno così come lo capisco – freefaller
Questo è un problema tecnico nella normalizzazione di SO. Ho sicuramente usato un carattere NBSP ma viene sostituito silenziosamente da uno spazio normale. Sembra impossibile memorizzare un NBSP effettivo in una risposta. – Tomalak
Per quanto riguarda la domanda, aggiungere tutte le entità che causano errori di analisi al DOCTYPE del proprio foglio di stile * .xls.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp " ">
]>
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Ora è possibile utilizzare
come si farebbe normalmente.
Il primo è uno spazio normale, ' ' non è una codifica valida, e il secondo è la codifica valida di ' ' – freefaller