[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: difficulty using xsl:analyze-string

Subject: Re: difficulty using xsl:analyze-string
From: "David Carlisle d.p.carlisle@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 18 Jul 2018 06:54:14 -0000
Re:  difficulty using xsl:analyze-string
On 18 July 2018 at 07:39, Mukul Gandhi gandhi.mukul@xxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> On Wed, Jul 18, 2018 at 11:35 AM, Liam R. E. Quin liam@xxxxxx
> <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>>
>> Remember that \ isn't special in XML or XPath strings, so your string
>> contains literal backslashes followed by lower case n. In a regular
>> expression \ is special however, so to match a literal backslash-n you
>> want \\n insteaf of \n.
>
>
> Thanks, Liam. Your suggestion solves my problem.
>
> I've some other questions as below, related to xsl:analyze-string,
>
> 1) The 1st example here, https://www.w3.org/TR/xslt20/#regex-examples
>
> specifies regex as \n. That probably got me wrong.

that example is matching a newline but you wanted to match the two characters \n

>
> 2) The output I receive, has <br> instead of <br/>. I specified <br/> in my
> stylesheet. The output I'm getting might be probably because, I have
> <xsl:output method="html"/> in the stylesheet.

yes /> is a syntax error in html4 and specified as invalid but ignored in html5

> When I change output spec to following, <xsl:output method="xhtml"/> I get
> <br></br> in the output.


you would get <br/> for an empty br in the xhtml namespace in xhtml output
but you output br in no-namespace.

>
> When I specify, xsl:output method="xhtml", the following is the complete
> output I get,
>
> <?xml version="1.0" encoding="UTF-8"?><html>
>    <head>
>       <title>test</title>
>    </head>
>    <body>hello world
>       <br></br>experimenting with XSLT
>       <br></br>how are you
>    </body>
> </html>
>
> Shouldn't an XHTML document begin with something like,
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>
> <html xmlns="http://www.w3.org/1999/xhtml">

to get that (which is a very last-century kind of document markup:-)
you need to output elements in the http://www.w3.org/1999/xhtml
namespace and specify that dtd in the attributes of xsl:output.



David

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.