home *** CD-ROM | disk | FTP | other *** search
/ developer.apple.com / developer.apple.com.tar / developer.apple.com / appleapplications / download / ctxmlsdk.dmg / ctxml / XSLT / cutlist.xsl < prev    next >
Extensible Markup Language  |  2007-11-06  |  5KB  |  141 lines

  1. <?xml version='1.0' encoding='utf-8'?>
  2. <!-- Cinema Tools XML to tab-delimited cut list with cuts only. Version 1.0-->
  3. <!-- Apple, Inc. ¬© 2007 -->
  4.  
  5. <!--================================-->
  6. <!-- Whitespace Entities -->
  7. <!--================================-->
  8. <!DOCTYPE stylesheet [
  9. <!ENTITY tab "<xsl:text xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> </xsl:text>">
  10. <!ENTITY newline "<xsl:text xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> </xsl:text>">
  11. <!ENTITY cr "<xsl:text xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> </xsl:text>">
  12. ]>
  13.  
  14. <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
  15.  
  16. <xsl:output method='text' version='1.0' encoding='utf-8' indent='yes'/>
  17.  
  18. <xsl:strip-space elements="*" />
  19.  
  20. <!-- overrides default template for matching text so no extraneous text is matched -->
  21. <xsl:template match="text()"></xsl:template>
  22.  
  23. <xsl:variable name="zIncludeDatabaseInfo">0</xsl:variable>
  24.  
  25. <xsl:variable name="zDashedLine">--------------------------------------------------------------------------------</xsl:variable>
  26.  
  27. <!--================================-->
  28. <!-- Root Elements -->
  29. <!--================================-->
  30. <xsl:template match="ctlists">
  31.     
  32. <!--================================-->
  33. <!-- Root-level Database Elements -->
  34. <!--================================-->
  35. <xsl:if test="$zIncludeDatabaseInfo=1">
  36. <!--Find all elements of ctlists that contain only a single text node.
  37.     This is a dynamic way of finding all ctlists metadata without explicitly calling out each one.-->
  38.     <xsl:call-template name="zHeading1"/>
  39.     
  40.     <xsl:for-each select="child::*[text()[last()=1]]">
  41.         <xsl:value-of select="."/>&tab;
  42.     </xsl:for-each>
  43. </xsl:if>
  44.     <xsl:apply-templates/>
  45. </xsl:template>
  46.  
  47. <!--================================-->
  48. <!-- CUT LIST -->
  49. <!--================================-->
  50. <xsl:template match="cutlist/items">
  51.     <xsl:call-template name="zHeadingList">
  52.         <xsl:with-param name="zHeaderName" select="'CUT LIST'"/>
  53.     </xsl:call-template>
  54.  
  55.     <xsl:text>type</xsl:text>&tab;
  56.     <xsl:text>eventnumber</xsl:text>&tab;
  57.     <xsl:text>runningfootagestart</xsl:text>&tab;
  58.     <xsl:text>runningfootagelength</xsl:text>&tab;
  59.     <xsl:text>runningfootageend</xsl:text>&tab;
  60.     <xsl:text>runningcountstart</xsl:text>&tab;
  61.     <xsl:text>runningcountlength</xsl:text>&tab;
  62.     <xsl:text>runningcountend</xsl:text>&tab;
  63.     <xsl:text>runningtimestart</xsl:text>&tab;
  64.     <xsl:text>runningtimelength</xsl:text>&tab;
  65.     <xsl:text>runningtimeend</xsl:text>&tab;
  66.     <xsl:text>runningtimerate</xsl:text>&tab;
  67.     <xsl:text>keycodereversed</xsl:text>&tab;
  68.     <xsl:text>keyprefix</xsl:text>&tab;
  69.     <xsl:text>keynumstart</xsl:text>&tab;
  70.     <xsl:text>keynumend</xsl:text>&tab;
  71.     <xsl:text>inkprefix</xsl:text>&tab;
  72.     <xsl:text>inknumstart</xsl:text>&tab;
  73.     <xsl:text>inknumend</xsl:text>&tab;
  74.     <xsl:text>sourcetimestart</xsl:text>&tab;
  75.     <xsl:text>sourcetimeend</xsl:text>&tab;
  76.     <xsl:text>sourcetimerate</xsl:text>&tab;
  77.     <xsl:text>filmstandard</xsl:text>&tab;
  78.     <xsl:text>note</xsl:text>&tab;
  79.     <xsl:text>videoreel</xsl:text>&tab;
  80.     <xsl:text>cameraroll</xsl:text>&tab;
  81.     <xsl:text>labroll</xsl:text>&tab;
  82.     <xsl:text>dailyroll</xsl:text>&tab;
  83.     <xsl:text>scene</xsl:text>&tab;
  84.     <xsl:text>take</xsl:text>&tab;
  85.     <xsl:text>clipname</xsl:text>&tab;
  86.     <xsl:text>hasduplicateusage</xsl:text>&tab;
  87.     <xsl:text>opticalnumber</xsl:text>&tab;
  88.     &newline;
  89.  
  90.     <xsl:for-each select="cut|gap|optical">
  91.         <xsl:value-of select="name()"/>&tab;
  92.         
  93.         <xsl:value-of select="eventnumber"/>&tab;
  94.         <xsl:value-of select="runningfootagestart"/>&tab;
  95.         <xsl:value-of select="runningfootagelength"/>&tab;
  96.         <xsl:value-of select="runningfootageend"/>&tab;
  97.         <xsl:value-of select="runningcountstart"/>&tab;
  98.         <xsl:value-of select="runningcountlength"/>&tab;
  99.         <xsl:value-of select="runningcountend"/>&tab;
  100.         <xsl:value-of select="runningtimestart"/>&tab;
  101.         <xsl:value-of select="runningtimelength"/>&tab;
  102.         <xsl:value-of select="runningtimeend"/>&tab;
  103.         <xsl:value-of select="runningtimerate"/>&tab;
  104.         <xsl:value-of select="keycodereversed"/>&tab;
  105.         <xsl:value-of select="keyprefix"/>&tab;
  106.         <xsl:value-of select="keynumstart"/>&tab;
  107.         <xsl:value-of select="keynumend"/>&tab;
  108.         <xsl:value-of select="inkprefix"/>&tab;
  109.         <xsl:value-of select="inknumstart"/>&tab;
  110.         <xsl:value-of select="inknumend"/>&tab;
  111.         <xsl:value-of select="sourcetimestart"/>&tab;
  112.         <xsl:value-of select="sourcetimeend"/>&tab;
  113.         <xsl:value-of select="sourcetimerate"/>&tab;
  114.         <xsl:value-of select="filmstandard"/>&tab;
  115.         <xsl:value-of select="note"/>&tab;
  116.         <xsl:value-of select="videoreel"/>&tab;
  117.         <xsl:value-of select="cameraroll"/>&tab;
  118.         <xsl:value-of select="labroll"/>&tab;
  119.         <xsl:value-of select="dailyroll"/>&tab;
  120.         <xsl:value-of select="scene"/>&tab;
  121.         <xsl:value-of select="take"/>&tab;
  122.         <xsl:value-of select="clipname"/>&tab;
  123.         <xsl:value-of select="hasduplicateusage"/>&tab;
  124.         <xsl:value-of select="opticalnumber"/>&tab;
  125.         &newline;
  126.     </xsl:for-each>
  127.  
  128. </xsl:template>
  129.  
  130. <!--================================-->
  131. <!-- NAMED TEMPLATES -->
  132. <!--================================-->
  133. <xsl:template name="zHeadingList">
  134.     <xsl:param name="zHeaderName">*DEFAULT LIST NAME*</xsl:param>
  135.     <xsl:value-of select="$zHeaderName"/>
  136.     &newline;
  137.     <xsl:value-of select="$zDashedLine"/>
  138.     &newline;
  139. </xsl:template>
  140.  
  141. </xsl:stylesheet>