[Zope-CVS] CVS: Products/OSCOM/NOTSite/skins/NOTContent - nitf-stylized.xslt:1.1 nitf-to-html.xsl:1.1 nitf-to-newsml.xsl:1.1 nitf.css:1.1

Tres Seaver tseaver@zope.com
Tue, 27 May 2003 00:38:18 -0400


Update of /cvs-repository/Products/OSCOM/NOTSite/skins/NOTContent
In directory cvs.zope.org:/tmp/cvs-serv28622/skins/NOTContent

Added Files:
	nitf-stylized.xslt nitf-to-html.xsl nitf-to-newsml.xsl 
	nitf.css 
Log Message:
 - Add NITF-related artifacts (DTDs, XSLTs, CSS).

=== Added File Products/OSCOM/NOTSite/skins/NOTContent/nitf-stylized.xslt ===
<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:strip-space elements="*"/>

<xsl:output method="html" encoding="ISO-8859-1"/>

<!-- Created by Johan Lindgren (TT, Sweden) and Alan Karben (ScreamingMedia, US)
		to show various possible outputs from NITF.
		It's not intended to handle all possible combinations of data.
		  -->


<!--      MAIN TEMPLATE
<xsl:template match="/">
<html>
<head>
<title><xsl:value-of select="nitf/head/title"/></title>
<link rel="stylesheet" type="text/css" href="nitf.css"/>
</head>
<body><table border="1" cellpadding="6" width="550"><tr><td>
<xsl:apply-templates />
</td></tr></table></body>
</html>
</xsl:template>
-->

<xsl:template match="body.head|body.content">
<xsl:apply-templates />
</xsl:template>


<xsl:template match="p">
<p class="nitfp"><xsl:apply-templates /></p>
</xsl:template>

<xsl:template match="title">
</xsl:template>


<!-- table -->

<xsl:template match="nitf-table-summary">
</xsl:template>



<xsl:template match="table">
<xsl:element name="table">
<xsl:attribute name="border">
<xsl:value-of select="@border"/>
</xsl:attribute>
<xsl:apply-templates />
</xsl:element>
</xsl:template>
<xsl:template match="tr">
<tr><xsl:apply-templates /></tr>
</xsl:template>

<xsl:template match="th">
<xsl:element name="th">
<xsl:attribute name="colspan">
<xsl:value-of select="@colspan"/>
</xsl:attribute>
<xsl:apply-templates />
</xsl:element>
</xsl:template>



<xsl:template match="td">
<td><xsl:apply-templates /></td>
</xsl:template>

<xsl:template match="byline">
<p class="nitfby">
<xsl:apply-templates/>
</p>
</xsl:template>

<xsl:template match="person">
<b><xsl:value-of select="."/></b>
</xsl:template>

<xsl:template match="byttl">
<br/><i><xsl:value-of select="."/></i>
</xsl:template>

<xsl:template match="hedline">
<div class="hedline"><xsl:apply-templates /></div>
</xsl:template>

<xsl:template match="hl1">
<h1 class="nitfhl1"><xsl:apply-templates /></h1>
</xsl:template>

<xsl:template match="hl2">
<h2 class="nitfhl2"><xsl:apply-templates /></h2>
</xsl:template>

<xsl:template match="hl3">
<h3 class="nitfhl3"><xsl:apply-templates /></h3>
</xsl:template>

<xsl:template match="note">
<div class="note"><blockquote><i>Editor's Note:</i> <xsl:value-of select="."/></blockquote></div>
</xsl:template>

<xsl:template match="tagline">
<p class="tagline"><i><xsl:value-of select="."/></i></p>
</xsl:template>

<xsl:template match="ul">
<ul><xsl:apply-templates /></ul>
</xsl:template>

<xsl:template match="li">
<li><xsl:apply-templates /></li>
</xsl:template>

<xsl:template match="em">
<b><xsl:apply-templates /></b>
</xsl:template>

<xsl:template match="org">
<b>
<xsl:element name="a">
<xsl:attribute name="href">http://www.stockpoint.com/get-quote?ticker=<xsl:value-of select="@value"/></xsl:attribute>
<xsl:attribute name="class">org</xsl:attribute><xsl:value-of select="."/>
</xsl:element>
</b>
</xsl:template>

