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 >
Wrap
Extensible Markup Language
|
2007-11-06
|
5KB
|
141 lines
<?xml version='1.0' encoding='utf-8'?>
<!-- Cinema Tools XML to tab-delimited cut list with cuts only. Version 1.0-->
<!-- Apple, Inc. © 2007 -->
<!--================================-->
<!-- Whitespace Entities -->
<!--================================-->
<!DOCTYPE stylesheet [
<!ENTITY tab "<xsl:text xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> </xsl:text>">
<!ENTITY newline "<xsl:text xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> </xsl:text>">
<!ENTITY cr "<xsl:text xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> </xsl:text>">
]>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:output method='text' version='1.0' encoding='utf-8' indent='yes'/>
<xsl:strip-space elements="*" />
<!-- overrides default template for matching text so no extraneous text is matched -->
<xsl:template match="text()"></xsl:template>
<xsl:variable name="zIncludeDatabaseInfo">0</xsl:variable>
<xsl:variable name="zDashedLine">--------------------------------------------------------------------------------</xsl:variable>
<!--================================-->
<!-- Root Elements -->
<!--================================-->
<xsl:template match="ctlists">
<!--================================-->
<!-- Root-level Database Elements -->
<!--================================-->
<xsl:if test="$zIncludeDatabaseInfo=1">
<!--Find all elements of ctlists that contain only a single text node.
This is a dynamic way of finding all ctlists metadata without explicitly calling out each one.-->
<xsl:call-template name="zHeading1"/>
<xsl:for-each select="child::*[text()[last()=1]]">
<xsl:value-of select="."/>&tab;
</xsl:for-each>
</xsl:if>
<xsl:apply-templates/>
</xsl:template>
<!--================================-->
<!-- CUT LIST -->
<!--================================-->
<xsl:template match="cutlist/items">
<xsl:call-template name="zHeadingList">
<xsl:with-param name="zHeaderName" select="'CUT LIST'"/>
</xsl:call-template>
<xsl:text>type</xsl:text>&tab;
<xsl:text>eventnumber</xsl:text>&tab;
<xsl:text>runningfootagestart</xsl:text>&tab;
<xsl:text>runningfootagelength</xsl:text>&tab;
<xsl:text>runningfootageend</xsl:text>&tab;
<xsl:text>runningcountstart</xsl:text>&tab;
<xsl:text>runningcountlength</xsl:text>&tab;
<xsl:text>runningcountend</xsl:text>&tab;
<xsl:text>runningtimestart</xsl:text>&tab;
<xsl:text>runningtimelength</xsl:text>&tab;
<xsl:text>runningtimeend</xsl:text>&tab;
<xsl:text>runningtimerate</xsl:text>&tab;
<xsl:text>keycodereversed</xsl:text>&tab;
<xsl:text>keyprefix</xsl:text>&tab;
<xsl:text>keynumstart</xsl:text>&tab;
<xsl:text>keynumend</xsl:text>&tab;
<xsl:text>inkprefix</xsl:text>&tab;
<xsl:text>inknumstart</xsl:text>&tab;
<xsl:text>inknumend</xsl:text>&tab;
<xsl:text>sourcetimestart</xsl:text>&tab;
<xsl:text>sourcetimeend</xsl:text>&tab;
<xsl:text>sourcetimerate</xsl:text>&tab;
<xsl:text>filmstandard</xsl:text>&tab;
<xsl:text>note</xsl:text>&tab;
<xsl:text>videoreel</xsl:text>&tab;
<xsl:text>cameraroll</xsl:text>&tab;
<xsl:text>labroll</xsl:text>&tab;
<xsl:text>dailyroll</xsl:text>&tab;
<xsl:text>scene</xsl:text>&tab;
<xsl:text>take</xsl:text>&tab;
<xsl:text>clipname</xsl:text>&tab;
<xsl:text>hasduplicateusage</xsl:text>&tab;
<xsl:text>opticalnumber</xsl:text>&tab;
&newline;
<xsl:for-each select="cut|gap|optical">
<xsl:value-of select="name()"/>&tab;
<xsl:value-of select="eventnumber"/>&tab;
<xsl:value-of select="runningfootagestart"/>&tab;
<xsl:value-of select="runningfootagelength"/>&tab;
<xsl:value-of select="runningfootageend"/>&tab;
<xsl:value-of select="runningcountstart"/>&tab;
<xsl:value-of select="runningcountlength"/>&tab;
<xsl:value-of select="runningcountend"/>&tab;
<xsl:value-of select="runningtimestart"/>&tab;
<xsl:value-of select="runningtimelength"/>&tab;
<xsl:value-of select="runningtimeend"/>&tab;
<xsl:value-of select="runningtimerate"/>&tab;
<xsl:value-of select="keycodereversed"/>&tab;
<xsl:value-of select="keyprefix"/>&tab;
<xsl:value-of select="keynumstart"/>&tab;
<xsl:value-of select="keynumend"/>&tab;
<xsl:value-of select="inkprefix"/>&tab;
<xsl:value-of select="inknumstart"/>&tab;
<xsl:value-of select="inknumend"/>&tab;
<xsl:value-of select="sourcetimestart"/>&tab;
<xsl:value-of select="sourcetimeend"/>&tab;
<xsl:value-of select="sourcetimerate"/>&tab;
<xsl:value-of select="filmstandard"/>&tab;
<xsl:value-of select="note"/>&tab;
<xsl:value-of select="videoreel"/>&tab;
<xsl:value-of select="cameraroll"/>&tab;
<xsl:value-of select="labroll"/>&tab;
<xsl:value-of select="dailyroll"/>&tab;
<xsl:value-of select="scene"/>&tab;
<xsl:value-of select="take"/>&tab;
<xsl:value-of select="clipname"/>&tab;
<xsl:value-of select="hasduplicateusage"/>&tab;
<xsl:value-of select="opticalnumber"/>&tab;
&newline;
</xsl:for-each>
</xsl:template>
<!--================================-->
<!-- NAMED TEMPLATES -->
<!--================================-->
<xsl:template name="zHeadingList">
<xsl:param name="zHeaderName">*DEFAULT LIST NAME*</xsl:param>
<xsl:value-of select="$zHeaderName"/>
&newline;
<xsl:value-of select="$zDashedLine"/>
&newline;
</xsl:template>
</xsl:stylesheet>