zakładając Mam funkcja XPath Dzwonię z XSL przekształcać za pomocą lxml
(z libxml
i libxslt
), np:Jak mogę zwrócić fragment tekstu z funkcji XPath?
<xsl:template match="/">
<xsl:variable name="result" select="myns:my-func(./*)" />
...
</xsl:template>
Od tej funkcji, chciałbym wrócić fragment XML, który składa następujący:
some sample <em>text</em>
pyton funkcja my_func
jest utworzenie poprawnego użycia lxml
być dostępna za pośrednictwem arkusza XSL lxml.html.fragments_fromstring
i stosowane w celu uzyskania wyników, które są w następującym formacie:
['some sample ', <Element em at 0x106c203b0>]
Jak mogę powrócić do tej listy, więc może być używany później w XSL przekształcać ze zmiennej jakby to były zbierane od wyrażenia XPath bezpośrednio w kontekście XSL? Wydaje się, że za każdym razem, gdy przekazuję listę łańcuchów z powrotem do procesora XSL, lxml
zgłasza wyjątek.
Jakie jest twoje pytanie? Czy chcesz wiedzieć, w jaki sposób można uzyskać dostęp do funkcji Python z XML? Czy masz już Python połączony z procesorem XSLT i zapewnia on różne wyniki od tego, czego potrzebujesz? Jakie są te wyniki i jak można się spodziewać tehm? Z jakiego procesora XSLT korzystasz? – FrankPl
@unpluggd Jaka część mojej odpowiedzi nie działała dla ciebie?Czy pomogłoby, gdybym dostarczył coś w rodzaju powiązania pastebin z pełnym przykładem roboczym? –
@JamesHolderness Jeśli mógłbyś podać przykład pracy, który byłby wspaniały! Osobiście wypróbowałem twoje podejście i nie zadziałało to dla mnie, co skłoniło mnie do spróbowania tworzenia "inteligentnych ciągów" obiektów i innych rozwiązań, które nie działały. W każdym razie przyznaję ci nagrodę i przyjmuję twoją odpowiedź z dobrym przykładem. Dzięki! –