xsl-list
[Top] [All Lists]

Re: [xsl] difficulty using xsl:analyze-string

2018-07-18 01:54:19
On 18 July 2018 at 07:39, Mukul Gandhi gandhi(_dot_)mukul(_at_)gmail(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
On Wed, Jul 18, 2018 at 11:35 AM, Liam R. E. Quin liam(_at_)w3(_dot_)org
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> 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
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--

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