[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?xml version="1.0" encoding="iso-8859-1"?> 2 <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" > 3 <xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes" /> 4 <xsl:param name="fichier">nomdefichierbidon</xsl:param> 5 <xsl:variable name="wpkg" select="document('/var/www/se3/wpkg/xml/wpkg.xml')/wpkg"/> 6 <!-- 7 Ajoute les données de $fichier à wpkg.xml (destiné au client de gestion wpkg) 8 les noeuds déja existants de wpkg.xml qui provenaient de $fichier sont mis à jours ou effacés (pas dupliqués) 9 Peut s'utiliser à partir d'un fichier wpkg.xml vide : 10 <?xml version="1.0" encoding="iso-8859-1"?> 11 <wpkg /> 12 13 F="profiles.xml";xsltproc \-\-stringparam fichier "$F" -o wpkg.xml concat.xsl "$F" 14 15 --> 16 17 <xsl:template match="/"> 18 <!-- insère le noeud racine ( /wpkg )--> 19 <xsl:element name = "wpkg" > 20 <!-- insère le noeud des hosts ( /wpkg/wpkg )--> 21 <xsl:element name = "wpkg" > 22 <xsl:copy-of select = "$wpkg/wpkg/host[not(@fichier=$fichier)]" /> 23 <xsl:apply-templates select = "wpkg/host" mode="withFichier"/> 24 </xsl:element> 25 26 <!-- insère le noeud des profiles ( /wpkg/profiles )--> 27 <xsl:element name = "profiles" > 28 <xsl:copy-of select = "$wpkg/profiles/profile[not(@fichier=$fichier)]" /> 29 <xsl:apply-templates select = "profiles/profile" mode="withFichier"/> 30 </xsl:element> 31 32 <!-- insère le noeud des packages ( /wpkg/packages )--> 33 <xsl:element name = "packages" > 34 <xsl:copy-of select = "$wpkg/packages/package[not(@fichier=$fichier)]" /> 35 <xsl:apply-templates select = "packages/package" mode="withFichier"/> 36 </xsl:element> 37 </xsl:element> 38 </xsl:template> 39 40 <xsl:template match="/*/*" mode="withFichier"> 41 <!-- recopie les noeuds host, profile ou package en ajoutant le nom du fichier d'origine --> 42 <!-- 43 <xsl:comment> 44 <xsl:text> fichier=</xsl:text><xsl:value-of select="$fichier" /> 45 <xsl:text>, nodeName=</xsl:text><xsl:value-of select="name()" /> 46 <xsl:text>, name=</xsl:text><xsl:value-of select="@name" /> 47 <xsl:text>, id=</xsl:text><xsl:value-of select="@id" /> 48 </xsl:comment> 49 --> 50 <xsl:copy> 51 <!-- Mémorise le fichier source des données si ce n'est pas un des 3 fichiers profiles.xml, hosts.xml, packages.xml --> 52 <xsl:if test="contains($fichier, '/')"> 53 <xsl:attribute name="fichier" ><xsl:value-of select="$fichier" /></xsl:attribute> 54 </xsl:if> 55 <!-- recopie les attributs --> 56 <xsl:apply-templates select = "@*"/> 57 <xsl:copy-of select="*"/> 58 </xsl:copy> 59 </xsl:template> 60 61 <xsl:template match="*"> 62 <!-- recopie les noeuds --> 63 <xsl:copy-of select="." /> 64 </xsl:template> 65 66 <xsl:template match="@*"> 67 <!-- recopie les attributs --> 68 <xsl:copy /> 69 </xsl:template> 70 71 </xsl:stylesheet>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |