Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package suse-xsl-stylesheets for 
openSUSE:Factory checked in at 2023-07-27 16:50:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/suse-xsl-stylesheets (Old)
 and      /work/SRC/openSUSE:Factory/.suse-xsl-stylesheets.new.32662 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "suse-xsl-stylesheets"

Thu Jul 27 16:50:12 2023 rev:67 rq:1100888 version:2.92.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/suse-xsl-stylesheets/suse-xsl-stylesheets.changes    
    2023-05-21 19:08:25.258336661 +0200
+++ 
/work/SRC/openSUSE:Factory/.suse-xsl-stylesheets.new.32662/suse-xsl-stylesheets.changes
     2023-07-27 16:50:27.313694506 +0200
@@ -1,0 +2,10 @@
+Wed Jul 26 15:08:15 UTC 2023 - Thomas Schraitle <thomas.schrai...@suse.com> - 
2.92.0
+
+- Update 2.92.0
+  - Add <phrase role="style:..."> support by @tomschr in #548
+  - Missing xsl:attribute to create "lang" attribute by @tomschr in #550
+  - Fix "Request for a label of unexpected element" by @tomschr in #554
+  - Fix #524: Add footnote template in mode=xref-to by @tomschr in #553
+  - Implement JSON-LD by @tomschr in #552
+
+-------------------------------------------------------------------

Old:
----
  suse-xsl-2.91.2.tar.bz2

New:
----
  suse-xsl-2.92.0.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ suse-xsl-stylesheets.spec ++++++
--- /var/tmp/diff_new_pack.CrGEDS/_old  2023-07-27 16:50:28.385700563 +0200
+++ /var/tmp/diff_new_pack.CrGEDS/_new  2023-07-27 16:50:28.389700586 +0200
@@ -22,7 +22,7 @@
 %define suse_styles_dir   %{db_xml_dir}/stylesheet
 #
 Name:           suse-xsl-stylesheets
-Version:        2.91.2
+Version:        2.92.0
 Release:        0
 Summary:        SUSE-Branded Stylesheets for DocBook
 License:        GPL-2.0-only OR GPL-3.0-only

++++++ suse-xsl-2.91.2.tar.bz2 -> suse-xsl-2.92.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suse-xsl-2.91.2/ChangeLog 
new/suse-xsl-2.92.0/ChangeLog
--- old/suse-xsl-2.91.2/ChangeLog       2023-05-12 08:57:18.000000000 +0200
+++ new/suse-xsl-2.92.0/ChangeLog       2023-07-26 17:00:33.000000000 +0200
@@ -1,7 +1,17 @@
 -------------------------------------------------------------------
+Wed Jul 26 16:57:00 UTC 2022 - toms...@users.noreply.github.com
+
+- Update 2.92.0
+  - Add #552: Implement first attempt of JSON-LD (DOCTEAM-1061)
+  - Fix #524: Add footnote template in mode="xref-to"
+  - Fix #554: "Request for a label of unexpected element"
+  - Fix #550: Add missing xsl:attribute to create "lang" attribute
+  - Add #548: Add support for <phrase role="style:...">
+
+-------------------------------------------------------------------
 Fri May 12 08:56:00 UTC 2022 - toms...@users.noreply.github.com
 
-- Update 2.92.2
+- Update 2.91.2
   - Use search.description.length and search.title.length
   - Correct copy-and-paste error for "twitter:*":
     Use <meta name="..."> instead of <meta property="...">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suse-xsl-2.91.2/Makefile new/suse-xsl-2.92.0/Makefile
--- old/suse-xsl-2.91.2/Makefile        2023-05-12 08:57:18.000000000 +0200
+++ new/suse-xsl-2.92.0/Makefile        2023-07-26 17:00:33.000000000 +0200
@@ -11,7 +11,7 @@
 
 SHELL         := /bin/bash
 PACKAGE       := suse-xsl-stylesheets
