operator-dictionary.xsl (2399B)
1 <!-- -*- Mode: nXML; tab-width: 2; indent-tabs-mode: nil; -*- --> 2 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 3 4 <xsl:strip-space elements="*"/> 5 6 <xsl:template match="charlist"> 7 <root><xsl:apply-templates select="character"/></root> 8 </xsl:template> 9 10 <xsl:template match="character"> 11 <xsl:if test="operator-dictionary"> 12 <xsl:for-each select="operator-dictionary"> 13 <entry> 14 15 <xsl:attribute name="unicode"> 16 <xsl:value-of select="../@id"/> 17 </xsl:attribute> 18 19 <xsl:attribute name="form"> 20 <xsl:value-of select="@form"/> 21 </xsl:attribute> 22 23 <!-- begin operator-dictionary --> 24 <xsl:if test="@lspace"> 25 <xsl:attribute name="lspace"> 26 <xsl:value-of select="@lspace"/> 27 </xsl:attribute> 28 </xsl:if> 29 <xsl:if test="@rspace"> 30 <xsl:attribute name="rspace"> 31 <xsl:value-of select="@rspace"/> 32 </xsl:attribute> 33 </xsl:if> 34 <xsl:if test="@minsize"> 35 <xsl:attribute name="minsize"> 36 <xsl:value-of select="@minsize"/> 37 </xsl:attribute> 38 </xsl:if> 39 <xsl:if test="@*[.='true']"> 40 <xsl:attribute name="properties"> 41 <!-- largeop, movablelimits, stretchy, separator, accent, fence, 42 symmetric --> 43 <xsl:for-each select="@*[.='true']"> 44 <xsl:value-of select="name()"/> 45 <xsl:text> </xsl:text> 46 </xsl:for-each> 47 <xsl:if test="../unicodedata/@mirror = 'Y'"> 48 <xsl:text>mirrorable </xsl:text> 49 </xsl:if> 50 </xsl:attribute> 51 </xsl:if> 52 <xsl:if test="@priority"> 53 <xsl:attribute name="priority"> 54 <xsl:value-of select="@priority"/> 55 </xsl:attribute> 56 </xsl:if> 57 <xsl:if test="@linebreakstyle"> 58 <xsl:attribute name="linebreakstyle"> 59 <xsl:value-of select="@linebreakstyle"/> 60 </xsl:attribute> 61 </xsl:if> 62 <!-- end operator-dictionary --> 63 64 <xsl:attribute name="description"> 65 <xsl:value-of select="../description"/> 66 </xsl:attribute> 67 68 </entry> 69 </xsl:for-each> 70 </xsl:if> 71 </xsl:template> 72 73 </xsl:stylesheet>