Subject: how to prevent xsl:copy collapsing <ll></ll> to <ll/> From: "Randall J. Parr" <RParr@xxxxxxxxxxxxxxxx> Date: Tue, 04 Apr 2000 11:15:52 -0500 |
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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Question about if statement in , David Carlisle | Thread | Re: how to prevent xsl:copy collaps, David Carlisle |
Re: <xsl:choose> <xsl:when> problem, David Carlisle | Date | "Translate function", Selva, Francis |
Month |