operatorDictionary.xsl (1930B)
1 <!-- -*- Mode: nXML; tab-width: 2; indent-tabs-mode: nil; -*- --> 2 <!-- This Source Code Form is subject to the terms of the Mozilla Public 3 - License, v. 2.0. If a copy of the MPL was not distributed with this 4 - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> 5 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 6 7 <xsl:strip-space elements="*"/> 8 9 <xsl:template match="charlist"> 10 <root><xsl:apply-templates select="character"/></root> 11 </xsl:template> 12 13 <xsl:template match="character"> 14 <xsl:if test="operator-dictionary"> 15 <xsl:for-each select="operator-dictionary"> 16 <entry> 17 18 <xsl:attribute name="unicode"> 19 <xsl:value-of select="../@id"/> 20 </xsl:attribute> 21 22 <xsl:attribute name="form"> 23 <xsl:value-of select="@form"/> 24 </xsl:attribute> 25 26 <!-- begin operator-dictionary --> 27 <xsl:if test="@lspace"> 28 <xsl:attribute name="lspace"> 29 <xsl:value-of select="@lspace"/> 30 </xsl:attribute> 31 </xsl:if> 32 <xsl:if test="@rspace"> 33 <xsl:attribute name="rspace"> 34 <xsl:value-of select="@rspace"/> 35 </xsl:attribute> 36 </xsl:if> 37 <xsl:if test="@*[.='true']"> 38 <xsl:attribute name="properties"> 39 <!-- largeop, movablelimits, stretchy, separator, fence, 40 symmetric --> 41 <xsl:for-each select="@*[.='true']"> 42 <xsl:value-of select="name()"/> 43 <xsl:text> </xsl:text> 44 </xsl:for-each> 45 </xsl:attribute> 46 </xsl:if> 47 <!-- end operator-dictionary --> 48 49 <xsl:attribute name="description"> 50 <xsl:value-of select="../description"/> 51 </xsl:attribute> 52 53 </entry> 54 </xsl:for-each> 55 </xsl:if> 56 </xsl:template> 57 58 </xsl:stylesheet>