|
Subject: Re: [xsl] Converting attribute value to XML! From: "Rui Alberto L." Gonçalves <rui-l-goncalves@xxxxxxxxxxxxx> Date: 23 Jan 2004 16:48:37 +0000 |
Thanks Ken, it's working ok now....
Cheers,
Rui
On Fri, 2004-01-23 at 16:19, G. Ken Holman wrote:
> At 2004-01-23 15:28 +0000, Rui Alberto L." Gonçalves wrote:
> >I have a document that looks like:
> >
> ><result>
> > <filed name="xpto" value="<elem>Hello<elem>"/>
> ></result>
> >
> >and I want to transform to :
> ><result>
> > <filed name="xpto">Hello</elem>
> ></result>
>
> That isn't well-formed so it isn't XML ... do you mean
>
> <result>
> <filed name="xpto"><elem>Hello</elem></filed>
> </result>
>
> If so, it is a small change to your stylesheet:
>
> >I tried:
> >
> ><xsl:template match="*">
> > <xsl:element name="{name()}">
> > <xsl:apply-templates select="node()|@*"/>
> > </xsl:element>
> ></xsl:template>
> >
> ><xsl:template match="filed">
> > <xsl:element name="filed">
>
> You are missing the preservation of the name attribute:
>
> <xsl:copy-of select="@name"/>
>
> > <xsl:value-of select ="@value"/>
>
> Change the above to:
>
> <xsl:value-of disable-output-escaping="yes" select="@value"/>
>
> > </xsl:element>
> ></xsl:template>
> >
> >but entities are not resolved. Any idea?
>
> Resolved? The entities represent text characters and in your old
> stylesheet they went out as text characters so they had to be escaped. By
> turning off escaping you get what you want, but two caveats:
>
> (1) - a processor is not obliged to respect d-o-e=
>
> (2) - you can produce a non-well-formed result that isn't XML if you
> have "bad" data in your text of your input
>
> If you avoid d-o-e= then your output will *always* be well-formed XML.
>
> I hope this helps.
>
> .................... Ken
>
> t:\ftemp>type rui.xml
> <result>
> <filed name="xpto" value="<elem>Hello<elem>"/>
> </result>
>
> t:\ftemp>type rui.xsl
> <?xml version="1.0" encoding="iso-8859-1"?>
> <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="node()|@*"/>
> </xsl:element>
> </xsl:template>
>
> <xsl:template match="filed">
> <xsl:element name="filed">
> <xsl:copy-of select="@name"/>
> <xsl:value-of select ="@value" disable-output-escaping="yes"/>
> </xsl:element>
> </xsl:template>
>
> </xsl:stylesheet>
> t:\ftemp>saxon rui.xml rui.xsl
> <?xml version="1.0" encoding="utf-8"?><result>
> <filed name="xpto"><elem>Hello<elem></filed>
> </result>
> t:\ftemp>
>
>
> --
> Public courses: sign up for one or both soon to reserve your seat!
> Each week: Monday-Wednesday: XSLT/XPath; Thursday-Friday: XSL-FO
> Washington, DC: 2004-03-15 San Francisco, CA: 2004-03-22
> Hong Kong, China: 2004-05-17 Bremen, Germany: 2004-05-24
> World-wide on-site corporate, government & user group XML training
>
> G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
> Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
> Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
> Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
--
Rui Alberto L. Gonçalves <rui-l-goncalves@xxxxxxxxxxxxx>
PT Inovação
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Converting attribute valu, G. Ken Holman | Thread | RE: [xsl] Converting attribute valu, Amuchastegui, Maria |
| RE: [xsl] Converting attribute valu, Amuchastegui, Maria | Date | Re: [xsl] Creating nested structure, Wendell Piez |
| Month |