Включение изображений в XSL + XML - PullRequest
0 голосов
/ 07 декабря 2018

Я работаю над проектом для одного из моих классов, где мне нужно отобразить информацию о фильме, сгенерированную из XML-документа.При поиске других вопросов, которые могут касаться моего, я не совсем понял ответы, и решения ничего не изменили.Я хочу, чтобы я однажды сделал ссылку на изображения и создал для каждого экземпляра моего элемента «movie» экземпляр того, как он работает с заголовками и другими атрибутами и элементами.Вот пример элемента «movie» из моего кода XML:

<movie>
        <title title="L'Ile aux chiens" year="2018" language="English, Japanese" genre="Animation, Adventure, Comedy" imdb="tt5104604"/>
        <poster src="isle of dogs.png"/>
        <director>Wes Anderson</director>
        <writers names="Wes Anderson, Roman Coppola, Jason Schwartzman, Kunichi Nomura"/>
        <actors names="Bryan Cranston, Koyu Rankin, Edward Norton, Bob Balaban"/>
        <plot>Set in Japan, Isle of Dogs follows a boy's odyssey in search of his lost dog.</plot>
    </movie>

Вот код, который у меня есть для моего XSL:

     <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="4.0" indent="yes"/>
    <xsl:template match="/">
        <html>
            <head>
                <link rel="stylesheet" type="text/css" href="film_css.css"/>
                <title>Discography of Wes Anderson</title>
            </head>
            <body>
                <h1>Discography of Wes Anderson</h1>
                <xsl:for-each select="//movie">
                    <h3><xsl:value-of select="title/@title"/></h3>
                    <xsl:value-of select="//poster"/>
                        <img src="{src}"/>
                    <div id="infos">
                        <p>Year: <xsl:value-of select="title/@year"/></p>
                        <p>Writers: <xsl:value-of select="writers/@names"/></p>
                        <p>Actors: <xsl:value-of select="actors/@names"/></p>
                        <p>Plot: <xsl:value-of select="plot"/></p>
                    </div>
                </xsl:for-each> 
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>

Я все еще новичок для всехэтот материал для кодирования (я только начал в сентябре в начале своей степени магистра, я из лингвистического образования), так что было бы очень признательно, если бы какие-то ответы были для меня как бы тупыми!(Не очень, но вы знаете, как это для новичка.)

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

src не является дочерним элементом movie, вам нужно указать правильный путь до @src, например:

<img src="{poster/@src}"/>
0 голосов
/ 07 декабря 2018

вместо

<xsl:value-of select="//poster"/>
<img src="{src}"/>

используйте

<img src="{poster/@src}"/>

Вам просто нужно применить ту же логику, что вы уже сделали для Года, Авторов, Актеров и Сюжета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...