Portfolio

Soit le schéma ci-après permettant de gérer un portefeuille d'UV dans une université.

<?xml version="1.0" encoding="UTF-8"?>
<grammar 
    xmlns="http://relaxng.org/ns/structure/1.0"
    xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
    datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
    <start>
        <element name="portfolio">
            <oneOrMore>
                <element name="uv">
                    <element name="titre"><text/></element>
                    <optional>
                        <element name="description"><text/></element>
                    </optional>
                    <optional>
                        <element name="niveau">
                            <choice>
                                <value>maîtrise</value>                               
                                <value>bases</value>
                            </choice>
                        </element>
                    </optional>
                </element>
            </oneOrMore>
        </element>
    </start>
</grammar>

Produisez un fichier XML valide par rapport à ce schéma permettant de décrire un portfolio de trois UV.

<?xml version="1.0" encoding="UTF-8"?>
<portfolio>
    <uv>
        <titre>NF17</titre>
        <description>Conception des bases de données relationnelles et non-relationnelles</description>
        <niveau>maîtrise</niveau>
    </uv>
    <uv>
        <titre>NF29</titre>
        <description>Ingénierie documentaire</description>
    </uv>
    <uv>
        <titre>LO17</titre>
        <niveau>bases</niveau>        
    </uv>      
</portfolio>

Proposez un XPath permettant de trouver votre niveau en NF17.

/portfolio/uv[titre="NF17"]/niveau

Proposer un programme XSLT permettant de publier un portfolio en HTML.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
    <xsl:template match="/portfolio">
        <html>
            <head>
                <title>Portfolio</title>
                <meta content="text/html" charset="UTF-8"/>                
            </head>
            <body>
                <xsl:apply-templates select="uv"/>
            </body>
        </html>
    </xsl:template>
    <xsl:template match="uv">
        <h1><xsl:value-of select="titre"/> (<xsl:value-of select="niveau"/>)</h1>
        <p><xsl:value-of select="description"/></p>        
    </xsl:template>
</xsl:stylesheet>
AccueilExercice : Portfolio< PrécédentSuivant >