-VERSION       := 2.91.2
+VERSION       := 2.92.0
 CDIR          := $(shell pwd)
 SUSE_XML_PATH := $(PREFIX)/xml/suse
 DB_XML_PATH   := $(PREFIX)/xml/docbook
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suse-xsl-2.91.2/suse2022-ns/xhtml/docbook.xsl 
new/suse-xsl-2.92.0/suse2022-ns/xhtml/docbook.xsl
--- old/suse-xsl-2.91.2/suse2022-ns/xhtml/docbook.xsl   2023-05-12 
08:57:18.000000000 +0200
+++ new/suse-xsl-2.92.0/suse2022-ns/xhtml/docbook.xsl   2023-07-26 
17:00:33.000000000 +0200
@@ -73,7 +73,7 @@
 
   <xsl:include href="tracker.meta.xsl"/>
   <xsl:include href="meta.xsl"/>
-
+  <xsl:include href="json-ld.xsl"/>
 
 <!-- Actual templates start here -->
 
@@ -352,6 +352,11 @@
     <xsl:with-param name="socialmedia.title" select="$socialmedia.title"/>
     <xsl:with-param name="socialmedia.description" 
select="$socialmedia.description"/>
   </xsl:call-template>
+
+  <xsl:call-template name="generate-json-ld">
+    <xsl:with-param name="node" select="$node"/>
+  </xsl:call-template>
+
 </xsl:template>
 
 
@@ -704,18 +709,20 @@
     <xsl:call-template name="root.messages"/>
 
     <html>
-      <xsl:choose>
-        <xsl:when test="$rootid">
-          <xsl:call-template name="l10n.language">
-            <xsl:with-param name="target" select="key('id', $rootid)"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:call-template name="l10n.language">
-            <xsl:with-param name="target" select="/*[1]"/>
-          </xsl:call-template>
-        </xsl:otherwise>
-      </xsl:choose>
+      <xsl:attribute name="lang">
+        <xsl:choose>
+          <xsl:when test="$rootid">
+            <xsl:call-template name="l10n.language">
+              <xsl:with-param name="target" select="key('id', $rootid)"/>
+            </xsl:call-template>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:call-template name="l10n.language">
+              <xsl:with-param name="target" select="/*[1]"/>
+            </xsl:call-template>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:attribute>
       <xsl:call-template name="root.attributes"/>
       <head>
         <xsl:call-template name="system.head.content">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suse-xsl-2.91.2/suse2022-ns/xhtml/inline.xsl 
new/suse-xsl-2.92.0/suse2022-ns/xhtml/inline.xsl
--- old/suse-xsl-2.91.2/suse2022-ns/xhtml/inline.xsl    2023-05-12 
08:57:18.000000000 +0200
+++ new/suse-xsl-2.92.0/suse2022-ns/xhtml/inline.xsl    2023-07-26 
17:00:33.000000000 +0200
@@ -8,6 +8,21 @@
 
 
 -->
+
+<!DOCTYPE xsl:stylesheet [
+  <!ENTITY ascii.uc "ABCDEFGHIJKLMNOPQRSTUVWXYZ">
+  <!ENTITY ascii.lc "abcdefghijklmnopqrstuvwxy">
+  <!ENTITY ru.uc "АБВГДЕЖЗИЙКЛМНОПР
СТУФХЦЧШЩЪЫЬЭЮЯ">
+  <!ENTITY ru.lc "абвгдежзийклмнопрстуфх
цчшщъыьэюя">
+  <!ENTITY lat1.uc "ÀÁÂÃÄÅ
ÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ">
+  <!ENTITY lat1.lc "à
áâãäåæçèéêëìíîïðñòóôõöøùúûüýþ">
+  <!ENTITY lat-ext-a.uc "ĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠ
ĢĤĦĨĪĬĮİIJĴĶĸĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠ
ŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽŒ">
+  <!ENTITY lat-ext-a.lc "āăą
ćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷÿźżžœ">
+
+  <!ENTITY uppercase "'&ascii.uc;&lat1.uc;&lat-ext-a.uc;&ru.uc;'">
+  <!ENTITY lowercase "'&ascii.lc;&lat1.lc;&lat-ext-a.lc;&ru.lc;'">
+]>
+
 <xsl:stylesheet version="1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
   xmlns:d="http://docbook.org/ns/docbook";