<!--
<xsl:template match="media">
<table border cellpadding="4" align="right">
<xsl:element name="a">
<xsl:attribute name="href">http://www.stockpoint.com/get-quote?ticker=<xsl:value-of select="@value"/></xsl:attribute>
<xsl:attribute name="class">org</xsl:attribute><xsl:value-of select="."/>
</xsl:element>
</b>
</table>
</xsl:template>
-->

<xsl:template match="media">
<xsl:element name="table">
<xsl:attribute name="align">right</xsl:attribute>
<xsl:attribute name="border">1</xsl:attribute>
<xsl:attribute name="width"><xsl:value-of select="media-reference/@width"/></xsl:attribute>
<xsl:attribute name="cellpadding">6</xsl:attribute>
<tr><td>
<xsl:element name="img">
<xsl:attribute name="src">images/<xsl:value-of select="media-reference/@source"/></xsl:attribute>
<xsl:attribute name="width"><xsl:value-of select="media-reference/@width"/></xsl:attribute>
<xsl:attribute name="height"><xsl:value-of select="media-reference/@height"/></xsl:attribute>
<xsl:attribute name="alt"><xsl:value-of select="media-reference/@alternate-text"/></xsl:attribute>
</xsl:element>
<div align="right"><font size="-2">Photo: 
	<xsl:value-of select="media-producer"/>
</font></div>
<b><font size="-1"><xsl:value-of select="media-caption"/></font></b>
</td></tr>
</xsl:element>
</xsl:template>


</xsl:stylesheet>


=== Added File Products/OSCOM/NOTSite/skins/NOTContent/nitf-to-html.xsl ===
<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:strip-space elements="*"/>

<xsl:output method="html" encoding="ISO-8859-1"/>

<!-- Created by Johan Lindgren (TT, Sweden) and Alan Karben (ScreamingMedia, US)
		to show various possible outputs from NITF.
		It's not intended to handle all possible combinations of data.
		  -->


<!--      MAIN TEMPLATE   -->
<xsl:template match="/">
<html>
	<head>
		<title><xsl:value-of select="nitf/head/title"/></title>
		<link rel="stylesheet" type="text/css" href="nitf.css"/>
	</head>
	<body><table border="1" cellpadding="6" width="550"><tr><td>
		<xsl:apply-templates />    <!-- Call all subtemplates -->
	</td></tr></table></body>
</html>
</xsl:template>

<xsl:template match="body.head|body.content">
	<xsl:apply-templates />
</xsl:template>


<xsl:template match="p">
	<p class="nitfp"><xsl:apply-templates /></p>
</xsl:template>

<xsl:template match="title">
</xsl:template>


<!-- table -->

<xsl:template match="nitf-table-summary">
</xsl:template>



<xsl:template match="table">
		<xsl:element name="table">
		<xsl:attribute name="border">
			<xsl:value-of select="@border"/>
		</xsl:attribute>
		<xsl:apply-templates />
		</xsl:element>
</xsl:template>
	<xsl:template match="tr">
		<tr><xsl:apply-templates /></tr>
	</xsl:template>

	
	<xsl:template match="th">
		<xsl:element name="th">
		<xsl:attribute name="colspan">
			<xsl:value-of select="@colspan"/>
		</xsl:attribute>
		<xsl:apply-templates />
		</xsl:element>
	</xsl:template>



	<xsl:template match="td">
		<td><xsl:apply-templates /></td>
	</xsl:template>

<xsl:template match="byline">
	<p class="nitfby">
		<xsl:apply-templates/>
	</p>
</xsl:template>

<xsl:template match="person">
	<b><xsl:value-of select="."/></b>
</xsl:template>

<xsl:template match="byttl">
	<br/><i><xsl:value-of select="."/></i>
</xsl:template>

<xsl:template match="hedline">
	<div class="hedline"><xsl:apply-templates /></div>
</xsl:template>

<xsl:template match="hl1">
	<h1 class="nitfhl1"><xsl:apply-templates /></h1>
</xsl:template>

<xsl:template match="hl2">
	<h2 class="nitfhl2"><xsl:apply-templates /></h2>
</xsl:template>

<xsl:template match="hl3">
	<h3 class="nitfhl3"><xsl:apply-templates /></h3>
</xsl:template>

<xsl:template match="note">
	<div class="note"><blockquote><i>Editor's Note:</i> <xsl:value-of select="."/></blockquote></div>
</xsl:template>

<xsl:template match="tagline">
	<p class="tagline"><i><xsl:value-of select="."/></i></p>
</xsl:template>

