[Home] [By Thread] [By Date] [Recent Entries]
At 2009-09-15 19:36 +0530, Amit Panwar wrote:
1). I want to copy some image files (jpeg, gif etc) from one directory to another directory. Standard XSLT does not provide a way of doing this for binary files because the data model only contains characters that are allowed in XML. For XML 1.0 there is a limited number of control characters (characters below U+0020), but even for XML 1.1 the NUL (U+0000) is still not available. For simple text files or HTML files I have successfully used XSLT 2 xsl:result-document, unparsed-text() and disable-output-escaping= to copy from one location to another. 2). In another transformation I'm reading a html files using unparsed-text() function, now html data can have any number of 'img' tags. unparsed-text() does not give you any element structure ... it only gives you a single text node in the data model. Any angle brackets found in the text file are not considered markup, only text. Hence the name "unparsed text" because the text you get is not parsed for markup. I want to use a loop to check all 'img' tags and want to change value of src attribute of each img tag - via string manipulation. The XPath data model on which XSLT is built does not give you the kind of information from an HTML file you are asking for. String htmlData; // varibale htmlData will have html contents of a files You would need to use something like <xsl:analyze-string> very labouriously in order to do the kind of manipulation you need to do. Are above two tasks doable in xslt? Not at all easily, because XSLT is the wrong tool for manipulating HTML ... it is suited for XHTML. Have you considered converting HTML to XHTML using Tidy? Then it would become a simple XSLT transformation because your input would then be XML. I hope this helps. . . . . . . . . . . . Ken -- Upcoming hands-on code list, UBL, XSLT, XQuery and XSL-FO classes. Interested in other classes? http://www.CraneSoftwrights.com/s/i/ Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video Video lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18 Video overview: http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18 G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal
|

Cart



