W arkuszu stylów XSLT, jak usunąć wiodące i końcowe spacje wewnątrz znacznika <xsl:attribute>
?Jak usunąć białe spacje z tagu <xsl: attribute>?
Na przykład, następujący arkusz stylów:
<xsl:template match="/">
<xsl:element name="myelement">
<xsl:attribute name="myattribute">
attribute value
</xsl:attribute>
</xsl:element>
</xsl:template>
wyjścia:
<myelement myattribute=" attribute value "/>
natomiast chciałbym go do wyjścia:
<myelement myattribute="attribute value"/>
Czy istnieje jakiś sposób, aby osiągnąć ten drugi niż zwijanie znaczników początkowych i końcowych <xsl:attribute>
w jednym wierszu?
Ponieważ jeśli wartość atrybutu nie jest zwykłym wierszem tekstu, ale wynikiem niektórych złożonych obliczeń (na przykład użycie lub znaczników), to zawinięcie całego kodu w jedną linię w celu uniknięcia początkowych i końcowych białych znaków spowoduje okropnie brzydki arkusz stylów.
Problem polega na tym, że jeśli wartość atrybutu jest wynikiem niektórych złożonych obliczeń, na przykład z elementami '', to zawinięcie całego kodu w jednym wierszu w celu uzyskania pożądanego wyniku spowoduje, że arkusz stylów będzie wyglądał okropnie brzydko. –
Możesz użyć linebreaks między xsl: attribute i xsl: choose. Po prostu trzeba unikać łamania linii w węzłach tekstowych. Wszystkie linie podziału w węźle tekstowym zostaną znalezione w danych wyjściowych. Wszystkie linie podziału między elementami xsl zostaną odrzucone. –
OK, rozumiem. W moim prawdziwym przypadku '' został "oskrzydlony" przez węzły tekstowe; zawijanie każdego w '' skutecznie usuwa białe znaki. Problem rozwiązany, dzięki! –