RE: [xsl] Newline problems

Subject: RE: [xsl] Newline problems
From: "Vishwajit Pantvaidya" <pantvaidya@xxxxxxxxxxx>
Date: Thu, 01 May 2003 17:10:46 -0700
Thanks for your reply, Lars.

Actually, my entire output xml is empty, meaning most element tags exist without any values in the output xml.

Here is the source xml and the xsl in more detail:

<!DOCTYPE ABC [
...
]><ABC>
...
<info>
<attr>
<name>
ponumber</name>
<atomicValue>
12345</atomicValue>
</attr>
...
</info>
...
</ABC>



<?xml version = "1.0" encoding = "UTF-8"?>
<xsl:transform xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"; version = "1.0">
<xsl:template match = "ABC">
<xsl:text disable-output-escaping="yes">&lt;!DOCTYPE OrderProcessing&gt;</xsl:text>
<xsl:element name = "Order">
<xsl:element name ="Info">
<xsl:apply-templates mode = "Attribs" select = "/ABC/info"/>
</xsl:element>
</xsl:element>
</xsl:template>
...
<xsl:template mode = "Attribs" match = "info">
<xsl:element name = "PO_NUMBER">
<xsl:value-of select="attr/atomicValue[../name='ponumber']"/>
</xsl:element>
...
</xsl:template>
...
</xsl:transform>



About your query about xsl-output doctype-public, our source xml has an inline DTD. I understand that doctype-public or system are to be used if we have an external DTD. Is that correct?



Thanks,



Vishwajit.





From: "Lars Huttar" <lars_huttar@xxxxxxx>
Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Subject: RE: [xsl] Newline problems
Date: Thu, 1 May 2003 17:24:44 -0500

It's hard to tell, without seeing the part of your stylesheet that deals
with <attr>.
Where is it that you're expecting output but not getting it?

It looks like the <ABC> element should match the first (partial) template
you showed from your stylesheet, unless your XML source uses namespaces
that you haven't mentioned; and therefore should output a <!DOCTYPE ...>
declaration.  (By the way, have you considered using
<xsl:output doctype-public="..." doctype-system="..." /> ?)

Lars

> I am using xalan for xml to xml transformation. Input xml string
> has some DOS carriage return and/or line feeds introduced by
> the source
> application. The source xml string that I was trying to
> transform is like
> (exactly as is, including newlines)
>
> <!DOCTYPE ABC [
> ...
> ]><ABC>
> ...
> <attr>
> value</attr>
> ...
> </ABC>
>
> i.e. the newline was probably getting included in the value
> of the element
> "attr". Would such newlines yield the empty output xml I was getting?
> Xsl-strip space did not help. Finally, I had to write java
> code to strip the
> newlines from the source xml and then I started getting output xml
> correctly.
>
> Our xsl is like
>
> <?xml version = "1.0" encoding = "UTF-8"?>
> <xsl:transform xmlns:xsl = "http://www.w3.org/1999/XSL/Transform";
> version = "1.0">
> <xsl:template match = "ABC">
> <xsl:text disable-output-escaping="yes">&lt;!DOCTYPE
> OrderProcessing&gt;</xsl:text>
> ...
> <xsl:template mode = "Attribs" match = "ctrInfo">
> 	      <xsl:element name="ADDR">
> 		<xsl:value-of
> select="attribute/atomicValue[../name='ADDR']"/>
> 	      </xsl:element>
>
>
> Please help...


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list




_________________________________________________________________
The new MSN 8: smart spam protection and 2 months FREE* http://join.msn.com/?page=features/junkmail



XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread