Gestion des namespaces

Le point d'extension XHTMLSerializerExtensionPoint est lié à la charte graphique : le CMS Ametys supprime certains namespaces lors de la génération d'une page, et ne garde que ceux définis dans ce point d'extension.

Il s'agit d'un point d'extension multiple (c'est-à-dire qu'il permet de lister les éléments qui sont capables de définir une fonctionnalité) donc plusieurs valeurs peuvent être sélectionnées.

Par défaut, les extensions sont les suivantes :

 

ExtensionURLnamespace
org.ametys.plugins.socialnetworking.XHTMLSerializerExtensionPoint.google

http://base.google.com/ns/1.0 

xmlns:g="http://base.google.com/ns/1.0"

org.ametys.runtime.cocoon.XHTMLSerializerExtensionPoint.emptyNA

NA

 org.ametys.runtime.cocoon.XHTMLSerializerExtensionPoint.xhtml

http://www.w3.org/1999/xhtml
 

xml‎ns="http://www.w3.org/1999/xhtml"

 org.ametys.runtime.cocoon.XHTMLSerializerExtensionPoint.xml

http://www.w3.org/XML/1998/namespace 

xmlns:xml="http://www.w3.org/XML/1998/namespace"

 org.ametys.runtime.cocoon.XHTMLSerializerExtensionPoint.svg

http://www.w3.org/2000/svg

xmlns:svg="http://www.w3.org/2000/svg"

 org.ametys.runtime.cocoon.XHTMLSerializerExtensionPoint.mathmlhttp://www.w3.org/1998/Math/MathML xmlns:m="http://www.w3.org/1998/Math/MathML"

 

Pour ajouter un namespace autorisé, il faut créer un nouveau plugin (cf la page de création d'un plugin) et lui spécifier l'extension suivante :

 

<extension id="org.ametys.plugins.socialnetworking.XHTMLSerializerExtensionPoint.opengraph" point="org.ametys.runtime.cocoon.XHTMLSerializerExtensionPoint">
    <namespace-allowed>http://opengraphprotocol.org/schema/</namespace-allowed>
</extension>

Dans ce cas d'exemple, le namespace utilisé sera alors xmlns:og="http://opengraphprotocol.org/schema/".