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
|