- From: G. Ken Holman <gkholman@CraneSoftwrights.com>
- Date: Wed, 21 Nov 2012 15:00:30 -0500
- To: xmlschema-dev@w3.org
At 2012-11-21 13:10 -0600, Loren Cahlander wrote: >That fixed it. I have added some additional code including calling >normalize-space() to strip leading and trailing spaces from the comments. Because of the repetition you have, you may find the (not yet checked for typos) version of your stylesheet below will serve you better from a maintenance perspective. With this stylesheet any common fixes you need can be done in one place, not three. Note that the indentation of the <xsl:value-of> in your stylesheet does not introduce indentation in your result, so there is no need for you to stretch out your content so long on one line. XSLT works on nodes, not on angle brackets, and the white-space between nodes in a stylesheet are ignored. I hope this helps. . . . . . . . . Ken <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0"> <!--don't preserve any comments that are followed by certain declarations--> <xsl:template match="comment()[following-sibling::node()[not(self::text())][1] [self::xs:element or self::xs:simpleType or self::xs:complexType]]"> <!--do nothing with this comment--> </xsl:template> <!--act on certain declarations preceded by comments--> <xsl:template match=" xs:element[preceding-sibling::node()[not(self::text())][1][self::comment()]] | xs:simpleType[preceding-sibling::node()[not(self::text())][1][self::comment()]] | xs:complexType[preceding-sibling::node()[not(self::text())][1][self::comment()]] "> <xsl:copy> <xsl:apply-templates select="@*"/> <xs:annotation> <xs:documentation> <p xmlns="http://purl.oclc.org/dsdl/schematron"> <xsl:value-of select="normalize-space(preceding-sibling::comment()[1])"/> </p> </xs:documentation> </xs:annotation> <xsl:apply-templates/> </xsl:copy> </xsl:template> <xsl:template match="@*|node()"><!--identity for all other nodes--> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet> -- Contact us for world-wide XML consulting and instructor-led training Free 5-hour lecture: http://www.CraneSoftwrights.com/links/udemy.htm Crane Softwrights Ltd. http://www.CraneSoftwrights.com/x/ G. Ken Holman mailto:gkholman@CraneSoftwrights.com Google+ profile: https://plus.google.com/116832879756988317389/about Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Received on Wednesday, 21 November 2012 20:01:17 UTC