<xsl:template match="ul">
	<ul><xsl:apply-templates /></ul>
</xsl:template>

<xsl:template match="li">
	<li><xsl:apply-templates /></li>
</xsl:template>

<xsl:template match="em">
	<b><xsl:apply-templates /></b>
</xsl:template>

<xsl:template match="block">
	<blockquote><xsl:apply-templates /></blockquote>
</xsl:template>

<xsl:template match="org">
	<b>
	<xsl:element name="a">
	<xsl:attribute name="href">http://www.stockpoint.com/get-quote?ticker=<xsl:value-of select="@value"/></xsl:attribute>
	<xsl:attribute name="class">org</xsl:attribute><xsl:value-of select="."/>
	</xsl:element>
	</b>
</xsl:template>

<!--
<xsl:template match="media">
	<table border cellpadding="4" align="right">
	<xsl:element name="a">
	<xsl:attribute name="href">http://www.stockpoint.com/get-quote?ticker=<xsl:value-of select="@value"/></xsl:attribute>
	<xsl:attribute name="class">org</xsl:attribute><xsl:value-of select="."/>
	</xsl:element>
	</b>
	</table>
</xsl:template>
-->

<xsl:template match="media">
	<xsl:element name="table">
	<xsl:attribute name="align">right</xsl:attribute>
	<xsl:attribute name="border">1</xsl:attribute>
	<xsl:attribute name="width"><xsl:value-of select="media-reference/@width"/></xsl:attribute>
	<xsl:attribute name="cellpadding">6</xsl:attribute>
	<tr><td>
	<xsl:element name="img">
	<xsl:attribute name="src">images/<xsl:value-of select="media-reference/@source"/></xsl:attribute>
	<xsl:attribute name="width"><xsl:value-of select="media-reference/@width"/></xsl:attribute>
	<xsl:attribute name="height"><xsl:value-of select="media-reference/@height"/></xsl:attribute>
	<xsl:attribute name="alt"><xsl:value-of select="media-reference/@alternate-text"/></xsl:attribute>
	</xsl:element>
	<div align="right"><font size="-2">Photo: 
	<xsl:value-of select="media-producer"/>
	</font></div>
	<b><font size="-1"><xsl:value-of select="media-caption"/></font></b>
	</td></tr>
	</xsl:element>
</xsl:template>


</xsl:stylesheet>

=== Added File Products/OSCOM/NOTSite/skins/NOTContent/nitf-to-newsml.xsl === (1213/1313 lines abridged)
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
	<!-- This is version 0.2 of an IPTC NewsML stylesheet produced by David Allen, MD IPTC to covert NITF instances to NewsML. Copyright 2002 IPTC. -->
	<!-- It has been tested with the xt parser from James Clark and the Saxon parser from  Michael Kay-->
	<!-- It requires the Nitfv3.0.dtd -->
<!--
	<xsl:output method="xml" version="1.0" encoding="utf-8" doctype-public="urn:newsml:iptc.org:20001006:NewsMLv1.0" doctype-system="NewsMLv1.0.dtd"/>
-->
	<xsl:variable name="defaultdomain" select="'iptc.org'"/>
	<xsl:variable name="defaultdate" select="'20020101T000000+0000'"/>
	<xsl:template match="nitf">
		<xsl:element name="NewsML" namespace="">
			<xsl:element name="Catalog" namespace="">
				<xsl:attribute name="Href">./catalog/iptc-nitf-catalog.xml</xsl:attribute>
			</xsl:element>
			<xsl:if test="head/pubdata or head/iim">
				<xsl:call-template name="pubtopic"/>
			</xsl:if>
			<xsl:if test="body/body.head/abstract or body/body.head/note">
				<xsl:call-template name="absnote"/>
			</xsl:if>
			<xsl:call-template name="envdat"/>
			<xsl:element name="NewsItem" namespace="">
				<xsl:call-template name="ident"/>
				<xsl:call-template name="newsman"/>
				<xsl:call-template name="mnewscomp"/>
			</xsl:element>
		</xsl:element>
	</xsl:template>
	<xsl:template name="envdat">
		<xsl:element name="NewsEnvelope" namespace="">
			<xsl:if test="head/docdata/doc-id">
				<xsl:element name="TransmissionId" namespace="">
					<xsl:value-of select="head/docdata/doc-id/@regsrc"/>
					<xsl:value-of select="head/docdata/doc-id/@id-string"/>
					<xsl:if test="head/docdata/du-key/@key">
						<xsl:value-of select="head/docdata/du-key/@key"/>
					</xsl:if>
				</xsl:element>
			</xsl:if>
			<xsl:if test="head/docdata/del-list/from-src">
				<xsl:element name="SentFrom" namespace="">
					<xsl:value-of select="head/docdata/del-list/from-src"/>
				</xsl:element>
			</xsl:if>
			<xsl:element name="DateAndTime" namespace="">
				<xsl:choose>
					<xsl:when test="head/docdata/date.issue/@norm">
						<xsl:choose>
							<xsl:when test="(substring(head/docdata/date.issue/@norm,16,1)='+') or (substring(head/docdata/date.issue/@norm,16,1)='-') or (substring(head/docdata/date.issue/@norm,16,1)='Z') ">