@@ -157,6 +172,91 @@
     </span>
   </xsl:template>
 
+ <xsl:template match="d:phrase[contains(@role, 'style:')]" name="phrase-style">
+   <xsl:variable name="stylecandidate" select="substring-after(@role, 
'style:')"/>
+   <xsl:variable name="style" select="$stylecandidate"/>
+
+   <xsl:choose>
+     <xsl:when test="$style = 'uppercase'">
+       <xsl:value-of select="translate(text(), &lowercase;, &uppercase;)"/>
+       <xsl:apply-templates select="*"/>
+     </xsl:when>
+     <xsl:when test="$style = 'lowercase'">
+       <xsl:value-of select="translate(text(), &uppercase;, &lowercase;)"/>
+       <xsl:apply-templates select="*"/>
+     </xsl:when>
+     <!-- Just capitalize the first character; leave anything else unmodified 
-->
+     <xsl:when test="$style = 'sentencecase'">
+       <xsl:variable name="firstchar" select="substring(translate(text()[1], 
'&#10; ', ''), 1, 1)"/>
+       <xsl:variable name="rest" select="substring-after(text(), $firstchar)"/>
+
+       <xsl:choose>
+         <!-- Only text, no other elements -->
+         <xsl:when test="$firstchar != '' and count(*)=0">
+<!--           <xsl:message>### phrase Case 1: "<xsl:value-of 
select="$firstchar"/>"</xsl:message>-->
+           <xsl:value-of select="concat(translate($firstchar, &lowercase;, 
&uppercase;), $rest)"/>
+         </xsl:when>
+
+         <!-- No text before first child element -->
+         <xsl:when test="$firstchar = '' and count(*)>0">
+<!--           <xsl:message>### phrase Case 2</xsl:message>-->
+           <xsl:apply-templates select="*[1]" mode="phrase-sentencecase"/>
+         </xsl:when>
+
+         <!-- Text with child element(s) -->
+         <xsl:when test="$firstchar != '' and count(*)>0">
+<!--           <xsl:message>### phrase Case 3: "<xsl:value-of 
select="concat($firstchar, $rest)"/>"</xsl:message>-->
+           <xsl:value-of select="concat(translate($firstchar, &lowercase;, 
&uppercase;), $rest)"/>
+           <xsl:apply-templates/>
+         </xsl:when>
+
+         <xsl:otherwise></xsl:otherwise>
+       </xsl:choose>
+     </xsl:when>
+     <!--<xsl:when test="$style = 'titlecase'">
+       <xsl:apply-templates select="*"/>
+     </xsl:when>-->
+     <xsl:otherwise>
+       <!-- We don't have any match, so just don't change anything -->
+       <xsl:apply-templates/>
+     </xsl:otherwise>
+   </xsl:choose>
+ </xsl:template>
+
+
+  <xsl:template match="d:*" mode="phrase-sentencecase">
+    <xsl:apply-templates select="."/>
+  </xsl:template>
+
+
+  <xsl:template match="d:phrase" mode="phrase-sentencecase">
+    <xsl:variable name="node">
+      <xsl:apply-templates select="."/>
+      <xsl:apply-templates select="parent::*/*[position() >1]"/>
+    </xsl:variable>
+    <xsl:variable name="rtf" select="exsl:node-set($node)"/>
+    <xsl:variable name="firstchar" select="substring(translate(text(), '&#10; 
', ''), 1, 1)"/>
+    <xsl:variable name="rest" select="substring-after(text(), $firstchar)"/>
+
+<!--    <xsl:message> * * * <xsl:value-of select="concat(local-name(.), ': ', 
count($rtf))"/>: "<xsl:value-of select="concat(translate($firstchar, 
&lowercase;, &uppercase;), $rest)"/>"</xsl:message>-->
+
+    <xsl:choose>
+      <xsl:when test="$firstchar != '' and count(*)=0">
+        <xsl:value-of select="concat(translate($firstchar, &lowercase;, 
&uppercase;), $rest)"/>
+      </xsl:when>
+
+      <xsl:when test="$firstchar = '' and count(*)>0">
+        <xsl:apply-templates select="*[1]" mode="phrase-sentencecase"/>
+      </xsl:when>
+
+      <xsl:when test="$firstchar != '' and count(*)>0">
+        <xsl:value-of select="concat(translate($firstchar, &lowercase;, 
&uppercase;), $rest)"/>
+        <xsl:apply-templates/>
+      </xsl:when>
+    </xsl:choose>
+
+  </xsl:template>
+
 
   <xsl:template match="d:productname">
     <xsl:call-template name="inline.charseq"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suse-xsl-2.91.2/suse2022-ns/xhtml/json-ld.xsl 
