1<?xml version="1.0"?> 2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="http://www.iana.org/assignments" xmlns="http://www.iana.org/assignments" xmlns:_="http://www.iana.org/assignments" xmlns:DEFAULT="http://www.iana.org/assignments" version="1.0"> 3<xsl:output omit-xml-declaration="yes" indent="no" method="text"/> 4<xsl:template match="/a:registry[@id='cbor-tags']">struct CborTagDescription 5{ 6 QCborTag tag; 7 const char *description; // with space and parentheses 8}; 9 10// <xsl:value-of select="a:registry/a:title"/> 11static const CborTagDescription tagDescriptions[] = { 12 // from https://www.iana.org/assignments/cbor-tags/cbor-tags.xhtml 13<xsl:for-each select="a:registry/a:record"> 14 <xsl:sort select="a:value" data-type="number"/> 15 <xsl:if test="a:semantics != ''"> 16 <xsl:call-template name="row"/> 17 </xsl:if> 18 </xsl:for-each> { QCborTag(-1), nullptr } 19}; 20</xsl:template> 21<xsl:template name="row"> { QCborTag(<xsl:value-of select="a:value"/>), " (<xsl:value-of select="a:semantics"/> <xsl:call-template name="xref"/>)" }, 22</xsl:template> 23<xsl:template name="xref"><xsl:if test="a:xref/@type = 'rfc'"> [<xsl:value-of select="translate(a:xref/@data,'rfc','RFC')"/>]</xsl:if> 24</xsl:template> 25</xsl:stylesheet> 26