Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package geekodoc for openSUSE:Factory 
checked in at 2024-01-08 23:46:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/geekodoc (Old)
 and      /work/SRC/openSUSE:Factory/.geekodoc.new.21961 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "geekodoc"

Mon Jan  8 23:46:35 2024 rev:13 rq:1137583 version:unknown

Changes:
--------
--- /work/SRC/openSUSE:Factory/geekodoc/geekodoc.changes        2023-06-16 
16:55:29.201934857 +0200
+++ /work/SRC/openSUSE:Factory/.geekodoc.new.21961/geekodoc.changes     
2024-01-08 23:46:41.237420607 +0100
@@ -1,0 +2,9 @@
+Sat Dec  2 07:28:21 UTC 2023 - Thomas Schraitle <[email protected]> - 
2.3.0
+
+- Release 2.3.0
+  - Disable unnecessary DocBook 5.2 elements (#116, #110)
+  - Add para between list title and following list element (#117, #105)
+  - Remove entityref from {audio,image,text,video}data (#117)
+  - Validate with attribute (float + unit) (#119, #103)
+
+-------------------------------------------------------------------

Old:
----
  geekodoc-2.2.2.tar.bz2

New:
----
  geekodoc-2.3.0.tar.bz2

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

Other differences:
------------------
++++++ geekodoc.spec ++++++
--- /var/tmp/diff_new_pack.nGPIp7/_old  2024-01-08 23:46:41.797440968 +0100
+++ /var/tmp/diff_new_pack.nGPIp7/_new  2024-01-08 23:46:41.797440968 +0100
@@ -19,7 +19,7 @@
 %bcond_without  tests
 #
 Name:           geekodoc
-Version:        2.2.2
+Version:        2.3.0
 Release:        0
 Summary:        DocBook based RNG Schema for SUSE Documentation
 License:        GPL-3.0-only
@@ -32,7 +32,7 @@
 #               --output=/tmp/novdoc-20190201.tar.bz2 \
 #               --format=tar HEAD novdoc/ catalog.d/
 Source10:       novdoc-20190201.tar.bz2
-BuildRequires:  docbook_5 >= 5.1
+BuildRequires:  docbook_5 >= 5.2
 BuildRequires:  fdupes
 BuildRequires:  jing
 BuildRequires:  libxml2-tools
@@ -81,8 +81,8 @@
 %make_build -C novdoc/rng
 
 %install
-docbookxi_rnc="$(xmlcatalog /etc/xml/catalog 
http://www.docbook.org/xml/5.1/rng/docbookxi.rnc)"
-docbookxi_rng="$(xmlcatalog /etc/xml/catalog 
http://www.docbook.org/xml/5.1/rng/docbookxi.rng)"
+docbookxi_rnc="$(xmlcatalog /etc/xml/catalog 
http://www.docbook.org/xml/5.2/rng/docbookxi.rnc)"
+docbookxi_rng="$(xmlcatalog /etc/xml/catalog 
http://www.docbook.org/xml/5.2/rng/docbookxi.rng)"
 
 install -d %{buildroot}%{_datadir}/xml/{geekodoc/rng/{1_5.1,2_5.2},novdoc/rng} 
\
            %{buildroot}%{_sysconfdir}/xml/catalog.d

++++++ geekodoc-2.2.2.tar.bz2 -> geekodoc-2.3.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/geekodoc-2.2.2/ChangeLog new/geekodoc-2.3.0/ChangeLog
--- old/geekodoc-2.2.2/ChangeLog        2023-02-15 11:44:05.000000000 +0100
+++ new/geekodoc-2.3.0/ChangeLog        2023-12-07 16:21:45.000000000 +0100
@@ -1,4 +1,14 @@
 ------------------------------------------------------------------
+Sat Dec 02 08:17:00 UTC 2023 - [email protected]
+
+Release 2.3.0
+
+* Disable unnecessary DocBook 5.2 elements (#116, #110)
+* Add para between list title and following list element (#117, #105)
+* Remove entityref from {audio,image,text,video}data (#117)
+* Validate with attribute (number + unit) (#119, #103)
+
+------------------------------------------------------------------
 Wed Feb 09 14:30:00 UTC 2022 - [email protected]
 
 Release 2.2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/geekodoc-2.2.2/external/docbook5/db52itsxi.rnc 
new/geekodoc-2.3.0/external/docbook5/db52itsxi.rnc
--- old/geekodoc-2.2.2/external/docbook5/db52itsxi.rnc  2023-02-15 
11:44:05.000000000 +0100
+++ new/geekodoc-2.3.0/external/docbook5/db52itsxi.rnc  2023-12-07 
16:21:45.000000000 +0100
@@ -7,12 +7,13 @@
 namespace mml = "http://www.w3.org/1998/Math/MathML";
 namespace rng = "http://relaxng.org/ns/structure/1.0";
 namespace s = "http://purl.oclc.org/dsdl/schematron";
+namespace src = "http://nwalsh.com/xmlns/litprog/fragment";
 namespace svg = "http://www.w3.org/2000/svg";
 namespace trans = "http://docbook.org/ns/transclusion";
 namespace xi = "http://www.w3.org/2001/XInclude";
 namespace xlink = "http://www.w3.org/1999/xlink";
 
-# This file is part of DocBook ITS XInclude V5.2b10a5
+# This file is part of DocBook ITS XInclude V5.2CR5
 # 
 # Copyright 2007-2020 HaL Computer Systems, Inc.,
 # O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
@@ -50,6 +51,7 @@
 s:ns [ prefix = "mml" uri = "http://www.w3.org/1998/Math/MathML"; ]
 s:ns [ prefix = "rng" uri = "http://relaxng.org/ns/structure/1.0"; ]
 s:ns [ prefix = "s" uri = "http://purl.oclc.org/dsdl/schematron"; ]
+s:ns [ prefix = "src" uri = "http://nwalsh.com/xmlns/litprog/fragment"; ]
 s:ns [ prefix = "svg" uri = "http://www.w3.org/2000/svg"; ]
 s:ns [ prefix = "trans" uri = "http://docbook.org/ns/transclusion"; ]
 s:ns [ prefix = "xi" uri = "http://www.w3.org/2001/XInclude"; ]
@@ -83,7 +85,8 @@
      | db.revhistory
      | db.simpara
      | db.step
-     | db.stepalternatives)
+     | db.stepalternatives
+     | db.info)
   | (db.partintro | db.simplesect)
   | db.annotation
   | (db.sect1 | db.sect2 | db.sect3 | db.sect4 | db.sect5)
@@ -108,16 +111,13 @@
   | (db.qandadiv | db.qandaentry | db.qandaset)
   | (db.equation | db.informalequation)
   | db.cmdsynopsis
-  | (db.synopsis.blocks
-     | db.funcsynopsisinfo
-     | db.classsynopsisinfo
-     | db.programmingsynopsis)
+  | (db.synopsis.blocks | db.funcsynopsisinfo | db.classsynopsisinfo)
   | db.admonition.blocks
   | db.topic
 div {
   db._any.attribute =
     
-    ## Any attribute, including any attribute in any namespace.
+    ## Any attribute, including any attribute in any namespace
     attribute * { text }
 }
 db.arch.attribute =
@@ -154,7 +154,7 @@
   attribute userlevel { text }
 db.vendor.attribute =
   
-  ## Indicates the computer vendor to which the element applies.
+  ## Indicates the computer vendor to which the element applies
   attribute vendor { text }
 db.wordsize.attribute =
   
@@ -414,6 +414,7 @@
   & db.effectivity.attributes
   & db.rdfalite.attributes
   & db.common.transclusion.attributes
+  & db._any_other.attribute*
   & (its-local.attributes & its-attribute.version?)
 db.common.attributes =
   db.xml.id.attribute?
@@ -446,7 +447,7 @@
     "restarts"
 db.verbatim.continuation.attribute =
   
-  ## Determines whether line numbering continues from the previous element or 
restarts.
+  ## Determines whether line numbering continues from the previous element or 
restarts
   attribute continuation { db.verbatim.continuation.enumeration }
 db.verbatim.linenumbering.enumeration =
   
@@ -457,19 +458,19 @@
     "unnumbered"
 db.verbatim.linenumbering.attribute =
   
-  ## Determines whether lines are numbered.
+  ## Determines whether lines are numbered
   attribute linenumbering { db.verbatim.linenumbering.enumeration }
 db.verbatim.startinglinenumber.attribute =
   
-  ## Specifies the initial line number.
+  ## Specifies the initial line number
   attribute startinglinenumber { xsd:integer }
 db.verbatim.language.attribute =
   
-  ## Identifies the language (i.e. programming language) of the verbatim 
content.
+  ## Identifies the language (i.e. programming language) of the verbatim 
content
   attribute language { text }
 db.verbatim.xml.space.attribute =
   
-  ## Can be used to indicate explicitly that whitespace in the verbatim 
environment is preserved. Whitespace must always be preserved in verbatim 
environments whether this attribute is specified or not.
+  ## Can be used to indicate explicitly that whitespace in the verbatim 
environment is preserved. Whitespace must always be preserved in verbatim 
environments whether this attribute is specified or not
   attribute xml:space {
     
     ## Whitespace must be preserved.
@@ -514,7 +515,7 @@
   attribute pgwide { db.pgwide.enumeration }
 db.language.attribute =
   
-  ## Identifies the language (i.e. programming language) of the content.
+  ## Identifies the language (i.e. programming language) of the content
   attribute language { text }
 db.performance.enumeration =
   
@@ -525,7 +526,7 @@
     "required"
 db.performance.attribute =
   
-  ## Specifies if the content is required or optional.
+  ## Specifies if the content is required or optional
   attribute performance { db.performance.enumeration }
 db.floatstyle.attribute =
   
@@ -965,6 +966,18 @@
   db.info =
     
     ## A wrapper for information about a component or other block
+    [
+      s:pattern [
+        s:title [ "Root must have version" ]
+        s:rule [
+          context = "/db:info"
+          s:assert [
+            test = "@version"
+            "If this element is the root element, it must have a version 
attribute."
+          ]
+        ]
+      ]
+    ]
     element info { db.info.attlist, (db._title & db.info.elements*) }
 }
 div {
@@ -974,6 +987,18 @@
   db.titlereq.info =
     
     ## A wrapper for information about a component or other block with a 
required title
+    [
+      s:pattern [
+        s:title [ "Root must have version" ]
+        s:rule [
+          context = "/db:info"
+          s:assert [
+            test = "@version"
+            "If this element is the root element, it must have a version 
attribute."
+          ]
+        ]
+      ]
+    ]
     element info {
       db.titlereq.info.attlist, (db._title.req & db.info.elements*)
     }
@@ -985,6 +1010,18 @@
   db.titleonly.info =
     
     ## A wrapper for information about a component or other block with only a 
title
+    [
+      s:pattern [
+        s:title [ "Root must have version" ]
+        s:rule [
+          context = "/db:info"
+          s:assert [
+            test = "@version"
+            "If this element is the root element, it must have a version 
attribute."
+          ]
+        ]
+      ]
+    ]
     element info {
       db.titleonly.info.attlist, (db._title.only & db.info.elements*)
     }
@@ -996,6 +1033,18 @@
   db.titleonlyreq.info =
     
     ## A wrapper for information about a component or other block with only a 
required title
+    [
+      s:pattern [
+        s:title [ "Root must have version" ]
+        s:rule [
+          context = "/db:info"
+          s:assert [
+            test = "@version"
+            "If this element is the root element, it must have a version 
attribute."
+          ]
+        ]
+      ]
+    ]
     element info {
       db.titleonlyreq.info.attlist,
       (db._title.onlyreq & db.info.elements*)
@@ -1008,6 +1057,18 @@
   db.titleforbidden.info =
     
     ## A wrapper for information about a component or other block without a 
title
+    [
+      s:pattern [
+        s:title [ "Root must have version" ]
+        s:rule [
+          context = "/db:info"
+          s:assert [
+            test = "@version"
+            "If this element is the root element, it must have a version 
attribute."
+          ]
+        ]
+      ]
+    ]
     element info { db.titleforbidden.info.attlist, db.info.elements* }
 }
 div {
@@ -1717,7 +1778,7 @@
     attribute continuation { db.orderedlist.continuation.enumeration }
   db.orderedlist.startingnumber.attribute =
     
-    ## Specifies the initial line number.
+    ## Specifies the initial line number
     attribute startingnumber { xsd:integer }
   db.orderedlist.inheritnum.enumeration =
     
@@ -1890,7 +1951,7 @@
       "inline"
   db.simplelist.type.attribute =
     
-    ## Specifies the type of list presentation.
+    ## Specifies the type of list presentation
     [ a:defaultValue = "vert" ]
     attribute type { db.simplelist.type.enumeration }
   db.simplelist.columns.attribute =
@@ -4146,10 +4207,26 @@
 }
 div {
   db.citetitle.pubwork.enumeration = db.pubwork.enumeration
-  db.citetitle.pubwork.attribute =
+  db.citetitle.pubwork-enum.attribute =
     
     ## Identifies the nature of the publication being cited
     attribute pubwork { db.citetitle.pubwork.enumeration }
+  db.citetitle.pubwork-other.attribute =
+    
+    ## Identifies the nature of some other kind of publication being cited
+    attribute otherpubwork { xsd:NMTOKEN }
+  db.citetitle.pubwork-other.attributes =
+    
+    ## Identifies that this is some other kind of publication being cited
+    attribute pubwork {
+      
+      ## Indicates that the published work is some 'other' kind.
+      "other"
+    }
+    & db.citetitle.pubwork-other.attribute
+  db.citetitle.pubwork.attribute =
+    db.citetitle.pubwork-enum.attribute
+    | db.citetitle.pubwork-other.attributes
   db.citetitle.role.attribute = attribute role { text }
   db.citetitle.attlist =
     db.citetitle.role.attribute?
@@ -4971,7 +5048,7 @@
   db.annotation.role.attribute = attribute role { text }
   db.annotation.annotates.attribute =
     
-    ## Identifies one ore more elements to which this annotation applies
+    ## Identifies one or more elements to which this annotation applies
     attribute annotates { text }
   db.annotation.attlist =
     db.annotation.role.attribute?
@@ -7753,7 +7830,7 @@
     & db.charoff.attribute?
     & db.column-spec.attributes?
     & db.entrytbl.tgroupstyle.attribute?
-    & db.entrytbl.cols.attribute?
+    & db.entrytbl.cols.attribute
     & db.colsep.attribute?
     & db.rowsep.attribute?
     & db.align.attribute?
@@ -9921,6 +9998,10 @@
     ## Indicates the displayed length of the command; this information may be 
used to intelligently indent command synopses which extend beyond one line
     attribute cmdlength { text }
   db.cmdsynopsis.label.attribute = db.label.attribute
+  db.cmdsynopsis.packageref.attribute =
+    
+    ## Identifies the package to which this synopsis (logically) belongs
+    attribute packageref { text }
   db.cmdsynopsis.attlist =
     db.cmdsynopsis.role.attribute?
     & db.common.attributes
@@ -9928,6 +10009,7 @@
     & db.cmdsynopsis.sepchar.attribute?
     & db.cmdsynopsis.cmdlength.attribute?
     & db.cmdsynopsis.label.attribute?
+    & db.cmdsynopsis.packageref.attribute?
   db.cmdsynopsis.info = db._info.title.forbidden
   db.cmdsynopsis =
     
@@ -10086,8 +10168,6 @@
   | db.buildtarget
   | db.oo.inlines
   | db.templatename
-  | db.namespace
-  | db.namespacename
   | db.macroname
   | db.unionname
   | db.enumname
@@ -10104,15 +10184,10 @@
    | db.fieldsynopsis
    | db.enumsynopsis
    | db.typedefsynopsis
-   | db.namespacesynopsis
+   | db.packagesynopsis
    | db.macrosynopsis
    | db.unionsynopsis)
   | db.cmdsynopsis
-db.programmingsynopsis =
-  db.namespacesynopsis
-  | db.macrosynopsis
-  | db.typedefsynopsis
-  | db.enumsynopsis
 div {
   db.synopsis.role.attribute = attribute role { text }
   db.synopsis.label.attribute = db.label.attribute
@@ -10156,11 +10231,16 @@
 div {
   db.funcsynopsis.info = db._info.title.forbidden
   db.funcsynopsis.role.attribute = attribute role { text }
+  db.funcsynopsis.packageref.attribute =
+    
+    ## Identifies the package to which this synopsis (logically) belongs
+    attribute packageref { text }
   db.funcsynopsis.attlist =
     db.funcsynopsis.role.attribute?
     & db.common.attributes
     & db.common.linking.attributes
     & db.language.attribute?
+    & db.funcsynopsis.packageref.attribute?
   db.funcsynopsis =
     
     ## The syntax summary for a function definition
@@ -10347,12 +10427,17 @@
     
     ## Specifies the nature of the synopsis
     attribute class { db.classsynopsis.class.enumeration }
+  db.classsynopsis.packageref.attribute =
+    
+    ## Identifies the package to which this synopsis (logically) belongs
+    attribute packageref { text }
   db.classsynopsis.attlist =
     db.classsynopsis.role.attribute?
     & db.common.attributes
     & db.common.linking.attributes
     & db.language.attribute?
     & db.classsynopsis.class.attribute?
+    & db.classsynopsis.packageref.attribute?
   db.classsynopsis =
     
     ## The syntax summary for a class definition
@@ -10419,7 +10504,10 @@
     
     ## A class in an object-oriented programming language
     element ooclass {
-      db.ooclass.attlist, (db.package | db.modifier)*, db.classname
+      db.ooclass.attlist,
+      (db.package | db.modifier)*,
+      db.classname,
+      db.modifier*
     }
 }
 div {
@@ -10434,7 +10522,8 @@
     element oointerface {
       db.oointerface.attlist,
       (db.package | db.modifier)*,
-      db.interfacename
+      db.interfacename,
+      db.modifier*
     }
 }
 div {
@@ -10449,7 +10538,8 @@
     element ooexception {
       db.ooexception.attlist,
       (db.package | db.modifier)*,
-      db.exceptionname
+      db.exceptionname,
+      db.modifier*
     }
 }
 db.modifier.xml.space.attribute =
@@ -10509,11 +10599,16 @@
 div {
   db.fieldsynopsis.info = db._info.title.forbidden
   db.fieldsynopsis.role.attribute = attribute role { text }
+  db.fieldsynopsis.packageref.attribute =
+    
+    ## Identifies the package to which this synopsis (logically) belongs
+    attribute packageref { text }
   db.fieldsynopsis.attlist =
     db.fieldsynopsis.role.attribute?
     & db.common.attributes
     & db.common.linking.attributes
     & db.language.attribute?
+    & db.fieldsynopsis.packageref.attribute?
   db.fieldsynopsis =
     
     ## The name of a field in a class definition
@@ -10536,6 +10631,7 @@
       db.modifier*,
       (db.type | db.templatename)*,
       db.varname,
+      db.modifier*,
       db.initializer?,
       db.synopsisinfo*
     }
@@ -10557,11 +10653,16 @@
 div {
   db.constructorsynopsis.info = db._info.title.forbidden
   db.constructorsynopsis.role.attribute = attribute role { text }
+  db.constructorsynopsis.packageref.attribute =
+    
+    ## Identifies the package to which this synopsis (logically) belongs
+    attribute packageref { text }
   db.constructorsynopsis.attlist =
     db.constructorsynopsis.role.attribute?
     & db.common.attributes
     & db.common.linking.attributes
     & db.language.attribute?
+    & db.constructorsynopsis.packageref.attribute?
   db.constructorsynopsis =
     
     ## A syntax summary for a constructor
@@ -10584,6 +10685,7 @@
       db.modifier*,
       db.methodname?,
       ((db.methodparam | db.group.methodparam)+ | db.void?),
+      db.modifier*,
       db.exceptionname*,
       db.synopsisinfo*
     }
@@ -10591,11 +10693,16 @@
 div {
   db.destructorsynopsis.info = db._info.title.forbidden
   db.destructorsynopsis.role.attribute = attribute role { text }
+  db.destructorsynopsis.packageref.attribute =
+    
+    ## Identifies the package to which this synopsis (logically) belongs
+    attribute packageref { text }
   db.destructorsynopsis.attlist =
     db.destructorsynopsis.role.attribute?
     & db.common.attributes
     & db.common.linking.attributes
     & db.language.attribute?
+    & db.destructorsynopsis.packageref.attribute?
   db.destructorsynopsis =
     
     ## A syntax summary for a destructor
@@ -10618,6 +10725,7 @@
       db.modifier*,
       db.methodname?,
       ((db.methodparam | db.group.methodparam)+ | db.void?),
+      db.modifier*,
       db.exceptionname*,
       db.synopsisinfo*
     }
@@ -10625,11 +10733,16 @@
 div {
   db.methodsynopsis.info = db._info.title.forbidden
   db.methodsynopsis.role.attribute = attribute role { text }
+  db.methodsynopsis.packageref.attribute =
+    
+    ## Identifies the package to which this synopsis (logically) belongs
+    attribute packageref { text }
   db.methodsynopsis.attlist =
     db.methodsynopsis.role.attribute?
     & db.common.attributes
     & db.common.linking.attributes
     & db.language.attribute?
+    & db.methodsynopsis.packageref.attribute?
   db.methodsynopsis =
     
     ## A syntax summary for a method
@@ -10817,45 +10930,26 @@
     }
 }
 div {
-  db.namespace.role.attribute = attribute role { text }
-  db.namespace.attlist =
-    db.namespace.role.attribute?
-    & db.common.attributes
-    & db.common.linking.attributes
-  db.namespace =
-    
-    ## The definition of a name space, which may be more than a name
-    element namespace {
-      db.namespace.attlist, db.modifier*, db.namespacename, db.modifier*
-    }
-}
-div {
-  db.namespacename.role.attribute = attribute role { text }
-  db.namespacename.attlist =
-    db.namespacename.role.attribute?
-    & db.common.attributes
-    & db.common.linking.attributes
-  db.namespacename =
-    
-    ## The name of a name space
-    element namespacename { db.namespacename.attlist, db._text }
-}
-div {
-  db.namespacesynopsis.info = db._info.title.forbidden
-  db.namespacesynopsis.role.attribute = attribute role { text }
-  db.namespacesynopsis.attlist =
-    db.namespacesynopsis.role.attribute?
+  db.packagesynopsis.info = db._info.title.forbidden
+  db.packagesynopsis.role.attribute = attribute role { text }
+  db.packagesynopsis.packageref.attribute =
+    
+    ## Identifies the package to which this synopsis (logically) belongs
+    attribute packageref { text }
+  db.packagesynopsis.attlist =
+    db.packagesynopsis.role.attribute?
     & db.common.attributes
     & db.common.linking.attributes
     & db.language.attribute?
-  db.namespacesynopsis =
+    & db.packagesynopsis.packageref.attribute?
+  db.packagesynopsis =
     
-    ## The syntax summary for a name space definition
+    ## The syntax summary for a package definition
     [
       s:pattern [
         s:title [ "Root must have version" ]
         s:rule [
-          context = "/db:namespacesynopsis"
+          context = "/db:packagesynopsis"
           s:assert [
             test = "@version"
             "If this element is the root element, it must have a version 
attribute."
@@ -10863,14 +10957,14 @@
         ]
       ]
     ]
-    element namespacesynopsis {
-      db.namespacesynopsis.attlist,
-      db.namespacesynopsis.info,
+    element packagesynopsis {
+      db.packagesynopsis.attlist,
+      db.packagesynopsis.info,
       db.synopsisinfo*,
-      (db.package | db.modifier)*,
-      (db.namespace | db.namespacename),
-      (db.package | db.modifier)*,
-      db.synopsisinfo*
+      db.modifier*,
+      db.package,
+      db.modifier*,
+      (db.synopsis.blocks | db.synopsisinfo)*
     }
 }
 div {
@@ -10887,11 +10981,16 @@
 div {
   db.macrosynopsis.info = db._info.title.forbidden
   db.macrosynopsis.role.attribute = attribute role { text }
+  db.macrosynopsis.packageref.attribute =
+    
+    ## Identifies the package to which this synopsis (logically) belongs
+    attribute packageref { text }
   db.macrosynopsis.attlist =
     db.macrosynopsis.role.attribute?
     & db.common.attributes
     & db.common.linking.attributes
     & db.language.attribute?
+    & db.macrosynopsis.packageref.attribute?
   db.macrosynopsis =
     
     ## The syntax summary for a macro definition (code-generating function)
@@ -10981,12 +11080,17 @@
     
     ## Indicates how the value of a union is specified.
     attribute ordered { db.enumsynopsis.ordered.enumeration }
+  db.unionsynopsis.packageref.attribute =
+    
+    ## Identifies the package to which this synopsis (logically) belongs
+    attribute packageref { text }
   db.unionsynopsis.attlist =
     db.unionsynopsis.role.attribute?
     & db.common.attributes
     & db.common.linking.attributes
     & db.language.attribute?
     & db.unionsynopsis.ordered.attribute?
+    & db.unionsynopsis.packageref.attribute?
   db.unionsynopsis =
     
     ## The syntax summary for a union-of-types definition
@@ -11089,12 +11193,17 @@
     
     ## Indicates how the value of an enumeration is specified.
     attribute ordered { db.enumsynopsis.ordered.enumeration }
+  db.enumsynopsis.packageref.attribute =
+    
+    ## Identifies the package to which this synopsis (logically) belongs
+    attribute packageref { text }
   db.enumsynopsis.attlist =
     db.enumsynopsis.role.attribute?
     & db.common.attributes
     & db.common.linking.attributes
     & db.language.attribute?
     & db.enumsynopsis.ordered.attribute?
+    & db.enumsynopsis.packageref.attribute?
   db.enumsynopsis =
     
     ## The syntax summary for an enumerated-type definition
@@ -11115,7 +11224,7 @@
       db.enumsynopsis.info,
       db.synopsisinfo*,
       (db.package | db.modifier)*,
-      db.enumname?,
+      (db.enumname, db.modifier*)?,
       db.enumitem+,
       db.synopsisinfo*
     }
@@ -11134,11 +11243,16 @@
 div {
   db.typedefsynopsis.info = db._info.title.forbidden
   db.typedefsynopsis.role.attribute = attribute role { text }
+  db.typedefsynopsis.packageref.attribute =
+    
+    ## Identifies the package to which this synopsis (logically) belongs
+    attribute packageref { text }
   db.typedefsynopsis.attlist =
     db.typedefsynopsis.role.attribute?
     & db.common.attributes
     & db.common.linking.attributes
     & db.language.attribute?
+    & db.typedefsynopsis.packageref.attribute?
   db.typedefsynopsis =
     
     ## The syntax summary for a type-alias definition
@@ -11918,10 +12032,13 @@
 div {
   db.any.other.attribute = attribute * - local:* { text }
   db.xi.include.attlist =
-    attribute href { xsd:anyURI }?,
+    attribute href {
+      xsd:anyURI { pattern = "[^#]+" }
+    }?,
     [ a:defaultValue = "xml" ] attribute parse { "xml" | "text" }?,
     attribute xpointer { text }?,
     attribute fragid { text }?,
+    attribute set-xml-id { text }?,
     attribute encoding { text }?,
     attribute accept { text }?,
     attribute accept-language { text }?,
@@ -11944,6 +12061,12 @@
      | text
      | db._any)*
   }
+db._any_other.attribute =
+  
+  ## Any attribute in an other explicit namespace.
+  attribute * - (db:* | xml:* | xlink:* | trans:* | its:* | local:*) {
+    text
+  }
 # Include base ITS schema
 
 ## Version of ITS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/geekodoc-2.2.2/geekodoc/rng/2_5.2/geekodoc-v2.rnc 
new/geekodoc-2.3.0/geekodoc/rng/2_5.2/geekodoc-v2.rnc
--- old/geekodoc-2.2.2/geekodoc/rng/2_5.2/geekodoc-v2.rnc       2023-02-15 
11:44:05.000000000 +0100
+++ new/geekodoc-2.3.0/geekodoc/rng/2_5.2/geekodoc-v2.rnc       2023-12-07 
16:21:45.000000000 +0100
@@ -238,6 +238,7 @@
   db.blockquote = notAllowed
   # db.book = notAllowed
   # db.bridgehead = notAllowed
+  db.buildtarget = notAllowed
   # db.callout = notAllowed
   # db.calloutlist = notAllowed
   db.caption = notAllowed
@@ -275,6 +276,7 @@
   db.coref = notAllowed
   db.country = notAllowed
   # db.cover = notAllowed
+  db.danger = notAllowed
   db.database = notAllowed
   # db.date = notAllowed
   db.dedication = notAllowed
@@ -285,6 +287,11 @@
   # db.emphasis = notAllowed
   # db.entry = notAllowed
   db.entrytbl = notAllowed
+  db.enumidentifier = notAllowed
+  db.enumitem = notAllowed
+  db.enumname = notAllowed
+  db.enumsynopsis = notAllowed
+  db.enumvalue = notAllowed
   # db.envar = notAllowed
   db.epigraph = notAllowed
   db.equation = notAllowed
@@ -305,6 +312,7 @@
   db.footnoteref = notAllowed
   db.foreignphrase = notAllowed
   # db.formalpara = notAllowed
+  # db.formalgroup = notAllowed
   db.funcdef = notAllowed
   db.funcparams = notAllowed
   db.funcprototype = notAllowed
@@ -365,12 +373,16 @@
   # db.literal = notAllowed
   db.literallayout = notAllowed
   db.locator = notAllowed
+  db.macroname = notAllowed
+  db.macroprototype = notAllowed
+  db.macrosynopsis = notAllowed
   db.manvolnum = notAllowed
   db.markup = notAllowed
   db.mathphrase = notAllowed
   # db.mediaobject = notAllowed
   # db.member = notAllowed
   # db.menuchoice = notAllowed
+  # db.meta = notAllowed
   db.methodname = notAllowed
   db.methodparam = notAllowed
   db.methodsynopsis = notAllowed
@@ -405,6 +417,7 @@
   # db.othercredit = notAllowed
   db.othername = notAllowed
   # db.package = notAllowed
+  db.packagesynopsis = notAllowed
   db.pagenums = notAllowed
   # db.para = notAllowed
   db.paramdef = notAllowed
@@ -489,6 +502,7 @@
   # db.simplemsgentry = notAllowed
   db.simplesect = notAllowed
   # db.spanspec = notAllowed
+  db.specializedtemplate = notAllowed
   db.state = notAllowed
   # db.step = notAllowed
   # db.stepalternatives = notAllowed
@@ -505,12 +519,17 @@
   db.synopfragment = notAllowed
   db.synopfragmentref = notAllowed
   db.synopsis = notAllowed
+  db.synopsisinfo = notAllowed
   # db.systemitem = notAllowed
   # db.tag = notAllowed
   # db.task = notAllowed
   # db.taskprerequisites = notAllowed
   # db.taskrelated = notAllowed
   # db.tasksummary = notAllowed
+  # db.tbody = notAllowed
+  # db.td = notAllowed
+  db.template = notAllowed
+  db.templatename = notAllowed
   # db.term = notAllowed
   db.termdef = notAllowed
   # db.tertiary = notAllowed
@@ -529,6 +548,11 @@
   db.token = notAllowed
   # db.trademark = notAllowed
   db.type = notAllowed
+  db.typedefname = notAllowed
+  db.typedefsynopsis = notAllowed
+  db.union = notAllowed
+  db.unionname = notAllowed
+  db.unionsynopsis = notAllowed
   # db.uri = notAllowed
   db.userinput = notAllowed
   db.varargs = notAllowed
@@ -1100,6 +1124,25 @@
      attribute xml:id {
        xsd:ID { pattern = "[\-0-9a-zA-Z]+"} }
   }
+  
+  # Issue 103
+  # Validate the width attribute which consists of a number followed by a unit.
+  #
+  # Not allowed is:
+  #  - a number without the unit
+  #  - a zero width, be it 0UNIT or 0.0UNIT. Allowed is 0.xUNIT whereas 9 >= x 
>= 1
+  #  - a leading zero like 05UNIT
+  div {
+    db.width.attribute =
+      ## Specifies the width of the element
+      ## Only a float with a unit are possible, single floats are forbidden
+      ## Allowed units are %, mm, cm, in, and *
+      attribute width {
+        xsd:string {
+          pattern = "(0\.[0-9]|[1-9][0-9]*(\.[0-9])?)(%|mm|cm|in|\*)"
+          }
+        }
+  }
 
   div
   { # Issue #90: Restrict character set of profiling attributes
@@ -1158,9 +1201,9 @@
    (
     ## Indentifies the location of the data by URI
     attribute fileref { xsd:anyURI }
-    |
-    ## Identifies the location of the data by external identifier (entity name)
-    attribute entityref { xsd:ENTITY }
+    # |
+    # ## Identifies the location of the data by external identifier (entity 
name)
+    # attribute entityref { xsd:ENTITY }
    )
 
   # restrict prompts only allowing root/user/custom prompts ("root" and
@@ -1713,7 +1756,7 @@
       element calloutlist {
         db.calloutlist.attlist,
         db.calloutlist.info,
-        # db.para.blocks*,
+        db.para.blocks*,
         db.callout+
       }
 
@@ -1722,7 +1765,7 @@
       element itemizedlist {
         db.itemizedlist.attlist,
         db.itemizedlist.info,
-        # db.para.blocks*,
+        db.para.blocks*,
         db.listitem+
       }
 
@@ -1731,7 +1774,7 @@
       element orderedlist {
         db.orderedlist.attlist,
         db.orderedlist.info,
-        # db.para.blocks*,
+        db.para.blocks*,
         db.listitem+
       }
 
@@ -1740,7 +1783,7 @@
       element variablelist {
         db.variablelist.attlist,
         db.variablelist.info,
-        # db.para.blocks*,
+        db.para.blocks*,
         db.varlistentry+
       }
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/geekodoc-2.2.2/tests/v2/bad/entityref.xml 
new/geekodoc-2.3.0/tests/v2/bad/entityref.xml
--- old/geekodoc-2.2.2/tests/v2/bad/entityref.xml       1970-01-01 
01:00:00.000000000 +0100
+++ new/geekodoc-2.3.0/tests/v2/bad/entityref.xml       2023-12-07 
16:21:45.000000000 +0100
@@ -0,0 +1,16 @@
+<?xml-model href="geekodoc-v2-flat.rnc" 
type="application/relax-ng-compact-syntax"?>
+<!DOCTYPE article
+[
+  <!ENTITY image SYSTEM "image.png" NDATA PNG>
+]>
+<article xmlns="http://docbook.org/ns/docbook"; xml:lang="en" 
xml:id="article-admons">
+ <title>Test Article for entityref attribute</title>
+  <informalfigure>
+    <mediaobject>
+      <imageobject>
+        <!-- error: element "imagedata" missing required attribute "fileref" 
-->
+        <imagedata format="PNG" entityref="image"/>
+      </imageobject>
+    </mediaobject>
+  </informalfigure>
+</article>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/geekodoc-2.2.2/tests/v2/bad/lists-105.xml 
new/geekodoc-2.3.0/tests/v2/bad/lists-105.xml
--- old/geekodoc-2.2.2/tests/v2/bad/lists-105.xml       1970-01-01 
01:00:00.000000000 +0100
+++ new/geekodoc-2.3.0/tests/v2/bad/lists-105.xml       2023-12-07 
16:21:45.000000000 +0100
@@ -0,0 +1,32 @@
+<?xml-model href="geekodoc-v2-flat.rnc" 
type="application/relax-ng-compact-syntax"?>
+<article xmlns="http://docbook.org/ns/docbook"; version="5.2">
+  <title>Testing Issue #105</title>
+
+  <itemizedlist>
+    <caution>
+      <para>Caution is not allowed</para>
+    </caution>
+    <listitem>
+      <para />
+    </listitem>
+  </itemizedlist>
+
+  <orderedlist>
+    <note>
+      <para>Note is not allowed</para>
+    </note>
+    <listitem>
+      <para/>
+    </listitem>
+  </orderedlist>
+
+  <variablelist>
+    <screen>A screen is not allowed</screen>
+    <varlistentry>
+      <term>A term</term>
+      <listitem>
+        <para/>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+</article>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/geekodoc-2.2.2/tests/v2/bad/width-attr-103.xml 
new/geekodoc-2.3.0/tests/v2/bad/width-attr-103.xml
--- old/geekodoc-2.2.2/tests/v2/bad/width-attr-103.xml  1970-01-01 
01:00:00.000000000 +0100
+++ new/geekodoc-2.3.0/tests/v2/bad/width-attr-103.xml  2023-12-07 
16:21:45.000000000 +0100
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-model href="/usr/share/xml/geekodoc/rng/geekodoc-latest-flat.rnc" 
type="application/relax-ng-compact-syntax"?>
+<article version="5.1-subset GeekoDoc-2.0.0" xml:lang="en"
+   xmlns="http://docbook.org/ns/docbook";
+   xmlns:db="http://docbook.org/ns/docbook";
+   xmlns:xi="http://www.w3.org/2001/XInclude";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:its="http://www.w3.org/2005/11/its";>
+   <title>Test issue #103</title>
+   <informalfigure>
+      <mediaobject>
+         <imageobject>
+            <imagedata fileref="image.png" width="00%"/>
+         </imageobject>
+      </mediaobject>
+   </informalfigure>
+
+   <informalfigure>
+      <mediaobject>
+         <imageobject>
+            <imagedata fileref="image.png" width="05in"/>
+         </imageobject>
+      </mediaobject>
+   </informalfigure>
+
+   <informalfigure>
+      <mediaobject>
+         <imageobject>
+            <imagedata fileref="image.png" width="5"/>
+         </imageobject>
+      </mediaobject>
+   </informalfigure>
+
+   <informalfigure>
+      <mediaobject>
+         <imageobject>
+            <imagedata fileref="image.png" width="-50mm"/>
+         </imageobject>
+      </mediaobject>
+   </informalfigure>
+
+   <informalfigure>
+      <mediaobject>
+         <imageobject>
+            <imagedata fileref="image.png" width="03.5mm"/>
+         </imageobject>
+      </mediaobject>
+   </informalfigure>
+
+</article>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/geekodoc-2.2.2/tests/v2/good/article-admons.xml 
new/geekodoc-2.3.0/tests/v2/good/article-admons.xml
--- old/geekodoc-2.2.2/tests/v2/good/article-admons.xml 2023-02-15 
11:44:05.000000000 +0100
+++ new/geekodoc-2.3.0/tests/v2/good/article-admons.xml 2023-12-07 
16:21:45.000000000 +0100
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<?xml-model href="geekodoc-v1-flat.rnc" 
type="application/relax-ng-compact-syntax"?>
+<?xml-model href="geekodoc-v2-flat.rnc" 
type="application/relax-ng-compact-syntax"?>
 <article xmlns="http://docbook.org/ns/docbook"; xml:lang="en" 
xml:id="article-admons">
  <title>Test Article for Admonitions</title>
  <note>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/geekodoc-2.2.2/tests/v2/good/article-guilabel.xml 
new/geekodoc-2.3.0/tests/v2/good/article-guilabel.xml
--- old/geekodoc-2.2.2/tests/v2/good/article-guilabel.xml       2023-02-15 
11:44:05.000000000 +0100
+++ new/geekodoc-2.3.0/tests/v2/good/article-guilabel.xml       2023-12-07 
16:21:45.000000000 +0100
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<?xml-model href="geekodoc-v1-flat.rnc" 
type="application/relax-ng-compact-syntax"?>
+<?xml-model href="geekodoc-v2-flat.rnc" 
type="application/relax-ng-compact-syntax"?>
 <article xmlns="http://docbook.org/ns/docbook"; xml:lang="en" 
xml:id="article-admons">
  <title>Test Article for <tag>guilabel</tag></title>
  <para>See <guilabel>Configuration</guilabel>.</para>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/geekodoc-2.2.2/tests/v2/good/lists-105.xml 
new/geekodoc-2.3.0/tests/v2/good/lists-105.xml
--- old/geekodoc-2.2.2/tests/v2/good/lists-105.xml      1970-01-01 
01:00:00.000000000 +0100
+++ new/geekodoc-2.3.0/tests/v2/good/lists-105.xml      2023-12-07 
16:21:45.000000000 +0100
@@ -0,0 +1,41 @@
+<?xml-model href="geekodoc-v2-flat.rnc" 
type="application/relax-ng-compact-syntax"?>
+<article xmlns="http://docbook.org/ns/docbook"; version="5.2">
+  <title>Testing Issue #105</title>
+  <itemizedlist>
+    <title>A title</title>
+    <para>A paragraph</para>
+    <listitem>
+      <para/>
+    </listitem>
+  </itemizedlist>
+
+  <itemizedlist>
+    <title>A title</title>
+    <para>A paragraph</para>
+    <formalpara>
+      <title>A formalpara title</title>
+      <para/>
+    </formalpara>
+    <listitem>
+      <para/>
+    </listitem>
+  </itemizedlist>
+
+  <orderedlist>
+    <para>A paragraph</para>
+    <listitem>
+      <para/>
+    </listitem>
+  </orderedlist>
+
+  <variablelist>
+    <para>A paragraph</para>
+    <varlistentry>
+      <term>A term</term>
+      <listitem>
+        <para/>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+
+</article>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/geekodoc-2.2.2/tests/v2/good/width-attr-103.xml 
new/geekodoc-2.3.0/tests/v2/good/width-attr-103.xml
--- old/geekodoc-2.2.2/tests/v2/good/width-attr-103.xml 1970-01-01 
01:00:00.000000000 +0100
+++ new/geekodoc-2.3.0/tests/v2/good/width-attr-103.xml 2023-12-07 
16:21:45.000000000 +0100
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-model href="geekodoc-v2-flat.rnc" 
type="application/relax-ng-compact-syntax"?>
+<article version="5.1-subset GeekoDoc-2.0.0" xml:lang="en"
+   xmlns="http://docbook.org/ns/docbook";
+   xmlns:db="http://docbook.org/ns/docbook";
+   xmlns:xi="http://www.w3.org/2001/XInclude";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:its="http://www.w3.org/2005/11/its";>
+   <title>Test issue #103</title>
+   <informalfigure>
+      <mediaobject>
+         <imageobject>
+            <imagedata fileref="image.png" width="9%"/>
+         </imageobject>
+      </mediaobject>
+   </informalfigure>
+   <informalfigure>
+      <mediaobject>
+         <imageobject>
+            <imagedata fileref="image.png" width="9.5%"/>
+         </imageobject>
+      </mediaobject>
+   </informalfigure>
+   <informalfigure>
+      <mediaobject>
+         <imageobject>
+            <imagedata fileref="image.png" width="60%"/>
+         </imageobject>
+      </mediaobject>
+   </informalfigure>
+
+   <informalfigure>
+      <mediaobject>
+         <imageobject>
+            <imagedata fileref="image.png" width="5in"/>
+         </imageobject>
+      </mediaobject>
+   </informalfigure>
+   <informalfigure>
+      <mediaobject>
+         <imageobject>
+            <imagedata fileref="image.png" width="5.3in"/>
+         </imageobject>
+      </mediaobject>
+   </informalfigure>
+   <informalfigure>
+      <mediaobject>
+         <imageobject>
+            <imagedata fileref="image.png" width="20in"/>
+         </imageobject>
+      </mediaobject>
+   </informalfigure>
+
+   <informalfigure>
+      <mediaobject>
+         <imageobject>
+            <imagedata fileref="image.png" width="5cm"/>
+         </imageobject>
+      </mediaobject>
+   </informalfigure>
+   <informalfigure>
+      <mediaobject>
+         <imageobject>
+            <imagedata fileref="image.png" width="5.7cm"/>
+         </imageobject>
+      </mediaobject>
+   </informalfigure>
+   <informalfigure>
+      <mediaobject>
+         <imageobject>
+            <imagedata fileref="image.png" width="12cm"/>
+         </imageobject>
+      </mediaobject>
+   </informalfigure>
+
+   <informalfigure>
+      <mediaobject>
+         <imageobject>
+            <imagedata fileref="image.png" width="5mm"/>
+         </imageobject>
+      </mediaobject>
+   </informalfigure>
+   <informalfigure>
+      <mediaobject>
+         <imageobject>
+            <imagedata fileref="image.png" width="5.2mm"/>
+         </imageobject>
+      </mediaobject>
+   </informalfigure>
+   <informalfigure>
+      <mediaobject>
+         <imageobject>
+            <imagedata fileref="image.png" width="120mm"/>
+         </imageobject>
+      </mediaobject>
+   </informalfigure>
+ 
+</article>

Reply via email to