[-=- -=- -=- 1213 lines omitted -=- -=- -=-]

				<xsl:attribute name="TopicSet"><xsl:text>urn:newsml:iptc.org:20001006:topicset.iptc-role:1</xsl:text></xsl:attribute>
			</xsl:element>
			<xsl:element name="Topic" namespace="">
				<xsl:attribute name="Duid"><xsl:text>nitfrole1</xsl:text></xsl:attribute>
				<xsl:element name="TopicType" namespace="">
					<xsl:attribute name="FormalName"><xsl:text>Role</xsl:text></xsl:attribute>
					<xsl:attribute name="Scheme">IptcTopicType</xsl:attribute>
				</xsl:element>
				<xsl:element name="FormalName" namespace="">
					<xsl:attribute name="Scheme">IptcRole</xsl:attribute>
					<xsl:text>Abstract</xsl:text>
				</xsl:element>
				<xsl:element name="Description" namespace="">
					<xsl:attribute name="xml:lang">en-GB</xsl:attribute>
					<xsl:text>Abstract of NITF content</xsl:text>
				</xsl:element>
			</xsl:element>
			<xsl:element name="Topic" namespace="">
				<xsl:attribute name="Duid"><xsl:text>nitfrole2</xsl:text></xsl:attribute>
				<xsl:element name="TopicType" namespace="">
					<xsl:attribute name="FormalName"><xsl:text>Role</xsl:text></xsl:attribute>
					<xsl:attribute name="Scheme">IptcTopicType</xsl:attribute>
				</xsl:element>
				<xsl:element name="FormalName" namespace="">
					<xsl:attribute name="Scheme">IptcRole</xsl:attribute>
					<xsl:text>Note</xsl:text>
				</xsl:element>
				<xsl:element name="Description" namespace="">
					<xsl:attribute name="xml:lang">en-GB</xsl:attribute>
					<xsl:text>Note from NITF content</xsl:text>
				</xsl:element>
			</xsl:element>
			<xsl:element name="Topic" namespace="">
				<xsl:attribute name="Duid"><xsl:text>nitfrole3</xsl:text></xsl:attribute>
				<xsl:element name="TopicType" namespace="">
					<xsl:attribute name="FormalName"><xsl:text>Role</xsl:text></xsl:attribute>
					<xsl:attribute name="Scheme">IptcTopicType</xsl:attribute>
				</xsl:element>
				<xsl:element name="FormalName" namespace="">
					<xsl:attribute name="Scheme">IptcRole</xsl:attribute>
					<xsl:text>Story</xsl:text>
				</xsl:element>
				<xsl:element name="Description" namespace="">
					<xsl:attribute name="xml:lang">en-GB</xsl:attribute>
					<xsl:text>Main NITF content</xsl:text>
				</xsl:element>
			</xsl:element>
		</xsl:element>
	</xsl:template>
</xsl:stylesheet>


=== Added File Products/OSCOM/NOTSite/skins/NOTContent/nitf.css ===
BODY
	{
	BACKGROUND: #ffffff;
	COLOR: #000000;
	}
div.hedline h1
	{
	FONT-FAMILY: "Times New Roman";
	font-size: 30px;
	}
div.hedline h2
	{
	FONT-FAMILY: "Times New Roman";
	font-size: 24px;
	}
div.bodycontent
	{
	FONT-FAMILY: "Times New Roman";
	}

h2
	{
	FONT-FAMILY: "Arial, Helvetica";
	font-size: 20px;
	}

div.note
	{
	font-weight: bold;
	color: green;
	}
	
p.tagline
	{
	font-weight: italics;
	}