xsl-list
[Top] [All Lists]

Re: [xsl] Manipulating CDATA contents [SEC=UNCLASSIFIED]

2008-06-17 22:27:43
If your using xslt 2.0, you can use xsl:analyze-string.

<xsl:template match="DefinitionCDATA">
        <xsl:analyze-string select="." regex="[&gt;]">
                <xsl:matching-substring>
                        <xsl:sequence select="."/><br/>
                </xsl:matching-substring>
                <xsl:non-matching-substring>
                        <xsl:sequence select="."/>
                </xsl:non-matching-substring>
        </xsl:analyze-string>
</xsl:template>

On 06 18, 08, at 10:28 AM, Enrico(_dot_)Raymund(_at_)immi(_dot_)gov(_dot_)au 
wrote:


Hi,

I have an XSLT that converts XML to HTML:

XML Input:
==================
<DefinitionCDATA>
      <![CDATA[ <xsd:sequence>
                  <xsd:element ref="tns:GivenName"/>
                  <xsd:element ref="tns:LastName"/>
                  <xs:element ref="tns:Address"/>
                  <xsd:element ref="tns:Telephone"/>
                  <xsd:element ref="tns:Email"/>
      </xsd:sequence>]]>
</DefinitionCDATA>

Current HTML Output:
==================
&lt;xsd:sequence&gt;
&lt;xsd:element ref="tns:GivenName"/&gt;
&lt;xsd:element ref="tnsLastName"/&gt;
&lt;xs:element ref="tns:Address"/&gt;
&lt;xsd:element ref="tns:Telephone"/&gt;
&lt;xsd:element ref="tns:Email"/&gt;
&lt;/xsd:sequence/&gt;

which doesn't display nicely on a browser -- displayed without line breaks!

Desired HTML Output (not exactly pretty-print but at least line break at
the end of each xs: definition):
==================
&lt;xsd:sequence&gt;<br/>
&lt;xsd:element ref="tns:GivenName"/&gt;<br/>
&lt;xsd:element ref="tnsLastName"/&gt;<br/>
&lt;xs:element ref="tns:Address"/&gt;<br/>
&lt;xsd:element ref="tns:Telephone"/&gt;<br/>
&lt;xsd:element ref="tns:Email"/&gt;<br/>
&lt;/xsd:sequence/&gt;<br/>

The help I need is to be able to insert "<br/>" after each ">" in the CDATA
content.  I'll worry about the tabbing (pretty-printing) later.

Thanks in advance,

Enrico Raymundo
XML Architect
Technical Integration
Department of Immigration and Citizenship (DIAC)
The "G", 46-50 Hibberson Street
Gungahlin, ACT, 2912
Phone: (02) 6223 9604
Fax:  (02) 6223 9692


Important Notice: If you have received this email by mistake, please advise the sender and delete the message and attachments immediately. This email,
including attachments, may contain confidential, sensitive, legally
privileged and/or copyright information.  Any review, retransmission,
dissemination or other use of this information by persons or entities other than the intended recipient is prohibited. DIAC respects your privacy and
has obligations under the Privacy Act 1988. The official departmental
privacy policy can be viewed on the department's website at www.immi.gov.au
See: http://www.immi.gov.au/functional/privacy.htm



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


Jeferson L. Sese
jeferson dot sese at asiatype dot com
Asiatype Inc.
Suite 114 Columbia Tower
Ortigas Ave., Greenhills
Mandaluyong City 1550 Philippines
Tel: +632-744-6262
Mobile: +63927-671-7901




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>