File: xrd2json.xsl

package info (click to toggle)
virtuoso-opensource 6.1.4%2Bdfsg1-7
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 245,116 kB
  • sloc: ansic: 639,631; sql: 439,225; xml: 287,085; java: 61,048; sh: 38,723; cpp: 36,889; cs: 25,240; php: 12,562; yacc: 9,036; lex: 7,149; makefile: 6,093; jsp: 4,447; awk: 1,643; perl: 1,017; ruby: 1,003; python: 329
file content (21 lines) | stat: -rw-r--r-- 902 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" media-type="application/json"/>
  <xsl:variable name="uc">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
  <xsl:variable name="lc">abcdefghijklmnopqrstuvwxyz</xsl:variable>
    <xsl:template match="XRD">
{
  <xsl:apply-templates select="Subject|Host|Alias"/>
  "link": 
    [
      <xsl:for-each select="Link">
      {
        <xsl:for-each select="@*">"<xsl:value-of select="local-name(.)"/>": "<xsl:value-of select="."/>"<xsl:if test="position () != last ()">,
        </xsl:if></xsl:for-each>
      }<xsl:if test="position () != last ()">,</xsl:if>
      </xsl:for-each>
    ]
}
    </xsl:template>
    <xsl:template match="Subject|Host|Alias">"<xsl:value-of select="translate (local-name(.), $uc, $lc)"/>": "<xsl:value-of select="."/>",</xsl:template>
</xsl:stylesheet>