<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<axsl:stylesheet xmlns:axsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:iso="http://purl.oclc.org/dsdl/schematron" xmlns:lom="http://ltsc.ieee.org/xsd/LOM" xmlns:lomfr="http://www.lom-fr.fr/xsd/LOMFR" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0"><!--Implementers: please note that overriding process-prolog or process-root is 
    the preferred method for meta-stylesheets to use where possible. The name or details of 
    this mode may change during 1Q 2007.-->


<!--PHASES-->


<!--PROLOG-->

   <axsl:output xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:svrl="http://purl.oclc.org/dsdl/svrl" method="xml" omit-xml-declaration="no" standalone="yes" indent="yes"/>

<!--KEYS-->


<!--DEFAULT RULES-->


<!--MODE: SCHEMATRON-FULL-PATH-->
<!--This mode can be used to generate an ugly though full XPath for locators-->

   <axsl:template match="*" mode="schematron-get-full-path">
      <axsl:apply-templates select="parent::*" mode="schematron-get-full-path"/>
      <axsl:text>/</axsl:text>
      <axsl:choose>
         <axsl:when test="namespace-uri()=''">
            <axsl:value-of select="name()"/>
         </axsl:when>
         <axsl:otherwise>
            <axsl:text>*:</axsl:text>
            <axsl:value-of select="local-name()"/>
            <axsl:text>[namespace-uri()='</axsl:text>
            <axsl:value-of select="namespace-uri()"/>
            <axsl:text>']</axsl:text>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:variable name="preceding" select="count(preceding-sibling::*[local-name()=local-name(current())                                   and namespace-uri() = namespace-uri(current())])"/>
      <axsl:text>[</axsl:text>
      <axsl:value-of select="1+ $preceding"/>
      <axsl:text>]</axsl:text>
   </axsl:template>
   <axsl:template match="@*" mode="schematron-get-full-path">
      <axsl:apply-templates select="parent::*" mode="schematron-get-full-path"/>
      <axsl:text>/</axsl:text>
      <axsl:choose>
         <axsl:when test="namespace-uri()=''">@sch:schema</axsl:when>
         <axsl:otherwise>
            <axsl:text>@*[local-name()='</axsl:text>
            <axsl:value-of select="local-name()"/>
            <axsl:text>' and namespace-uri()='</axsl:text>
            <axsl:value-of select="namespace-uri()"/>
            <axsl:text>']</axsl:text>
         </axsl:otherwise>
      </axsl:choose>
   </axsl:template>

<!--MODE: SCHEMATRON-FULL-PATH-2-->
<!--This mode can be used to generate prefixed XPath for humans-->

   <axsl:template match="node() | @*" mode="schematron-get-full-path-2">
      <axsl:for-each select="ancestor-or-self::*">
         <axsl:text>/</axsl:text>
         <axsl:value-of select="name(.)"/>
         <axsl:if test="preceding-sibling::*[name(.)=name(current())]">
            <axsl:text>[</axsl:text>
            <axsl:value-of select="count(preceding-sibling::*[name(.)=name(current())])+1"/>
            <axsl:text>]</axsl:text>
         </axsl:if>
      </axsl:for-each>
      <axsl:if test="not(self::*)">
         <axsl:text/>/@<axsl:value-of select="name(.)"/>
      </axsl:if>
   </axsl:template>

<!--MODE: GENERATE-ID-FROM-PATH -->

   <axsl:template match="/" mode="generate-id-from-path"/>
   <axsl:template match="text()" mode="generate-id-from-path">
      <axsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
      <axsl:value-of select="concat('.text-', 1+count(preceding-sibling::text()), '-')"/>
   </axsl:template>
   <axsl:template match="comment()" mode="generate-id-from-path">
      <axsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
      <axsl:value-of select="concat('.comment-', 1+count(preceding-sibling::comment()), '-')"/>
   </axsl:template>
   <axsl:template match="processing-instruction()" mode="generate-id-from-path">
      <axsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
      <axsl:value-of select="concat('.processing-instruction-', 1+count(preceding-sibling::processing-instruction()), '-')"/>
   </axsl:template>
   <axsl:template match="@*" mode="generate-id-from-path">
      <axsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
      <axsl:value-of select="concat('.@', name())"/>
   </axsl:template>
   <axsl:template match="*" mode="generate-id-from-path" priority="-0.5">
      <axsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
      <axsl:text>.</axsl:text>
      <axsl:choose>
         <axsl:when test="count(. | ../namespace::*) = count(../namespace::*)">
            <axsl:value-of select="concat('.namespace::-',1+count(namespace::*),'-')"/>
         </axsl:when>
         <axsl:otherwise>
            <axsl:value-of select="concat('.',name(),'-',1+count(preceding-sibling::*[name()=name(current())]),'-')"/>
         </axsl:otherwise>
      </axsl:choose>
   </axsl:template>

<!--MODE: GENERATE-ID-2 -->

   <axsl:template match="/" mode="generate-id-2">U</axsl:template>
   <axsl:template match="*" mode="generate-id-2" priority="2">
      <axsl:text>U</axsl:text>
      <axsl:number level="multiple" count="*"/>
   </axsl:template>
   <axsl:template match="node()" mode="generate-id-2">
      <axsl:text>U.</axsl:text>
      <axsl:number level="multiple" count="*"/>
      <axsl:text>n</axsl:text>
      <axsl:number count="node()"/>
   </axsl:template>
   <axsl:template match="@*" mode="generate-id-2">
      <axsl:text>U.</axsl:text>
      <axsl:number level="multiple" count="*"/>
      <axsl:text>_</axsl:text>
      <axsl:value-of select="string-length(local-name(.))"/>
      <axsl:text>_</axsl:text>
      <axsl:value-of select="translate(name(),':','.')"/>
   </axsl:template><!--Strip characters-->
   <axsl:template match="text()" priority="-1"/>

<!--SCHEMA METADATA-->

   <axsl:template match="/">
      <svrl:schematron-output xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" title="" schemaVersion="">
         <svrl:ns-prefix-in-attribute-values uri="http://ltsc.ieee.org/xsd/LOM" prefix="lom"/>
         <svrl:ns-prefix-in-attribute-values uri="http://www.lom-fr.fr/xsd/LOMFR" prefix="lomfr"/>
         <svrl:ns-prefix-in-attribute-values uri="http://www.w3.org/2001/XMLSchema-instance" prefix="xsi"/>
         <svrl:active-pattern>
            <axsl:attribute name="id">eltsObligatoires</axsl:attribute>
            <axsl:attribute name="name">Test de présence des éléments obligatoires</axsl:attribute>
            <axsl:apply-templates/>
         </svrl:active-pattern>
         <axsl:apply-templates select="/" mode="M5"/>
         <svrl:active-pattern>
            <axsl:attribute name="id">vocab</axsl:attribute>
            <axsl:attribute name="name">Tests de présence des balises source et value et de leurs valeurs pour chaque
			élément</axsl:attribute>
            <axsl:apply-templates/>
         </svrl:active-pattern>
         <axsl:apply-templates select="/" mode="M6"/>
      </svrl:schematron-output>
   </axsl:template>

<!--SCHEMATRON PATTERNS-->


<!--PATTERN eltsObligatoiresTest de présence des éléments obligatoires-->

   <svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema">Test de présence des éléments obligatoires</svrl:text>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:general" priority="3999" mode="M5">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:general"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:identifier/lom:catalog"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:identifier/lom:catalog">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Le document LOMFR doit avoir un
				identifiant dans un catalogue précisé.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:identifier/lom:entry"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:identifier/lom:entry">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Le document LOMFR doit avoir un identifiant.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:title/lom:string"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:title/lom:string">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Le document LOMFR doit présenter un
			titre.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M5"/>
   </axsl:template>
   <axsl:template match="text()" priority="-1" mode="M5"/>
   <axsl:template match="@*|node()" priority="-2" mode="M5">
      <axsl:choose><!--Housekeeping: SAXON warns if attempting to find the attribute
                           of an attribute-->
         <axsl:when test="not(@*)">
            <axsl:apply-templates select="node()" mode="M5"/>
         </axsl:when>
         <axsl:otherwise>
            <axsl:apply-templates select="@*|node()" mode="M5"/>
         </axsl:otherwise>
      </axsl:choose>
   </axsl:template>

<!--PATTERN vocabTests de présence des balises source et value et de leurs valeurs pour chaque
			élément-->

   <svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema">Tests de présence des balises source et value et de leurs valeurs pour chaque
			élément</svrl:text>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:general/lom:structure" priority="3993" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:general/lom:structure"/>
      <axsl:variable name="eltName" select="name(.)"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:value"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:value">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>",
				élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types vocabulaires
				doivent contenir un élément value.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:source"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:source">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément source. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:general/lom:structure/lom:source" priority="3992" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:general/lom:structure/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Le
				vocabulaire de cet élément est issu du LOM, il doit avoir comme source
			"LOMv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:general/lom:structure/lom:value" priority="3991" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:general/lom:structure/lom:value"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'atomic' or  text() = 'collection' or  text() = 'networked' or  text() = 'hierarchical' or text() = 'linear'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'atomic' or text() = 'collection' or text() = 'networked' or text() = 'hierarchical' or text() = 'linear'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text> Erreur catégorie "general", élément "structure" : Ce mot n'appartient pas au vocabulaire attaché à l'élément lom:structure. Les
				valeurs de ce vocabulaire sont : 'atomic', 'collection', 'networked', 'hierarchical'
				ou 'linear''</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:general/lom:aggregationLevel" priority="3990" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:general/lom:aggregationLevel"/>
      <axsl:variable name="eltName" select="name(.)"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:value"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:value">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>",
				élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types vocabulaires
				doivent contenir un élément value.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:source"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:source">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément source. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:general/lom:aggregationLevel/lom:source" priority="3989" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:general/lom:aggregationLevel/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Le
				vocabulaire de cet élément est issu du LOM, il doit avoir comme source
			"LOMv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:general/lom:aggregationLevel/lom:value" priority="3988" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:general/lom:aggregationLevel/lom:value"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = '1' or  text() = '2' or  text() = '3' or  text() = '4'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = '1' or text() = '2' or text() = '3' or text() = '4'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "general", élément "aggregationLevel" : Ce
				mot n'appartient pas au vocabulaire attaché à l'élément lom:aggregationLevel. Les
				valeurs de ce vocabulaire sont : '1', '2', '3' ou '4'</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:lifeCycle/lom:status" priority="3987" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:lifeCycle/lom:status"/>
      <axsl:variable name="eltName" select="name(.)"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:value"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:value">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>",
				élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types vocabulaires
				doivent contenir un élément value.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:source"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:source">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément source. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:lifeCycle/lom:status/lom:source" priority="3986" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:lifeCycle/lom:status/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Le
				vocabulaire de cet élément est issu du LOM, il doit avoir comme source
			"LOMv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:lifeCycle/lom:status/lom:value" priority="3985" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:lifeCycle/lom:status/lom:value"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'draft' or  text() = 'final' or  text() = 'revised' or  text() = 'unavailable'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'draft' or text() = 'final' or text() = 'revised' or text() = 'unavailable'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "lifeCycle", élément "status" : Ce mot n'appartient pas au vocabulaire attaché à l'élément lom:status. Les valeurs
				de ce vocabulaire sont : 'draft', 'final', 'revised' ou 'unavailable'</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:metaMetadata/lom:contribute/lom:role" priority="3984" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:metaMetadata/lom:contribute/lom:role"/>
      <axsl:variable name="eltName" select="name(.)"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:value"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:value">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>",
				élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types vocabulaires
				doivent contenir un élément value.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:source"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:source">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément source. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:metaMetadata/lom:contribute/lom:role/lom:source" priority="3983" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:metaMetadata/lom:contribute/lom:role/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Le
				vocabulaire de cet élément est issu du LOM, il doit avoir comme source
			"LOMv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:metaMetadata/lom:contribute/lom:role/lom:value" priority="3982" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:metaMetadata/lom:contribute/lom:role/lom:value"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'creator' or  text() = 'validator'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'creator' or text() = 'validator'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "metaMetadata", élément "role" : Ce mot n'appartient pas
				au vocabulaire attaché à l'élément lom:role. Les valeurs de ce vocabulaire sont :
				'creator' ou 'validator'</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:technical/lom:requirement/lom:orComposite/lom:type" priority="3981" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:technical/lom:requirement/lom:orComposite/lom:type"/>
      <axsl:variable name="eltName" select="name(.)"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:value"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:value">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>",
				élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types vocabulaires
				doivent contenir un élément value.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:source"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:source">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément source. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:technical/lom:requirement/lom:orComposite/lom:type/lom:source" priority="3980" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:technical/lom:requirement/lom:orComposite/lom:type/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Le
				vocabulaire de cet élément est issu du LOM, il doit avoir comme source
			"LOMv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:technical/lom:requirement/lom:orComposite/lom:type/lom:value" priority="3979" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:technical/lom:requirement/lom:orComposite/lom:type/lom:value"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'operating system' or  text() = 'browser'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'operating system' or text() = 'browser'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "technical", élément "type" : Ce mot
				n'appartient pas au vocabulaire attaché à l'élément lom:type. Les valeurs de ce
				vocabulaire sont : 'operating system' ou 'browser'</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:educational/lom:intendedEndUserRole" priority="3978" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:educational/lom:intendedEndUserRole"/>
      <axsl:variable name="eltName" select="name(.)"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:value"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:value">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>",
				élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types vocabulaires
				doivent contenir un élément value.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:source"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:source">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément source. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:educational/lom:intendedEndUserRole/lom:source" priority="3977" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:educational/lom:intendedEndUserRole/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Le
				vocabulaire de cet élément est issu du LOM, il doit avoir comme source
			"LOMv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:educational/lom:intendedEndUserRole/lom:value" priority="3976" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:educational/lom:intendedEndUserRole/lom:value"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'teacher' or  text() = 'author' or  text() = 'learner' or  text() = 'manager'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'teacher' or text() = 'author' or text() = 'learner' or text() = 'manager'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "educational", élément "intendedEndUserRole" : Ce mot n'appartient pas au vocabulaire attaché à l'élément lom:intendedEndUserRole.
				Les valeurs de ce vocabulaire sont : 'teacher', 'author', 'learner' ou
			'manager'</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:educational/lom:difficulty" priority="3975" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:educational/lom:difficulty"/>
      <axsl:variable name="eltName" select="name(.)"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:value"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:value">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>",
				élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types vocabulaires
				doivent contenir un élément value.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:source"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:source">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément source. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:educational/lom:difficulty/lom:source" priority="3974" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:educational/lom:difficulty/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Le
				vocabulaire de cet élément est issu du LOM, il doit avoir comme source
			"LOMv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:educational/lom:difficulty/lom:value" priority="3973" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:educational/lom:difficulty/lom:value"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'very easy' or  text() = 'easy' or  text() = 'medium' or  text() = 'difficult' or  text() = 'very difficult'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'very easy' or text() = 'easy' or text() = 'medium' or text() = 'difficult' or text() = 'very difficult'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "educational", élément "difficulty" : Ce mot n'appartient pas au vocabulaire attaché à l'élément lom:difficulty. Les
				valeurs de ce vocabulaire sont : 'very easy', 'easy', 'medium', 'difficult' ou 'very
				difficult'</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:rights/lom:cost" priority="3972" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:rights/lom:cost"/>
      <axsl:variable name="eltName" select="name(.)"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:value"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:value">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>",
				élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types vocabulaires
				doivent contenir un élément value.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:source"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:source">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément source. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:rights/lom:cost/lom:source" priority="3971" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:rights/lom:cost/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Le
				vocabulaire de cet élément est issu du LOM, il doit avoir comme source
			"LOMv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:rights/lom:cost/lom:value" priority="3970" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:rights/lom:cost/lom:value"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'yes' or  text() = 'no'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'yes' or text() = 'no'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "rights", élément "cost" : Ce mot n'appartient pas au
				vocabulaire attaché à l'élément lom:cost. Les valeurs de ce vocabulaire sont : 'yes'
				ou 'no'</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:rights/lom:copyrightAndOtherRestrictions" priority="3969" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:rights/lom:copyrightAndOtherRestrictions"/>
      <axsl:variable name="eltName" select="name(.)"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:value"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:value">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>",
				élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types vocabulaires
				doivent contenir un élément value.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:source"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:source">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément source. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:rights/lom:copyrightAndOtherRestrictions/lom:source" priority="3968" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:rights/lom:copyrightAndOtherRestrictions/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Le
				vocabulaire de cet élément est issu du LOM, il doit avoir comme source
			"LOMv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:rights/lom:copyrightAndOtherRestrictions/lom:value" priority="3967" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:rights/lom:copyrightAndOtherRestrictions/lom:value"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'yes' or  text() = 'no'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'yes' or text() = 'no'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "rights", élément "copyrightAndOtherRestrictions" : Ce mot n'appartient pas au
				vocabulaire attaché à l'élément lom:copyrightAndOtherRestrictions. Les valeurs de ce
				vocabulaire sont : 'yes' ou 'no'</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:classification/lom:purpose" priority="3966" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:classification/lom:purpose"/>
      <axsl:variable name="eltName" select="name(.)"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:value"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:value">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>",
				élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types vocabulaires
				doivent contenir un élément value.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:source"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:source">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément source. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:classification/lom:purpose/lom:source" priority="3965" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:classification/lom:purpose/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Le
				vocabulaire de cet élément est issu du LOM, il doit avoir comme source
			"LOMv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:classification/lom:purpose/lom:value" priority="3964" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:classification/lom:purpose/lom:value"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'discipline' or  text() = 'prerequisite' or  text() = 'educational objective' or  text() = 'accessibility restrictions' or  text() = 'educational level' or  text() = 'skill level' or  text() = 'security level' or  text() = 'competency'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'discipline' or text() = 'prerequisite' or text() = 'educational objective' or text() = 'accessibility restrictions' or text() = 'educational level' or text() = 'skill level' or text() = 'security level' or text() = 'competency'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "classification", élément "purpose" : Ce mot n'appartient pas au vocabulaire attaché à l'élément lom:purpose. Les valeurs
				de ce vocabulaire sont : 'discipline', 'prerequisite', 'educational objective',
				'accessibility restrictions', 'educational level', 'skill level', 'security level'
				ou 'competency'</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:general/lomfr:documentType" priority="3963" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:general/lomfr:documentType"/>
      <axsl:variable name="eltName" select="name(.)"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lomfr:value"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lomfr:value">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément value. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lomfr:source"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lomfr:source">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément source. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:general/lomfr:documentType/lomfr:source" priority="3962" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:general/lomfr:documentType/lomfr:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMFRv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMFRv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Le
				vocabulaire de cet élément est issu du LOMFR, il doit avoir comme source
			"LOMFRv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:general/lomfr:documentType/lomfr:value" priority="3961" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:general/lomfr:documentType/lomfr:value"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'collection' or  text() = 'ensemble de données' or  text() = 'évènement' or  text() = 'image' or  text() = 'image en mouvement' or  text() = 'image fixe' or  text() = 'logiciel'  or  text() = 'objet physique' or  text() = 'ressource interactive' or  text() = 'service' or  text() = 'son' or  text() = 'texte'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'collection' or text() = 'ensemble de données' or text() = 'évènement' or text() = 'image' or text() = 'image en mouvement' or text() = 'image fixe' or text() = 'logiciel' or text() = 'objet physique' or text() = 'ressource interactive' or text() = 'service' or text() = 'son' or text() = 'texte'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "general", élément "documentType" : Ce mot n'appartient pas au vocabulaire attaché à l'élément lomfr:documentType. Les
				valeurs de ce vocabulaire sont : 'collection', 'ensemble de données', 'évènement',
				'image', 'image en mouvement', 'image fixe', 'logiciel', 'objet physique',
				'ressource interactive', 'service', 'son' et 'texte'.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:educational/lomfr:activity" priority="3960" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:educational/lomfr:activity"/>
      <axsl:variable name="eltName" select="name(.)"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lomfr:value"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lomfr:value">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément value. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lomfr:source"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lomfr:source">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément source. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:educational/lomfr:activity/lomfr:source" priority="3959" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:educational/lomfr:activity/lomfr:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMFRv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMFRv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Le
				vocabulaire de cet élément est issu du LOMFR, il doit avoir comme source
			"LOMFRv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:educational/lomfr:activity/lomfr:value" priority="3958" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:educational/lomfr:activity/lomfr:value"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = &#34;animer&#34; or  text() = &#34;apprendre&#34; or  text() = &#34;collaborer&#34; or  text() = &#34;communiquer&#34; or  text() = &#34;coopérer&#34; or  text() = &#34;créer&#34; or  text() = &#34;échanger&#34; or  text() = &#34;lire&#34; or  text() = &#34;observer&#34; or  text() = &#34;organiser&#34; or  text() = &#34;produire&#34; or  text() = &#34;publier&#34; or  text() = &#34;rechercher&#34; or  text() = &#34;s'auto-former&#34; or  text() = &#34;s'exercer&#34; or  text() = &#34;se former&#34; or  text() = &#34;simuler&#34; or  text() = &#34;s'évaluer&#34;"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = &#34;animer&#34; or text() = &#34;apprendre&#34; or text() = &#34;collaborer&#34; or text() = &#34;communiquer&#34; or text() = &#34;coopérer&#34; or text() = &#34;créer&#34; or text() = &#34;échanger&#34; or text() = &#34;lire&#34; or text() = &#34;observer&#34; or text() = &#34;organiser&#34; or text() = &#34;produire&#34; or text() = &#34;publier&#34; or text() = &#34;rechercher&#34; or text() = &#34;s'auto-former&#34; or text() = &#34;s'exercer&#34; or text() = &#34;se former&#34; or text() = &#34;simuler&#34; or text() = &#34;s'évaluer&#34;">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "educational", élément "activity" : Ce mot n'appartient pas au vocabulaire attaché à l'élément lomfr:activity. Les
				valeurs de ce vocabulaire sont : 'animer', 'apprendre', 'collaborer', 'communiquer',
				'coopérer', 'créer', 'échanger', 'lire', 'observer', 'organiser', 'produire',
				'publier', 'rechercher', 's'auto-former', 's'exercer', 'se former', 'simuler' ou
				's'évaluer'.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:lifeCycle/lom:contribute/lom:role" priority="3957" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:lifeCycle/lom:contribute/lom:role"/>
      <axsl:variable name="eltName" select="name(.)"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:value"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:value">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>",
				élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types vocabulaires
				doivent contenir un élément value.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:source"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:source">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément source. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:lifeCycle/lom:contribute/lom:role[lom:value/text() = 'author' or  lom:value/text() = 'publisher' or  lom:value/text() = 'graphical designer' or  lom:value/text() = 'instructional designer' or  lom:value/text() = 'subject matter expert' or  lom:value/text() = 'content provider' or  lom:value/text() = 'technical implementer' or  lom:value/text() = 'unknown' or  lom:value/text() = 'initiator' or  lom:value/text() = 'editor' or  lom:value/text() = 'script writer' or  lom:value/text() = 'terminator' or  lom:value/text() = 'validator' or  lom:value/text() = 'educational validator' or  lom:value/text() = 'technical validator']/lom:source" priority="3956" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:lifeCycle/lom:contribute/lom:role[lom:value/text() = 'author' or  lom:value/text() = 'publisher' or  lom:value/text() = 'graphical designer' or  lom:value/text() = 'instructional designer' or  lom:value/text() = 'subject matter expert' or  lom:value/text() = 'content provider' or  lom:value/text() = 'technical implementer' or  lom:value/text() = 'unknown' or  lom:value/text() = 'initiator' or  lom:value/text() = 'editor' or  lom:value/text() = 'script writer' or  lom:value/text() = 'terminator' or  lom:value/text() = 'validator' or  lom:value/text() = 'educational validator' or  lom:value/text() = 'technical validator']/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Ce mot appartient à un vocabulaire issu du LOM, il
				doit avoir comme source "LOMv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:lifeCycle/lom:contribute/lom:role[lom:value/text() = 'contributeur']/lom:source" priority="3955" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:lifeCycle/lom:contribute/lom:role[lom:value/text() = 'contributeur']/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMFRv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMFRv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Ce mot appartient à un vocabulaire issu du LOMFR, il doit avoir comme source
				"LOMFRv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:technical/lom:requirement/lom:orComposite/lom:name" priority="3954" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:technical/lom:requirement/lom:orComposite/lom:name"/>
      <axsl:variable name="eltName" select="name(.)"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:value"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:value">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>",
				élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types vocabulaires
				doivent contenir un élément value.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:source"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:source">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément source. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:technical/lom:requirement/lom:orComposite/lom:name[lom:value/text() = 'pc-dos' or  lom:value/text() = 'ms-windows' or  lom:value/text() = 'macos' or  lom:value/text() = 'unix' or  lom:value/text() = 'multi-os' or  lom:value/text() = 'none' or lom:value/text() = 'any' or  lom:value/text() = 'opera' or  lom:value/text() = 'ms-internet explorer' or  lom:value/text() = 'amaya' or  lom:value/text() = 'netscape communicator']/lom:source" priority="3953" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:technical/lom:requirement/lom:orComposite/lom:name[lom:value/text() = 'pc-dos' or  lom:value/text() = 'ms-windows' or  lom:value/text() = 'macos' or  lom:value/text() = 'unix' or  lom:value/text() = 'multi-os' or  lom:value/text() = 'none' or lom:value/text() = 'any' or  lom:value/text() = 'opera' or  lom:value/text() = 'ms-internet explorer' or  lom:value/text() = 'amaya' or  lom:value/text() = 'netscape communicator']/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Ce mot appartient à un vocabulaire issu du LOM, il
				doit avoir comme source "LOMv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:technical/lom:requirement/lom:orComposite/lom:name[lom:value/text() = 'linux' or lom:value/text() = 'firefox' or lom:value/text() = 'safari']/lom:source" priority="3952" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:technical/lom:requirement/lom:orComposite/lom:name[lom:value/text() = 'linux' or lom:value/text() = 'firefox' or lom:value/text() = 'safari']/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMFRv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMFRv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Ce mot appartient à un vocabulaire issu du LOMFR, il doit avoir comme source
				"LOMFRv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:technical/lom:requirement/lom:orComposite[lom:type/lom:value = 'operating system']/lom:name/lom:value" priority="3951" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:technical/lom:requirement/lom:orComposite[lom:type/lom:value = 'operating system']/lom:name/lom:value"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'pc-dos' or  text() = 'ms-windows' or  text() = 'macos' or  text() = 'unix' or  text() = 'multi-os' or  text() = 'none' or text() = 'linux'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'pc-dos' or text() = 'ms-windows' or text() = 'macos' or text() = 'unix' or text() = 'multi-os' or text() = 'none' or text() = 'linux'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "technical", élément "name" : Ce vocabulaire est lié au système d'exploitation (type = 'operating system') et non
				au navigateur (type = 'browser').</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:technical/lom:requirement/lom:orComposite[lom:type/lom:value = 'browser']/lom:name/lom:value" priority="3950" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:technical/lom:requirement/lom:orComposite[lom:type/lom:value = 'browser']/lom:name/lom:value"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'any' or  text() = 'opera' or  text() = 'ms-internet explorer' or  text() = 'amaya' or  text() = 'netscape communicator' or text() = 'firefox' or text() = 'safari'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'any' or text() = 'opera' or text() = 'ms-internet explorer' or text() = 'amaya' or text() = 'netscape communicator' or text() = 'firefox' or text() = 'safari'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "technical", élément "name" : Ce vocabulaire est lié au navigateur (type = 'browser') et non au système
				d'exploitation (type = 'operating system').</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:educational/lom:learningResourceType" priority="3949" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:educational/lom:learningResourceType"/>
      <axsl:variable name="eltName" select="name(.)"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:value"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:value">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>",
				élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types vocabulaires
				doivent contenir un élément value.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:source"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:source">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément source. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:educational/lom:learningResourceType[lom:value/text() = 'exercise' or lom:value/text() = 'simulation' or lom:value/text() = 'questionnaire' or lom:value/text() = 'exam' or lom:value/text() = 'experiment' or lom:value/text() = 'lecture']/lom:source" priority="3948" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:educational/lom:learningResourceType[lom:value/text() = 'exercise' or lom:value/text() = 'simulation' or lom:value/text() = 'questionnaire' or lom:value/text() = 'exam' or lom:value/text() = 'experiment' or lom:value/text() = 'lecture']/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Ce mot appartient à un vocabulaire issu du LOM, il
				doit avoir comme source "LOMv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:educational/lom:learningResourceType[lom:value/text() = 'démonstration' or lom:value/text() = 'évaluation' or lom:value/text() = 'animation' or lom:value/text() = 'tutoriel' or lom:value/text() = 'glossaire' or lom:value/text() = 'guide' or lom:value/text() = 'matériel de référence' or lom:value/text() = 'méthodologie' or lom:value/text() = 'outil' or lom:value/text() = 'scénario pédagogique']/lom:source" priority="3947" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:educational/lom:learningResourceType[lom:value/text() = 'démonstration' or lom:value/text() = 'évaluation' or lom:value/text() = 'animation' or lom:value/text() = 'tutoriel' or lom:value/text() = 'glossaire' or lom:value/text() = 'guide' or lom:value/text() = 'matériel de référence' or lom:value/text() = 'méthodologie' or lom:value/text() = 'outil' or lom:value/text() = 'scénario pédagogique']/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMFRv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMFRv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Ce mot appartient à un vocabulaire issu du LOMFR, il doit avoir comme source
				"LOMFRv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:educational/lom:learningResourceType/lom:value" priority="3946" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:educational/lom:learningResourceType/lom:value"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'exercise' or text() = 'simulation' or text() = 'questionnaire' or text() = 'exam' or text() = 'experiment' or text() = 'lecture' or text() = 'démonstration' or text() = 'évaluation' or text() = 'animation' or text() = 'tutoriel' or text() = 'glossaire' or text() = 'guide' or text() = 'matériel de référence' or text() = 'méthodologie' or text() = 'outil' or text() = 'scénario pédagogique'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'exercise' or text() = 'simulation' or text() = 'questionnaire' or text() = 'exam' or text() = 'experiment' or text() = 'lecture' or text() = 'démonstration' or text() = 'évaluation' or text() = 'animation' or text() = 'tutoriel' or text() = 'glossaire' or text() = 'guide' or text() = 'matériel de référence' or text() = 'méthodologie' or text() = 'outil' or text() = 'scénario pédagogique'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text> Erreur catégorie "educational", élément "learningResourceType" : Ce mot n'appartient pas au vocabulaire attaché à l'élément
				lom:learningResourceType. Les valeurs de ce vocabulaire sont : 'exercise',
				'simulation', 'questionnaire', 'exam', 'experiment', 'lecture', 'démonstration',
				'évaluation', 'animation', 'tutoriel', 'glossaire', 'guide', 'matériel de
				référence', 'méthodologie', 'outil', 'scénario pédagogique' .</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:educational/lom:context" priority="3945" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:educational/lom:context"/>
      <axsl:variable name="eltName" select="name(.)"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:value"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:value">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>",
				élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types vocabulaires
				doivent contenir un élément value.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:source"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:source">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément source. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:educational/lom:context[lom:value/text() = 'school' or  lom:value/text() = 'higher education' or  lom:value/text() = 'training' or  lom:value/text() = 'other']/lom:source" priority="3944" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:educational/lom:context[lom:value/text() = 'school' or  lom:value/text() = 'higher education' or  lom:value/text() = 'training' or  lom:value/text() = 'other']/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Ce mot appartient à un vocabulaire issu du LOM, il
				doit avoir comme source "LOMv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:educational/lom:context[lom:value/text() = 'enseignement primaire' or lom:value/text() = 'enseignement secondaire' or lom:value/text() = 'licence' or lom:value/text() = 'mastère' or lom:value/text() = 'doctorat' or lom:value/text() = 'formation continue' or lom:value/text() = 'formation en entreprise']/lom:source" priority="3943" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:educational/lom:context[lom:value/text() = 'enseignement primaire' or lom:value/text() = 'enseignement secondaire' or lom:value/text() = 'licence' or lom:value/text() = 'mastère' or lom:value/text() = 'doctorat' or lom:value/text() = 'formation continue' or lom:value/text() = 'formation en entreprise']/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMFRv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMFRv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Ce mot appartient à un vocabulaire issu du LOMFR, il doit avoir comme source
				"LOMFRv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:relation/lom:kind" priority="3942" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:relation/lom:kind"/>
      <axsl:variable name="eltName" select="name(.)"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:value"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:value">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>",
				élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types vocabulaires
				doivent contenir un élément value.</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="lom:source"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="lom:source">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : les éléments de types
				vocabulaires doivent contenir un élément source. </svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:relation/lom:kind[lom:value/text() = 'ispartof' or  lom:value/text() = 'haspart' or  lom:value/text() = 'isversionof' or  lom:value/text() = 'hasversion' or  lom:value/text() = 'isformatof' or  lom:value/text() = 'hasformat' or  lom:value/text() = 'references' or  lom:value/text() = 'isreferencedby' or  lom:value/text() = 'isbasedon' or  lom:value/text() = 'isbasisfor' or  lom:value/text() = 'requires' or  lom:value/text() = 'isrequiredby']/lom:source" priority="3941" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:relation/lom:kind[lom:value/text() = 'ispartof' or  lom:value/text() = 'haspart' or  lom:value/text() = 'isversionof' or  lom:value/text() = 'hasversion' or  lom:value/text() = 'isformatof' or  lom:value/text() = 'hasformat' or  lom:value/text() = 'references' or  lom:value/text() = 'isreferencedby' or  lom:value/text() = 'isbasedon' or  lom:value/text() = 'isbasisfor' or  lom:value/text() = 'requires' or  lom:value/text() = 'isrequiredby']/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Ce mot appartient à un vocabulaire issu du LOM, il
				doit avoir comme source "LOMv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>

	<!--RULE -->

   <axsl:template match="/lom:lom/lom:relation/lom:kind[lom:value/text() = &#34;est associée à&#34; or lom:value/text() = &#34;est la traduction de&#34; or lom:value/text() = &#34;fait l'objet d’une traduction&#34; or lom:value/text() = &#34;est la localisation de&#34; or lom:value/text() = &#34;fait l'objet d’une localisation&#34; or lom:value/text() = &#34;est pré-requis de&#34; or lom:value/text() = &#34;a pour pré-requis&#34;]/lom:source" priority="3940" mode="M6">
      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" context="/lom:lom/lom:relation/lom:kind[lom:value/text() = &#34;est associée à&#34; or lom:value/text() = &#34;est la traduction de&#34; or lom:value/text() = &#34;fait l'objet d’une traduction&#34; or lom:value/text() = &#34;est la localisation de&#34; or lom:value/text() = &#34;fait l'objet d’une localisation&#34; or lom:value/text() = &#34;est pré-requis de&#34; or lom:value/text() = &#34;a pour pré-requis&#34;]/lom:source"/>
      <axsl:variable name="eltName" select="name(parent::node())"/>
      <axsl:variable name="nbAncestor" select="count(ancestor::node())"/>
      <axsl:variable name="categorieName" select="name(ancestor::node()[$nbAncestor - 2])"/>

		<!--ASSERT -->

      <axsl:choose>
         <axsl:when test="text() = 'LOMFRv1.0'"/>
         <axsl:otherwise>
            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:xs="http://www.w3.org/2001/XMLSchema" test="text() = 'LOMFRv1.0'">
               <axsl:attribute name="location">
                  <axsl:apply-templates select="." mode="schematron-get-full-path"/>
               </axsl:attribute>
               <svrl:text>Erreur catégorie "<axsl:text/>
                  <axsl:value-of select="$categorieName"/>
                  <axsl:text/>", élément "<axsl:text/>
                  <axsl:value-of select="$eltName"/>
                  <axsl:text/>" : Ce mot appartient à un vocabulaire issu du LOMFR, il doit avoir comme source
				"LOMFRv1.0"</svrl:text>
            </svrl:failed-assert>
         </axsl:otherwise>
      </axsl:choose>
      <axsl:apply-templates select="@*|*|comment()|processing-instruction()" mode="M6"/>
   </axsl:template>
   <axsl:template match="text()" priority="-1" mode="M6"/>
   <axsl:template match="@*|node()" priority="-2" mode="M6">
      <axsl:choose><!--Housekeeping: SAXON warns if attempting to find the attribute
                           of an attribute-->
         <axsl:when test="not(@*)">
            <axsl:apply-templates select="node()" mode="M6"/>
         </axsl:when>
         <axsl:otherwise>
            <axsl:apply-templates select="@*|node()" mode="M6"/>
         </axsl:otherwise>
      </axsl:choose>
   </axsl:template>
</axsl:stylesheet>