new/suse-xsl-2.92.0/suse2022-ns/xhtml/json-ld.xsl
--- old/suse-xsl-2.91.2/suse2022-ns/xhtml/json-ld.xsl   1970-01-01 
01:00:00.000000000 +0100
+++ new/suse-xsl-2.92.0/suse2022-ns/xhtml/json-ld.xsl   2023-07-26 
17:00:33.000000000 +0200
@@ -0,0 +1,305 @@
+<!--
+
+   Purpose:
+     Provide metadata in the form of a JSON-LD
+
+   Parameters:
+     * $generate.json-ld (default 1): generate the structure (=1) or not (=0)
+
+   Output:
+     HTML <script type="application/ld+json"> tag containing JSON-LD
+
+   Specification:
+     https://schema.org/TechArticle
+
+   Example:
+     <script type="application/ld+json">
+      {
+        "@context": "https://schema.org/";,
+        "@type": "TechArticle",
+        "name": "Getting Started with ExampleApp",
+        "headline": "ExampleApp Documentation",
+        "abstract": "A short abstract of ExampleApp",
+        "description": "A comprehensive guide to get started with ExampleApp.",
+        "author": {
+          "@type": "Person",
+          "name": "Tux Penguin",
+          "role": "Writer"
+        },
+        "datePublished": "2023-07-24",
+        "dateModified": "2023-07-25",
+        "publisher": {
+          "@type": "Organization",
+          "name": "SUSE",
+          "logo": {
+            "@type": "ImageObject",
+            "url": "https://www.suse.com/assets/img/suse-white-logo-green.svg";
+          }
+        }
+      }
+     </script>
+
+   Authors:    Thomas Schraitle <t...@opensuse.org>,
+
+-->
+<xsl:stylesheet version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+  xmlns:d="http://docbook.org/ns/docbook";
+  xmlns:date="http://exslt.org/dates-and-times";
+  xmlns:exsl="http://exslt.org/common";
+  xmlns="http://www.w3.org/1999/xhtml";
+  exclude-result-prefixes="date exsl d">
+
+  <xsl:template name="json-group">
+    <xsl:param name="key"/>
+    <xsl:param name="type"/>
+    <xsl:param name="indent"><xsl:text>&#10;    </xsl:text></xsl:param>
+    <xsl:param name="body"/>
+    <xsl:param name="comma" select="true()"/>
+
+    <xsl:value-of select="concat($indent, '&quot;', $key, '&quot;: {')"/>
+    <xsl:value-of select="$body"/>
+    <xsl:value-of select="concat($indent, '}')"/>
+    <xsl:if test="$comma">,</xsl:if>
+  </xsl:template>
+
+
+  <xsl:template name="generate-json-ld">
+    <xsl:param name="node"/>
+    <xsl:if test="$generate.json-ld != 0">
+      <xsl:message>INFO: Going to generate JSON-LD...</xsl:message>
+      <script type="application/ld+json">
+{
+    "@context": "http://schema.org";,
+    "@type": "TechArticle",<!--
+
+    -->
+        <xsl:call-template name="json-ld-headline"/>
+        <xsl:call-template name="json-ld-abstract"/>
+        <xsl:call-template name="json-ld-keywords"/>
+        <xsl:call-template name="json-ld-authors"/>
+        <xsl:call-template name="json-ld-authorgroup"/>
+        <xsl:call-template name="json-ld-datePublished"/>
+        <xsl:call-template name="json-ld-dateModified"/>
+        <xsl:call-template name="json-ld-version"/>
+        <xsl:call-template name="json-ld-publisher"/>
+}
+      </script>
+      <xsl:text>&#10;</xsl:text>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template name="json-ld-headline">
+    <xsl:param name="node" select="."/>
+    <xsl:variable name="headline" select="($node/d:info/d:meta[@name='title'] 
| $node/d:info/d:title | $node/d:title)[last()]"/>
+    "headline": "<xsl:value-of select="normalize-space($headline)"/>",
+  </xsl:template>
+
+  <xsl:template name="json-ld-abstract">
+    <xsl:param name="node" select="."/>
+    <xsl:if test="$node/d:info/d:abstract">
+      <xsl:variable name="abstract">
+        <xsl:call-template name="ellipsize.text">
+          <xsl:with-param name="input">
+            <xsl:choose>
+              <xsl:when test="$node/d:info/d:meta[@name = 'description']">
+                <xsl:value-of 
select="normalize-space($node/d:info/d:meta[@name = 'description'][1])" />
+              </xsl:when>
+              <xsl:when test="$node/d:info/d:abstract or 
$node/d:info/d:highlights">
+                <xsl:for-each select="($node/d:info[1]/d:abstract[1] | 
$node/d:info[1]/d:highlights[1])[1]/*">
+                  <xsl:value-of select="normalize-space(.)" />
+                  <xsl:if test="position() &lt; last()">
+                    <xsl:text> </xsl:text>
+                  </xsl:if>
+                </xsl:for-each>
+              </xsl:when>
+            </xsl:choose>
+          </xsl:with-param>
+        </xsl:call-template>
+      </xsl:variable>
+
+      <xsl:if test="$abstract != ''">
+    "abstract": "<xsl:value-of select="$abstract"/>",
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template name="json-ld-keywords">
+    <xsl:param name="node" select="."/>
+    <xsl:variable name="keywords" select="$node/d:info/d:keywordset"/>
+
+    <xsl:if test="$keywords">
+    "keywords": [
+      <xsl:for-each select="$keywords/d:keyword">
+        <xsl:value-of select="concat('&quot;', normalize-space(.), '&quot;')"/>
+        <xsl:if test="position() != last()">,&#10;      </xsl:if>
+      </xsl:for-each>
+    ],
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template name="json-ld-authors">
+    <xsl:param name="node" select="."/>
+    <xsl:choose>
+      <xsl:when test="not($node/d:info/d:author)"/>
+      <xsl:when test="count($node/d:info/d:author) = 1">
+        <xsl:variable name="person">
+          <xsl:call-template name="person.name">
+            <xsl:with-param name="node" select="$node/d:info/d:author"/>
+          </xsl:call-template>
+        </xsl:variable>
+    "author": {
+      "@type": "Person",
+      "name": "<xsl:value-of select="$person"/>",
+      "role": "Writer"
+    },
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:variable name="authors">
+          <d:info>
+            <d:authorgroup>
+              <xsl:copy-of
+                select="$node/d:info/d:author | $node/d:info/d:corpauthor | 
$node/d:info/d:othercredit | $node/d:info/d:editor"
+               />
+            </d:authorgroup>
+          </d:info>
+        </xsl:variable>
+        <xsl:variable name="rtf-authors" select="exsl:node-set($authors)"/>
+        <xsl:call-template name="json-ld-authorgroup">
+          <xsl:with-param name="node" select="$rtf-authors"/>
+        </xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template name="json-ld-authorgroup">
+    <xsl:param name="node" select="."/>
+    <xsl:for-each select="$node/d:info/d:authorgroup">
+    "author": [<xsl:call-template name="json-ld-person.name.list"/>
+    ],
+    </xsl:for-each>
+  </xsl:template>
+
+  <xsl:template name="json-ld-version">
+    <xsl:param name="node" select="."/>
+    <xsl:variable name="version" select="($node/d:info/d:productnumber)"/>
+
+    <xsl:if test="$version != ''">
+    "version": "<xsl:value-of select="$version"/>",
+    </xsl:if>
+  </xsl:template>
+
+  <xsl:template name="json-ld-person.name.list">
+    <xsl:param name="node" select="."/>
+    <xsl:param name="person.list"  
select="$node/d:author|$node/d:corpauthor|$node/d:othercredit|$node/d:editor"/>
+    <xsl:param name="person.count" select="count($person.list)"/>
+    <xsl:param name="count" select="1"/>
+
+    <xsl:choose>
+      <xsl:when test="$count &gt; $person.count"></xsl:when>
+      <xsl:otherwise>
+        <xsl:variable name="name">
+          <xsl:call-template name="person.name">
+            <xsl:with-param name="node" 
select="$person.list[position()=$count]"/>
+          </xsl:call-template>
+        </xsl:variable>
+        {
+          "@type": "Person",
+          "name": "<xsl:value-of select="string($name)"/>",
+          "role": "<xsl:choose>
+<!--          <xsl:when test="local-name($person.list[position()=$count]) = 
'author'">Writer</xsl:when>-->
+          <xsl:when test="local-name($person.list[position()=$count]) = 
'editor'">Editor</xsl:when>
+          <xsl:when test="local-name($person.list[position()=$count]) = 
'othercredit'">Contributor</xsl:when>
+          <xsl:otherwise>Writer</xsl:otherwise>
+        </xsl:choose>"
+        }<xsl:if test="$count &lt; $person.count">,&#10;</xsl:if>
+        <xsl:call-template name="json-ld-person.name.list">
+          <xsl:with-param name="person.list" select="$person.list"/>
+          <xsl:with-param name="person.count" select="$person.count"/>
+          <xsl:with-param name="count" select="$count+1"/>
+        </xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template name="json-ld-datePublished">
+    <xsl:param name="node" select="."/>
+    <xsl:variable name="date">
+      <xsl:choose>
+        <!-- We look at different tags to extract some date information.
+             Depending on which tag(s) are available.
+
+             TODO: check format. It must be in ISO format.
+        -->
+        <xsl:when test="$node/d:info/d:meta[@name='published']">
+          <xsl:value-of 
select="string($node/d:info/d:meta[@name='published'])"/>
+        </xsl:when>
+        <xsl:when test="$node/d:info/d:pubdate">
+          <xsl:value-of select="string($node/d:info/d:pubdate)"/>
+        </xsl:when>
+        <xsl:when test="$node/d:info/d:date">
+          <xsl:value-of select="string($node/d:info/d:pubdate)"/>
+        </xsl:when>
+        <xsl:when test="$node/d:info/d:revhistory/d:revision[1]/d:date">
+          <xsl:value-of 
select="string($node/d:info/d:revhistory/d:revision[1]/d:date)"/>
+        </xsl:when>
+      </xsl:choose>
+    </xsl:variable>
+
+    <xsl:choose>
+      <xsl:when test="$date != ''">
+    "datePublished": "<xsl:value-of select="normalize-space($date)"/>",
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="log.message">
+          <xsl:with-param name="level">warn</xsl:with-param>
+          <xsl:with-param name="context-desc">JSON-LD</xsl:with-param>
+          <xsl:with-param name="message">
+            <xsl:text>Could not create "datePublished" entry as no element was 
appropriate.</xsl:text>
+          </xsl:with-param>
+        </xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template name="json-ld-dateModified">
+    <xsl:variable name="date">
+    <xsl:choose>
+      <xsl:when test="function-available('date:date-time') or
+                      function-available('date:dateTime')">
+        <xsl:call-template name="datetime.format">
+          <xsl:with-param name="date" select="date:date-time()"/>
+          <xsl:with-param name="format">Y-m-d</xsl:with-param><!-- ISO -->
+      </xsl:call-template>
+      </xsl:when>
+    </xsl:choose>
+    </xsl:variable>
+
+    <xsl:choose>
+      <xsl:when test="$date != ''">
+    "dateModified": "<xsl:value-of select="normalize-space($date)"/>",
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="log.message">
+          <xsl:with-param name="level">warn</xsl:with-param>
+          <xsl:with-param name="context-desc">JSON-LD</xsl:with-param>
+          <xsl:with-param name="message">
+            <xsl:text>Could not create "dateModified" entry as no extension 
was found.</xsl:text>
+          </xsl:with-param>
+        </xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template name="json-ld-publisher">
+    "publisher": {
+      "@type": "Organization",
+      "name": "SUSE",
+      "logo": {
+        "@type": "ImageObject",
+        "url": "https://www.suse.com/assets/img/suse-white-logo-green.svg";
+      }
+    }
+  </xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suse-xsl-2.91.2/suse2022-ns/xhtml/param.xsl 
new/suse-xsl-2.92.0/suse2022-ns/xhtml/param.xsl
--- old/suse-xsl-2.91.2/suse2022-ns/xhtml/param.xsl     2023-05-12 
08:57:18.000000000 +0200
+++ new/suse-xsl-2.92.0/suse2022-ns/xhtml/param.xsl     2023-07-26 
17:00:33.000000000 +0200
@@ -458,5 +458,8 @@
   <xsl:param 
name="include.ssi.body">/docserv/fragments/{{#language#}}/suse-body.fragment.html</xsl:param>
   <xsl:param 
name="include.ssi.footer">/docserv/fragments/{{#language#}}/suse-footer.fragment.html</xsl:param>
 
+  <!-- Should we generate a JSON-LD structure? 0=no, 1=yes -->
+  <xsl:param name="generate.json-ld" select="0"/>
+
   <xsl:variable name="placeholder.ssi.language">{{#language#}}</xsl:variable>
 </xsl:stylesheet>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suse-xsl-2.91.2/suse2022-ns/xhtml/sections.xsl 
new/suse-xsl-2.92.0/suse2022-ns/xhtml/sections.xsl
--- old/suse-xsl-2.91.2/suse2022-ns/xhtml/sections.xsl  2023-05-12 
08:57:18.000000000 +0200
+++ new/suse-xsl-2.92.0/suse2022-ns/xhtml/sections.xsl  2023-07-26 
17:00:33.000000000 +0200
@@ -15,6 +15,12 @@
   xmlns:dm="urn:x-suse:ns:docmanager"
   exclude-result-prefixes="exsl dm">
 
+
+  <xsl:template match="d:info" mode="label.markup">
+    <!-- Delegate it to the parent element -->
+    <xsl:apply-templates select=".." mode="label.markup"/>
+  </xsl:template>
+
   <xsl:template name="create.header.title">
     <xsl:param name="node" select="."/>
     <xsl:param name="level" select="0"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suse-xsl-2.91.2/suse2022-ns/xhtml/xref.xsl 
new/suse-xsl-2.92.0/suse2022-ns/xhtml/xref.xsl
--- old/suse-xsl-2.91.2/suse2022-ns/xhtml/xref.xsl      2023-05-12 
08:57:18.000000000 +0200
+++ new/suse-xsl-2.92.0/suse2022-ns/xhtml/xref.xsl      2023-07-26 
17:00:33.000000000 +0200
@@ -77,6 +77,21 @@
     <xsl:apply-templates select="."/>
   </xsl:template>
 
+  <xsl:template match="d:footnote" mode="xref-to">
+    <xsl:param name="referrer"/>
+    <xsl:param name="xrefstyle"/>
+    <xsl:param name="verbose" select="1"/>
+    <xsl:variable name="href">
+      <xsl:text>ftn.</xsl:text>
+      <xsl:call-template name="object.id">
+        <xsl:with-param name="object" select="."/>
+      </xsl:call-template>
+    </xsl:variable>
+
+    <a href="{$href}">
+      <sup>[<xsl:apply-templates select="." mode="footnote.number"/>]</sup>
+    </a>
+  </xsl:template>
 
 <xsl:template match="d:xref" name="xref">
   <xsl:variable name="context" select="."/>

Reply via email to