How to read plain text content with XSLT 1.0

前端 未结 1 943
孤独总比滥情好
孤独总比滥情好 2020-12-04 02:00

The source file contains

Hello World, this is a nice world

The output desired applying the XSLT to the input file:



        
相关标签:
1条回答
  • 2020-12-04 02:41

    It is not possible for the input document to be plain text because the input to an XSLT 1.0 transformation must be well-formed XML.

    Here are some alternative ways to access plain text in an XSLT transformation:

    • Use unparsed-text in XSLT 2.0.
    • Pass the plain text in via top-level parameters (xsl:param).
    • Preprocess the text file to turn it into a well-formed XML document.
    • Generate the XSLT file dynamically, possibly via a meta XSLT transformation, and include the plain text directly in the XSLT source. Then just use a dummy XML input file.
    • Reference the text file as an external entity in a wrapper XML document, and then process the wrapper XML document using XSLT.

    Here's an example of the external entity technique:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE wrapper [
    <!ENTITY textFile SYSTEM "file.txt">
    ]>
    <wrapper>&textFile;</wrapper>
    

    (Note that this last option could be challenging given XSLT 1.0's limited string processing abilities, but for some data, it may be viable.)

    0 讨论(0)
提交回复
热议问题