Attachment 'metamarkers.xsl'

Download

   1 <?xml version="1.0" encoding="UTF-8"?>
   2 <xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml"
   3                               xmlns:html="http://www.w3.org/1999/xhtml"
   4                               xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   5                               xmlns:msxsl="urn:schemas-microsoft-com:xslt"
   6                               xmlns:wwmode="urn:WebWorks-Engine-Mode"
   7                               xmlns:wwlinks="urn:WebWorks-Engine-Links-Schema"
   8                               xmlns:wwfiles="urn:WebWorks-Engine-Files-Schema"
   9                               xmlns:wwdoc="urn:WebWorks-Document-Schema"
  10                               xmlns:wwsplits="urn:WebWorks-Engine-Splits-Schema"
  11                               xmlns:wwtoc="urn:WebWorks-Engine-TOC-Schema"
  12                               xmlns:wwbehaviors="urn:WebWorks-Behaviors-Schema"
  13                               xmlns:wwnotes="urn:WebWorks-Footnote-Schema"
  14                               xmlns:wwproject="urn:WebWorks-Publish-Project"
  15                               xmlns:wwpage="urn:WebWorks-Page-Template-Schema"
  16                               xmlns:wwlocale="urn:WebWorks-Locale-Schema"
  17                               xmlns:wwprogress="urn:WebWorks-XSLT-Extension-Progress"
  18                               xmlns:wwlog="urn:WebWorks-XSLT-Extension-Log"
  19                               xmlns:wwfilesystem="urn:WebWorks-XSLT-Extension-FileSystem"
  20                               xmlns:wwuri="urn:WebWorks-XSLT-Extension-URI"
  21                               xmlns:wwstring="urn:WebWorks-XSLT-Extension-StringUtilities"
  22                               xmlns:wwunits="urn:WebWorks-XSLT-Extension-Units"
  23                               xmlns:wwfilesext="urn:WebWorks-XSLT-Extension-Files"
  24                               xmlns:wwprojext="urn:WebWorks-XSLT-Extension-Project"
  25                               xmlns:wwimaging="urn:WebWorks-XSLT-Extension-Imaging"
  26                               xmlns:wwexsldoc="urn:WebWorks-XSLT-Extension-Document"
  27                               xmlns:wwdatetime="urn:WebWorks-Date-Time-Extension"
  28                               exclude-result-prefixes="xsl msxsl wwmode wwlinks wwfiles wwdoc wwsplits wwtoc wwbehaviors wwnotes wwproject wwpage wwlocale wwprogress wwlog wwfilesystem wwuri wwstring wwunits wwfilesext wwprojext wwimaging wwexsldoc wwdatetime"
  29 >
  30  <xsl:key name="wwbehaviors-meta-by-name" match="wwbehaviors:META" use="@name" />
  31 
  32 
  33  <xsl:template name="METAMarkers-Conditions">
  34   <xsl:param name="ParamBehaviors" />
  35   <xsl:param name="ParamSplit" />
  36 
  37   <xsl:variable name="VarMETADocumentMarkers" select="$ParamBehaviors//wwbehaviors:Marker[@behavior = 'meta-document']/wwdoc:Marker" />
  38   <xsl:variable name="VarMETASplitMarkers" select="$ParamBehaviors/wwbehaviors:Behaviors/wwbehaviors:Split[@id = $ParamSplit/@id]//wwbehaviors:Marker[@behavior = 'meta-split']/wwdoc:Marker" />
  39   <xsl:variable name="VarMETAMarkers" select="$VarMETADocumentMarkers | $VarMETASplitMarkers" />
  40 
  41   <xsl:if test="count($VarMETAMarkers[1]) > 0">
  42    <wwpage:Condition name="meta-markers-exist" />
  43   </xsl:if>
  44  </xsl:template>
  45 
  46 
  47  <xsl:template name="METAMarkers-Replacements">
  48   <xsl:param name="ParamBehaviors" />
  49   <xsl:param name="ParamSplit" />
  50 
  51   <xsl:variable name="VarMETADocumentMarkers" select="$ParamBehaviors//wwbehaviors:Marker[@behavior = 'meta-document']/wwdoc:Marker" />
  52   <xsl:variable name="VarMETASplitMarkers" select="$ParamBehaviors/wwbehaviors:Behaviors/wwbehaviors:Split[@id = $ParamSplit/@id]//wwbehaviors:Marker[@behavior = 'meta-split']/wwdoc:Marker" />
  53   <xsl:variable name="VarMETAMarkers" select="$VarMETADocumentMarkers | $VarMETASplitMarkers" />
  54 
  55   <!-- All META tag names -->
  56   <!--                    -->
  57   <xsl:variable name="VarMETATagNamesAsXML">
  58    <xsl:for-each select="$VarMETAMarkers">
  59     <xsl:variable name="VarMETAMarker" select="." />
  60 
  61     <wwbehaviors:META name="{$VarMETAMarker/@name}" />
  62    </xsl:for-each>
  63   </xsl:variable>
  64   <xsl:variable name="VarMETATagNames" select="msxsl:node-set($VarMETATagNamesAsXML)/*" />
  65 
  66   <!-- Unique META tag names -->
  67   <!--                       -->
  68   <xsl:variable name="VarUniqueMETATagNamesAsXML">
  69    <xsl:for-each select="$VarMETATagNames">
  70     <xsl:variable name="VarMETATagName" select="." />
  71 
  72     <!-- Take first unique entry -->
  73     <!--                         -->
  74     <xsl:if test="count($VarMETATagName | key('wwbehaviors-meta-by-name', $VarMETATagName/@name)[1]) = 1">
  75      <xsl:copy-of select="$VarMETATagName" />
  76     </xsl:if>
  77    </xsl:for-each>
  78   </xsl:variable>
  79   <xsl:variable name="VarUniqueMETATagNames" select="msxsl:node-set($VarUniqueMETATagNamesAsXML)/*" />
  80 
  81   <wwpage:Replacement name="meta-markers">
  82    <xsl:for-each select="$VarUniqueMETATagNames">
  83     <xsl:variable name="VarMETATagName" select="." />
  84 
  85     <!-- Define the META tag content -->
  86     <!--                             -->
  87     <xsl:variable name="VarMETATagContent">
  88      <xsl:for-each select="$VarMETAMarkers[@name = $VarMETATagName/@name]">
  89       <xsl:variable name="VarMETAMarker" select="." />
  90 
  91       <xsl:for-each select="$VarMETAMarker/wwdoc:TextRun/wwdoc:Text">
  92        <xsl:variable name="VarText" select="." />
  93 
  94        <xsl:value-of select="$VarText/@value" />
  95       </xsl:for-each>
  96 
  97       <xsl:if test="position() &lt; last()">
  98        <xsl:text>,</xsl:text>
  99       </xsl:if>
 100      </xsl:for-each>
 101     </xsl:variable>
 102 
 103     <html:meta name="{$VarMETATagName/@name}" content="{$VarMETATagContent}" />
 104    </xsl:for-each>
 105   </wwpage:Replacement>
 106  </xsl:template>
 107 </xsl:stylesheet>

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2008-02-13 06:16:03, 19.5 KB) [[attachment:META Tags.doc]]
  • [get | view] (2008-02-13 06:16:03, 35.6 KB) [[attachment:MetaTags Project Format Overrides.zip]]
  • [get | view] (2008-02-13 06:16:03, 36.2 KB) [[attachment:Project Format Overrides.zip]]
  • [get | view] (2008-02-13 06:16:03, 1.0 KB) [[attachment:datetime.xsl]]
  • [get | view] (2008-02-13 06:16:03, 5.5 KB) [[attachment:metamarkers.xsl]]
 All files | Selected Files: delete move to page

You are not allowed to attach a file to this page.