code_junkie

How to remove <b/> from a document

Nov 12th, 2011
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. <xsl:template match="b">
  2. <xsl:if test=".hasChildren()">
  3. <xsl:element name="b">
  4. <xsl:apply-templates/>
  5. </xsl:element>
  6. </xsl:if>
  7. </xsl:template>
  8.  
  9. <xsl:template match="b">
  10. <xsl:if test="b/text()">
  11. ...
  12.  
  13. <xsl:template match="b">
  14. <xsl:if test="./* or ./text()">
  15. <xsl:element name="b">
  16. <xsl:apply-templates/>
  17. </xsl:element>
  18. </xsl:if>
  19. </xsl:template>
  20.  
  21. <xsl:template match="b">
  22. <xsl:if test=".!=''">
  23. <xsl:element name="b">
  24. <xsl:apply-templates/>
  25. </xsl:element>
  26. </xsl:if>
  27. </xsl:template>
  28.  
  29. <xsl:template match="b">
  30. <xsl:if test=".!=''">
  31. <xsl:element name="b">
  32. <xsl:apply-templates/>
  33. </xsl:element>
  34. </xsl:if>
  35. </xsl:template>
  36.  
  37. <xsl:template match="b[not(text())]" />
  38.  
  39. <xsl:template match="b">
  40. <b>
  41. <xsl:apply-templates/>
  42. </b>
  43. </xsl:template>
  44.  
  45. <xsl:template match="b[not(node())] />
  46.  
  47. <xsl:template match="@*|node()">
  48. <xsl:copy>
  49. <xsl:apply-templates select="@*|node()"/>
  50. </xsl:copy>
  51. </xsl:template>
  52.  
  53. <html xml:space="preserve">
  54. ...
  55. </html>
  56.  
  57. <xsl:template match="b">
  58. <xsl:if test="text() != ''">
  59. ....
  60. </xsl:if>
  61. </xsl:template>
Add Comment
Please, Sign In to add comment