[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] how to prevent xsl:copy collapsing <ll></ll> to <ll/>
I am trying to convert one xml file to a very similar xml file wherein some of the original xml elements have default attributes added (if they are missing), etc. As most of my elements/nodes are passed through unchanged, I am trying to provide a "default" template that just copies the matched node through. To test xsl:copy I tried the following "identity" stylesheet: ---------------------------------------------------------------------------------------------------------------------- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet> ----------------------------------------------------------------------------------------------------------------------- This works EXCEPT 1) input of, for example, <Text></Text> is collapsed in the output to <Text/> How do I prevent this collapsing? 2) The original encoding and DOCTYPE information is lost. Is there anyway to copy this information through as well? I also tried the following variations with the same results ---------------------------------------------------------------------------------------------------------------- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="*"> <xsl:element name="{name(.)}" > <xsl:apply-templates select="*|@*|comment()|processing-instruction()|text()"/> </xsl:element> </xsl:template> <xsl:template match="@*|comment()|processing-instruction()|text()"> <xsl:copy> <xsl:apply-templates select="@*|comment()|processing-instruction()|text()"/> </xsl:copy> </xsl:template> </xsl:stylesheet> ------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="*|@*|comment()|processing-instruction()|text()"> <xsl:copy > <xsl:apply-templates select="*|@*|comment()|processing-instruction()|text()"/> </xsl:copy> </xsl:template> </xsl:stylesheet> -------------------------------------------------------------------------------------------------------------------- R.Parr TemporalArts 608.833.4578 RParr@xxxxxxxxxxxxxxxx XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|