Subject: Re: [xsl] difficulty using xsl:analyze-string From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed, 18 Jul 2018 10:18:51 -0000 |
Note that you can achieve what you are doing in 3.0 using the unparsed-text-lines() function, and in 2.0 it can be done more simply using tokenize() -- 3.0 with expand-text=yes <xsl:for-each select="unparsed-text-lines('test.txt')">{.}<br/></xsl:for-each> 2.0: <xsl:for-each select="tokenize(unparsed-text('test.txt')), '\r\n'))"><xsl:value-of select="."/><br/></xsl:for-each> Michael Kay Saxonica > On 18 Jul 2018, at 11:06, Mukul Gandhi gandhi.mukul@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > Thanks, David for the clarifications. > > My modified XSLT transform is following, > > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform <http://www.w3.org/1999/XSL/Transform>" > version="2.0"> > > <xsl:output method="xhtml" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd <http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>" > doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/> > > <xsl:template match="/"> > <html xmlns="http://www.w3.org/1999/xhtml <http://www.w3.org/1999/xhtml>"> > <head> > <title>test</title> > </head> > <body> > <xsl:analyze-string select="unparsed-text('test.txt')" regex="\r\n"> > <xsl:matching-substring> > <br/> > </xsl:matching-substring> > <xsl:non-matching-substring> > <xsl:value-of select="."/> > </xsl:non-matching-substring> > </xsl:analyze-string> > </body> > </html> > </xsl:template> > > </xsl:stylesheet> > > Now I'm getting the result from transform, that I desired. > > Its worth mentioning about the regex in the xsl:analyze-string above. I'm now reading the input for xsl:analyze-string from a text file (the line delimiter is \r\n on windows), and don't have to write \\ in the regex. And that makes me understand your point, "that example is matching a newline but you wanted to match the two characters \n". > > On Wed, Jul 18, 2018 at 12:24 PM, David Carlisle d.p.carlisle@xxxxxxxxx <mailto:d.p.carlisle@xxxxxxxxx> <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx <mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>> wrote: > > 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 <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 <http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>"> > > > > <html xmlns="http://www.w3.org/1999/xhtml <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 <http://www.w3.org/1999/xhtml> > namespace and specify that dtd in the attributes of xsl:output. > > > > > > -- > Regards, > Mukul Gandhi > XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list> > EasyUnsubscribe <-list/293509> (by email <>)
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] difficulty using xsl:anal, David Carlisle d.p.c | Thread | Re: [xsl] difficulty using xsl:anal, Mukul Gandhi gandhi. |
Re: [xsl] difficulty using xsl:anal, David Carlisle d.p.c | Date | Re: [xsl] difficulty using xsl:anal, Mukul Gandhi gandhi. |
Month |