Atom Feeds

Wikipedia : Atom (web standard)

W3C : Introduction to Atom

XSL file – “case-study-feeds/atom.xsl”
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:atom="http://www.w3.org/2005/Atom" version="1.0" exclude-result-prefixes="atom">

    <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:include href="../../plugins/tenandtwo-xslt-processor/xsl/date.xsl"/>

    <!-- main -->
    <xsl:template match="/">
        <xsl:apply-templates select="atom:feed"/>
    </xsl:template>

    <!-- feed -->
    <xsl:template match="atom:feed">
        <!-- header -->
        <h3><xsl:value-of select="atom:title"/></h3>
        <h5><xsl:value-of select="atom:subtitle"/></h5>

        <!-- body -->
        <xsl:apply-templates select="atom:entry"/>

        <!-- footer -->
        <hr size="1"/>
        <div>
            <xsl:text>Updated : </xsl:text>
            <time>
                <xsl:attribute name="datetime"><xsl:value-of select="atom:updated"/></xsl:attribute>
                <xsl:call-template name="date-format">
                    <xsl:with-param name="value" select="atom:updated"/>
                    <xsl:with-param name="format" select="'Y-m-d h:i A'"/>
                </xsl:call-template>
            </time>

            <xsl:for-each select="atom:author/*">  <!-- name, email, uri -->
                <br/>
                <xsl:text>Author : </xsl:text>
                <xsl:value-of select="text()"/>
            </xsl:for-each>

            <xsl:if test="string-length(atom:link[@rel='alternate']/@href) &gt; 0">
                <br/>
                <a target="_blank">
                    <xsl:attribute name="href"><xsl:value-of select="atom:link[@rel='alternate']/@href"/></xsl:attribute>
                    <xsl:text>Visit Website →</xsl:text>
                </a>
            </xsl:if>
        </div>
    </xsl:template>

    <!-- entry -->
    <xsl:template match="atom:entry">
        <hr size="1"/>
        <h5>
            <time>
                <xsl:attribute name="datetime"><xsl:value-of select="atom:updated"/></xsl:attribute>
                <xsl:call-template name="date-format">
                    <xsl:with-param name="value" select="atom:updated"/>
                    <xsl:with-param name="format" select="'Y-m-d h:i A'"/>
                </xsl:call-template>
            </time>
        </h5>
        <h4>
            <a target="_blank">
                <xsl:attribute name="href">
                    <xsl:choose>
                        <xsl:when test="string-length(atom:link[@rel='alternate']/@href) &gt; 0">
                            <xsl:value-of select="atom:link[@rel='alternate']/@href"/>
                        </xsl:when>
                        <xsl:when test="string-length(atom:link/@href) &gt; 0">
                            <xsl:value-of select="atom:link/@href"/>
                        </xsl:when>
                        <xsl:otherwise><xsl:value-of select="atom:id"/></xsl:otherwise>
                    </xsl:choose>
                </xsl:attribute>
                <xsl:value-of disable-output-escaping="yes" select="atom:title"/>
            </a>
        </h4>
        <div>
            <xsl:choose>
                <xsl:when test="string-length(.//atom:content) &gt; 0">
                    <xsl:value-of disable-output-escaping="yes" select=".//atom:content"/>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:value-of disable-output-escaping="yes" select=".//atom:summary"/>
                </xsl:otherwise>
            </xsl:choose>
        </div>
    </xsl:template>

</xsl:stylesheet><!-- end atom.xsl -->

National Weather Service Alerts for OR

[xslt_transform_xml xsl="case-study-feeds/atom.xsl" xml="https://alerts.weather.gov/cap/or.php?x=0" /]
Output

Current watches, warnings, and advisories for Oregon


Flood Warning issued February 27 at 11:09PM PST until February 28 at 8:07AM PST by NWS Portland OR

…The Flood Warning is extended for the following rivers in Oregon… Pudding River at Aurora affecting Marion and Clackamas Counties. * WHAT…Minor flooding is occurring. * WHERE…Pudding River at Aurora. * WHEN…Until early tomorrow morning. * IMPACTS…Above 22.0 feet, expect minor flooding of low-lying agricultural lands and access roads along the river. * ADDITIONAL DETAILS… – At 11:00 PM PST Thursday the stage was 22.0 feet. – Bankfull stage is 21.0 feet. Minor flood stage is 22.0 feet. – Recent Activity…The maximum river stage in the 24 hours ending at 11:00 PM PST Thursday was 23.0 feet. – Forecast…The river is expected to fall below flood stage by 2 AM Friday and continue falling to 12.8 feet Sunday, March 09. – Flood stage is 22.0 feet. – http://www.weather.gov/safety/flood

Beach Hazards Statement issued February 27 at 4:43PM PST until March 1 at 7:00AM PST by NWS Medford OR

* WHAT…A high risk of sneaker waves. * WHERE…Beaches along Curry County. The highest risk will be to west-facing beaches. * WHEN…From Friday evening through Saturday morning. * IMPACTS…Sneaker waves can run up significantly farther on beaches than normal, including over rocks and jetties. These waves can suddenly knock people off of their feet and quickly pull them into the cold ocean waters, resulting in serious injury or death. Waves may also lift driftwood logs, trapping anyone caught underneath. * View the hazard area in detail at https://www.wrh.noaa.gov/map/?wfo=mfr

Updated :
Author : w-nws.webmaster@noaa.gov