1*b1cdbd2cSJim Jagielski<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 2*b1cdbd2cSJim Jagielski<!--*********************************************************** 3*b1cdbd2cSJim Jagielski * 4*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 5*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 6*b1cdbd2cSJim Jagielski * distributed with this work for additional information 7*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 8*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 9*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 10*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 11*b1cdbd2cSJim Jagielski * 12*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 13*b1cdbd2cSJim Jagielski * 14*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 15*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 16*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 17*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 18*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 19*b1cdbd2cSJim Jagielski * under the License. 20*b1cdbd2cSJim Jagielski * 21*b1cdbd2cSJim Jagielski ***********************************************************--> 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 24*b1cdbd2cSJim Jagielski xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 25*b1cdbd2cSJim Jagielski xmlns:xs="http://www.w3.org/2001/XMLSchema" 26*b1cdbd2cSJim Jagielski xmlns:oor="http://openoffice.org/2001/registry" 27*b1cdbd2cSJim Jagielski version="1.0"> 28*b1cdbd2cSJim Jagielski 29*b1cdbd2cSJim Jagielski<xsl:output method="text" indent="no" encoding="ISO-8859-1"/> 30*b1cdbd2cSJim Jagielski 31*b1cdbd2cSJim Jagielski<xsl:namespace-alias stylesheet-prefix="xs" result-prefix="xs"></xsl:namespace-alias> 32*b1cdbd2cSJim Jagielski 33*b1cdbd2cSJim Jagielski <!-- match root --> 34*b1cdbd2cSJim Jagielski <xsl:template match="/"> 35*b1cdbd2cSJim Jagielski <xsl:apply-templates/> 36*b1cdbd2cSJim Jagielski </xsl:template> 37*b1cdbd2cSJim Jagielski 38*b1cdbd2cSJim Jagielski <!-- match all elements that could possibly contain info/desc elements --> 39*b1cdbd2cSJim Jagielski <xsl:template match="group|set|node-ref|prop|enumeration|length|minLength|maxLength|minInclusive|maxInclusive|minExclusive|maxExclusive|whiteSpace"> 40*b1cdbd2cSJim Jagielski 41*b1cdbd2cSJim Jagielski <xsl:if test="1>string-length(info/desc)"> 42*b1cdbd2cSJim Jagielski <!-- print TPF's path to current node --> 43*b1cdbd2cSJim Jagielski <xsl:message terminate="yes"> 44*b1cdbd2cSJim Jagielski 45*b1cdbd2cSJim Jagielski <!-- print linefeed --> 46*b1cdbd2cSJim Jagielski <xsl:text> </xsl:text> 47*b1cdbd2cSJim Jagielski <xsl:text>ERROR: No info/desc element specified or string length of info/desc element is 0.</xsl:text> 48*b1cdbd2cSJim Jagielski <xsl:text> </xsl:text> 49*b1cdbd2cSJim Jagielski <xsl:text> There has to be a reasonable description to be specified for any item.</xsl:text> 50*b1cdbd2cSJim Jagielski <xsl:text> </xsl:text> 51*b1cdbd2cSJim Jagielski 52*b1cdbd2cSJim Jagielski <xsl:text> - path: </xsl:text> 53*b1cdbd2cSJim Jagielski <xsl:for-each select="ancestor-or-self::*"><xsl:text>/</xsl:text> 54*b1cdbd2cSJim Jagielski <xsl:value-of select="local-name(.)"/> 55*b1cdbd2cSJim Jagielski <xsl:choose> 56*b1cdbd2cSJim Jagielski <xsl:when test="@oor:name">[<xsl:value-of select="@oor:name"/>]</xsl:when> 57*b1cdbd2cSJim Jagielski <xsl:when test="@oor:value">[<xsl:value-of select="@oor:value"/>]</xsl:when> 58*b1cdbd2cSJim Jagielski </xsl:choose> 59*b1cdbd2cSJim Jagielski </xsl:for-each> 60*b1cdbd2cSJim Jagielski 61*b1cdbd2cSJim Jagielski <xsl:text> </xsl:text> 62*b1cdbd2cSJim Jagielski <xsl:text> - author: </xsl:text> 63*b1cdbd2cSJim Jagielski 64*b1cdbd2cSJim Jagielski <xsl:for-each select="ancestor-or-self::*"> 65*b1cdbd2cSJim Jagielski <!-- print element name --> 66*b1cdbd2cSJim Jagielski <xsl:if test="info/author"> 67*b1cdbd2cSJim Jagielski <!-- print arrow --> 68*b1cdbd2cSJim Jagielski <xsl:text>-></xsl:text> 69*b1cdbd2cSJim Jagielski <xsl:value-of select="info/author"/> 70*b1cdbd2cSJim Jagielski </xsl:if> 71*b1cdbd2cSJim Jagielski </xsl:for-each> 72*b1cdbd2cSJim Jagielski 73*b1cdbd2cSJim Jagielski </xsl:message> 74*b1cdbd2cSJim Jagielski 75*b1cdbd2cSJim Jagielski </xsl:if> 76*b1cdbd2cSJim Jagielski 77*b1cdbd2cSJim Jagielski <xsl:apply-templates/> 78*b1cdbd2cSJim Jagielski 79*b1cdbd2cSJim Jagielski </xsl:template> 80*b1cdbd2cSJim Jagielski 81*b1cdbd2cSJim Jagielski</xsl:transform> 82