Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

XML shows blank page when linking XSL

Tags:

xml

xslt

XML file:

<?xml version="1.0"  encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="biblio.xsl"?>

<bibliography>
    <entry type="article">
        <title>A History of MOOCs, Open Online Courses</title>
        <author>Jane Karr</author>
        <year>2014</year>
    </entry> 
    <entry type="article">
        <title>Apple Co-Founder Creates Electronic ID Tags</title>
        <author>John Markoff</author>
        <year>2003</year>
    </entry> 
</bibliography>

XSL file:

<?xml version="1.0"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

    <html>
        <body>
            <h2>Bibliography Entries</h2>
            <table border="1">
                <xsl:for-each select="bibliography/entry">
                    <tr>
                        <td><xsl:value-of select="title"/></td>
                        <td><xsl:value-of select="author"/></td>
                        <td><xsl:value-of select="year"/></td>
                    </tr>
                </xsl:for-each>
            </table>
        </body>
    </html>

</xsl:template>
</xsl:stylesheet>

If I don't link the XSLT file to the XML file, my XML file will output the tree structure in my browser's page but if I do link the XSLT file, it will show a blank page.

I am using Chrome, if it helps to know.

Thanks.

like image 759
Codemon Avatar asked Oct 30 '14 20:10

Codemon


People also ask

How do I link XML to XSLT?

Execute an XSLT transformation from an XML fileOpen an XML document in the XML editor. Associate an XSLT style sheet with the XML document. Add an xml-stylesheet processing instruction to the XML document.

Why XSL is not working in Chrome?

The reason this doesn't work is due to a security concern that Chrome has addressed in a controversial way, by blocking XML files from accessing local XSLT files in the same directory, while HTML files can access . CSS files in the same directory just fine.

How does XSL work with XML?

XSLT is used to transform XML document from one form to another form. XSLT uses Xpath to perform matching of nodes to perform these transformation . The result of applying XSLT to XML document could be an another XML document, HTML, text or any another document from technology perspective.

Which attribute links XSL stylesheet with the XML file?

The link-target attribute can appear on xsl:element , and xsl:text elements and (as xsl:link-target ) on literal result tree elements.


1 Answers

I assume you are loading the XML document from the file system and in that case Chrome for security reasons does not apply the linked XSLT, unless you start it with lowered security settings. Use F12 to open the browser console and check whether Chrome shows a message explaining why the Xslt was not applied.

like image 187
Martin Honnen Avatar answered Sep 22 '22 12:09

Martin Honnen