se io hanno una funzione XPath Chiamo da una trasformazione XSL utilizzando lxml
(con libxml
e libxslt
), ad esempio:Come posso restituire un frammento di testo da una funzione XPath?
<xsl:template match="/">
<xsl:variable name="result" select="myns:my-func(./*)" />
...
</xsl:template>
Da questa funzione, vorrei restituire un frammento XML che consiste il seguente:
some sample <em>text</em>
il pitone funzione my_func
viene impostata ad un corretto utilizzando lxml
a essere disponibili tramite il foglio di stile XSL, e utilizzato lxml.html.fragments_fromstring
per ottenere i risultati che sono nel formato:
['some sample ', <Element em at 0x106c203b0>]
Come posso restituire questa lista in modo che possa essere utilizzato in seguito nella trasformazione XSL dalla variabile come se fosse raccolto da un'espressione XPath direttamente nel contesto XSL? Sembra che ogni volta che passo un elenco di stringhe al processore XSL, lxml
genera un'eccezione.
Qual è la tua domanda? Vuoi sapere come puoi accedere a una funzione Python da XML? O hai già il Python collegato al tuo processore XSLT e fornisce risultati diversi da quello che ti serve? Quali risultati sono questi e come ti aspetti tehm? Quale processore XSLT stai usando? – FrankPl
@unpluggd Quale parte della mia risposta non ha funzionato per te?Sarebbe d'aiuto se fornissi qualcosa come un collegamento pastebin con un esempio operativo completo? –
@JamesHolderness Se potessi fornire un esempio funzionante sarebbe meraviglioso! Ho provato personalmente il tuo approccio e non ha funzionato per me, il che mi ha portato a provare a creare oggetti "smart string" e altre soluzioni che non hanno funzionato. Ti ho comunque assegnato la taglia e accetterò la tua risposta con un esempio funzionante. Grazie! –