texlive[65691] Master/texmf-dist: tagpdf (30jan23)

commits+karl at tug.org commits+karl at tug.org
Mon Jan 30 21:50:36 CET 2023


Revision: 65691
          http://tug.org/svn/texlive?view=revision&revision=65691
Author:   karl
Date:     2023-01-30 21:50:36 +0100 (Mon, 30 Jan 2023)
Log Message:
-----------
tagpdf (30jan23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/tagpdf/README.md
    trunk/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf
    trunk/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf
    trunk/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex
    trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-backend.dtx
    trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-checks.dtx
    trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-data.dtx
    trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-generic.dtx
    trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-luacode.dtx
    trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-shared.dtx
    trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-roles.dtx
    trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-space.dtx
    trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-struct.dtx
    trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-tree.dtx
    trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-user.dtx
    trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf.dtx
    trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf.ins
    trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty
    trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty
    trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty
    trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def
    trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty
    trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty
    trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def
    trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-inline.def
    trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def
    trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def
    trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def
    trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def
    trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv
    trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv
    trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua
    trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty
    trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty

Modified: trunk/Master/texmf-dist/doc/latex/tagpdf/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tagpdf/README.md	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/doc/latex/tagpdf/README.md	2023-01-30 20:50:36 UTC (rev 65691)
@@ -1,6 +1,6 @@
 #tagpdf — A package to create tagged pdf
-Packageversion: 0.98b 
-Packagedate: 2023/01/24
+Packageversion: 0.98c 
+Packagedate: 2023/01/30
 Author: Ulrike Fischer
 
 ## License

Modified: trunk/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex	2023-01-30 20:50:36 UTC (rev 65691)
@@ -15,8 +15,8 @@
  }
 
 \makeatletter
-\def\UlrikeFischer at package@version{0.98b}
-\def\UlrikeFischer at package@date{2023-01-24}
+\def\UlrikeFischer at package@version{0.98c}
+\def\UlrikeFischer at package@date{2023-01-30}
 \makeatother
 
 \documentclass[DIV=12,parskip=half-,bibliography=totoc,a4paper]{article}

Modified: trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-backend.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-backend.dtx	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-backend.dtx	2023-01-30 20:50:36 UTC (rev 65691)
@@ -2,7 +2,7 @@
 %
 %% File: tagpdf-backend.dtx
 %
-% Copyright (C) 2019-2022 Ulrike Fischer
+% Copyright (C) 2019-2023 Ulrike Fischer
 %
 % It may be distributed and/or modified under the conditions of the
 % LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -47,13 +47,13 @@
 %    }^^A
 % }
 %
-% \date{Version 0.98b, released 2023-01-24}
+% \date{Version 0.98c, released 2023-01-30}
 % \maketitle
 % \begin{implementation}
 %    \begin{macrocode}
 %<@@=tag>
 %<*luatex>
-\ProvidesExplFile {tagpdf-luatex.def} {2023-01-24} {0.98b}
+\ProvidesExplFile {tagpdf-luatex.def} {2023-01-30} {0.98c}
   {tagpdf~driver~for~luatex}
 %    \end{macrocode}
 % \section{Loading the lua}
@@ -158,8 +158,8 @@
 
 local ProvidesLuaModule = {
     name          = "tagpdf",
-    version       = "0.98b",       --TAGVERSION
-    date          = "2023-01-24", --TAGDATE
+    version       = "0.98c",       --TAGVERSION
+    date          = "2023-01-30", --TAGDATE
     description   = "tagpdf lua code",
     license       = "The LATEX Project Public License 1.3c"
 }

Modified: trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-checks.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-checks.dtx	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-checks.dtx	2023-01-30 20:50:36 UTC (rev 65691)
@@ -2,7 +2,7 @@
 %
 %% File: tagpdf-checks.dtx
 %
-% Copyright (C) 2019-2022 Ulrike Fischer
+% Copyright (C) 2019-2023 Ulrike Fischer
 %
 % It may be distributed and/or modified under the conditions of the
 % LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -48,7 +48,7 @@
 %    }^^A
 % }
 %
-% \date{Version 0.98b, released 2023-01-24}
+% \date{Version 0.98c, released 2023-01-30}
 % \maketitle
 % \begin{documentation}
 % \section{Commands}
@@ -295,7 +295,7 @@
 %    \begin{macrocode}
 %<@@=tag>
 %<*header>
-\ProvidesExplPackage {tagpdf-checks-code} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-checks-code} {2023-01-30} {0.98c}
  {part of tagpdf - code related to checks, conditionals, debugging and messages}
 %</header>
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-data.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-data.dtx	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-data.dtx	2023-01-30 20:50:36 UTC (rev 65691)
@@ -47,7 +47,7 @@
 %    }^^A
 % }
 %
-% \date{Version 0.98b, released 2023-01-24}
+% \date{Version 0.98c, released 2023-01-30}
 % \maketitle
 % \begin{documentation}
 % This files contains a various data files which are read in
@@ -60,7 +60,7 @@
 % It lists the new tag, the rolemap and the namespace of the rolemap.
 %    \begin{macrocode}
 %<*ns-latex>
-%% \ProvidesExplFile {tagpdf-ns-latex.def} {2023-01-24} {0.98b}
+%% \ProvidesExplFile {tagpdf-ns-latex.def} {2023-01-30} {0.98c}
 %% {latex} {https://www.latex-project.org/ns/dflt/2022}{}
 title,        Title,    pdf2,
 part,         Title,    pdf2,
@@ -86,7 +86,7 @@
 % It is bound to change
 %    \begin{macrocode}
 %<*ns-latex-book>
-%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2023-01-24} {0.98b}
+%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2023-01-30} {0.98c}
 %% {latex-book} {https://www.latex-project.org/ns/book/2022}{}
 chapter,       H1,pdf2,
 section,       H2,pdf2,
@@ -102,7 +102,7 @@
 % It is bound to change a lot!
 %    \begin{macrocode}
 %<*ns-latex-inline>
-%% \ProvidesExplFile {tagpdf-ns-latex-inline.def} {2023-01-24} {0.98b}
+%% \ProvidesExplFile {tagpdf-ns-latex-inline.def} {2023-01-30} {0.98c}
 %% {latex-inline} {https://www.latex-project.org/ns/inline/2022}{}
 chapter,       Span, pdf2,    
 section,       Span, pdf2,
@@ -116,7 +116,7 @@
 % \section{The pdf namespace data}
 %    \begin{macrocode}
 %<*ns-pdf>
-%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2023-01-24} {0.98b}
+%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2023-01-30} {0.98c}
 %%  {pdf}   {http://iso.org/pdf/ssn}{}
 StructTreeRoot,StructTreeRoot,pdf,D,
 Document,Document,pdf,D,   
@@ -184,7 +184,7 @@
 % \section{The pdf 2.0 namespace data}
 %    \begin{macrocode}
 %<*ns-pdf2>
-%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2023-01-24} {0.98b} 
+%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2023-01-30} {0.98c} 
 %%  {pdf2}  {http://iso.org/pdf2/ssn}{}
 Document,Document,pdf2,D,   
 Part,Part,pdf2,G,       
@@ -240,7 +240,7 @@
 % \section{The mathml namespace data}
 %    \begin{macrocode}
 %<*ns-mathml>
-%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2023-01-24} {0.98b}
+%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2023-01-30} {0.98c}
 % {mathml}{http://www.w3.org/1998/Math/MathML}{}
 abs,,,
 and,,,
@@ -475,7 +475,7 @@
 % This will perhaps change in future.
 %    \begin{macrocode}
 %<*parent-child>
-%% \ProvidesExplFile {tagpdf-parent-child.csv} {2023-01-24} {0.98b}
+%% \ProvidesExplFile {tagpdf-parent-child.csv} {2023-01-30} {0.98c}
 ,,,StructTreeRoot,Document,Art,Part,Div,Sect,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,MC
 Document,both,document level,1,0..n,∅,‡,‡,∅,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅
 Art,1.7,grouping,∅,0..n,∅,‡,‡,0..n,0..n,‡,∅,∅,∅,0..n,∅,0..n,∅,∅,∅,0..1,0..1,∅,∅,∅,0..n,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,0..n,∅,∅,0..n,0..n,∅,∅,∅,0..n,0..n,∅,∅
@@ -530,7 +530,7 @@
 % This will perhaps change in future.
 %    \begin{macrocode}
 %<*parent-child-2>
-%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2023-01-24} {0.98b}
+%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2023-01-30} {0.98c}
 ,,,StructTreeRoot,Document,DocumentFragment,Art,Part,Div,Sect,Aside,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Title,Sub,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Em,Strong,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,FENote,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,math,mathml,Artifact,MC
 Document,both,document level,1,0..n,0..n,∅,‡,‡,∅,0..n,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,0..n,∅
 DocumentFragment,2.0,document level,∅,0..n,0..n,0..n,‡,‡,0..n,0..n,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅*,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅*,∅*,∅,∅,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅,0..n,∅

Modified: trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-generic.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-generic.dtx	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-generic.dtx	2023-01-30 20:50:36 UTC (rev 65691)
@@ -2,7 +2,7 @@
 %
 %% File: tagpdf-mc-generic.dtx
 %
-% Copyright (C) 2019-2022 Ulrike Fischer
+% Copyright (C) 2019-2023 Ulrike Fischer
 %
 % It may be distributed and/or modified under the conditions of the
 % LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -46,7 +46,7 @@
 %    }^^A
 % }
 %
-% \date{Version 0.98b, released 2023-01-24}
+% \date{Version 0.98c, released 2023-01-30}
 % \maketitle
 % \begin{documentation}
 % \end{documentation}
@@ -55,11 +55,11 @@
 %    \begin{macrocode}
 %<@@=tag>
 %<*generic>
-\ProvidesExplPackage {tagpdf-mc-code-generic} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-mc-code-generic} {2023-01-30} {0.98c}
  {part of tagpdf - code related to marking chunks - generic mode}
 %</generic>
 %<*debug>
-\ProvidesExplPackage {tagpdf-debug-generic} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-debug-generic} {2023-01-30} {0.98c}
  {part of tagpdf - debugging code related to marking chunks - generic mode}
 %</debug>
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-luacode.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-luacode.dtx	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-luacode.dtx	2023-01-30 20:50:36 UTC (rev 65691)
@@ -2,7 +2,7 @@
 %
 %% File: tagpdf-mc-luacode.dtx
 %
-% Copyright (C) 2019-2022 Ulrike Fischer
+% Copyright (C) 2019-2023 Ulrike Fischer
 %
 % It may be distributed and/or modified under the conditions of the
 % LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -46,7 +46,7 @@
 %    }^^A
 % }
 %
-% \date{Version 0.98b, released 2023-01-24}
+% \date{Version 0.98c, released 2023-01-30}
 % \maketitle
 % \begin{implementation}
 % The code is splitted into three parts: code shared by all engines,
@@ -86,7 +86,7 @@
 %    \begin{macrocode}
 %<@@=tag>
 %<*luamode>
-\ProvidesExplPackage {tagpdf-mc-code-lua} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-mc-code-lua} {2023-01-30} {0.98c}
   {tagpdf - mc code only for the luamode }
 %</luamode>
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-shared.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-shared.dtx	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-shared.dtx	2023-01-30 20:50:36 UTC (rev 65691)
@@ -2,7 +2,7 @@
 %
 %% File: tagpdf-mc-shared.dtx
 %
-% Copyright (C) 2019-2022 Ulrike Fischer
+% Copyright (C) 2019-2023 Ulrike Fischer
 %
 % It may be distributed and/or modified under the conditions of the
 % LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -46,7 +46,7 @@
 %    }^^A
 % }
 %
-% \date{Version 0.98b, released 2023-01-24}
+% \date{Version 0.98c, released 2023-01-30}
 % \maketitle
 % \begin{documentation}
 % \section{Public Commands}
@@ -174,7 +174,7 @@
 %    \begin{macrocode}
 %<@@=tag>
 %<*header>
-\ProvidesExplPackage {tagpdf-mc-code-shared} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-mc-code-shared} {2023-01-30} {0.98c}
   {part of tagpdf - code related to marking chunks -
    code shared by generic and luamode }
 %</header>

Modified: trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-roles.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-roles.dtx	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-roles.dtx	2023-01-30 20:50:36 UTC (rev 65691)
@@ -2,7 +2,7 @@
 %
 %% File: tagpdf-roles.dtx
 %
-% Copyright (C) 2019-2022 Ulrike Fischer
+% Copyright (C) 2019-2023 Ulrike Fischer
 %
 % It may be distributed and/or modified under the conditions of the
 % LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -46,7 +46,7 @@
 %    }^^A
 % }
 %
-% \date{Version 0.98b, released 2023-01-24}
+% \date{Version 0.98c, released 2023-01-30}
 % \maketitle
 % \begin{documentation}
 % \begin{function}
@@ -85,12 +85,20 @@
 % Namespaces are mostly a PDF 2.0 property, but it doesn't harm to 
 % set them also in a PDF 1.7 or earlier.
 % \end{function}
+% 
+% \begin{function}[TF]{\tag_check_child:nn}
+% \begin{syntax}
+% \cs{tag_check_child:nn}\Arg{tag}\Arg{namespace} \Arg{true code} \Arg{false code}
+% \end{syntax}
+% This checks if the tag \meta{tag} from the name space \meta{namespace}
+% can be used at the current position. In tagpdf-base it is always true. 
+% \end{function}
 % \end{documentation}
 % \begin{implementation}
 %    \begin{macrocode}
 %<@@=tag>
 %<*header>
-\ProvidesExplPackage {tagpdf-roles-code} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-roles-code} {2023-01-30} {0.98c}
  {part of tagpdf - code related to roles and structure names}
 %</header>
 %    \end{macrocode}
@@ -522,14 +530,14 @@
 %    \begin{macrocode}
     \tl_if_empty:nF { #2 }
       {
-        \prop_get:cnN { g__tag_role_NS_#4_prop } {#3}\l_@@_tmpa_tl
+        \prop_get:cnN { g_@@_role_NS_#4_prop } {#3}\l_@@_tmpa_tl
         \quark_if_no_value:NTF \l_@@_tmpa_tl
           {          
-            \prop_gput:cnx { g__tag_role_NS_#2_prop } {#1}
+            \prop_gput:cnx { g_@@_role_NS_#2_prop } {#1}
               {{\tl_to_str:n{#3}}{\tl_to_str:n{#4}}}
           }
           {
-            \prop_gput:cno { g__tag_role_NS_#2_prop } {#1}{\l_@@_tmpa_tl}
+            \prop_gput:cno { g_@@_role_NS_#2_prop } {#1}{\l_@@_tmpa_tl}
           }          
       }       
    }
@@ -642,7 +650,7 @@
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_role_read_namespace:n #1 %name of namespace
   { 
-    \prop_if_exist:cF {g__tag_role_NS_#1_prop}
+    \prop_if_exist:cF {g_@@_role_NS_#1_prop}
       { \msg_warning:nnn {tag}{namespace-unknown}{#1} }
     \file_if_exist:nTF { tagpdf-ns-#1.def}
      { 
@@ -1155,8 +1163,32 @@
   }
 \cs_generate_variant:Nn\@@_check_parent_child:nnN {VVN}  
 \cs_generate_variant:Nn\@@_check_parent_child:nnnnN {VVVVN,nVnVN,VVnnN}  
+%</package>
 %    \end{macrocode}
 % \end{macro}
+% 
+% \begin{macro}[TF]{\tag_check_child:nn}
+%    \begin{macrocode}
+%<base>\prg_new_protected_conditional:Npnn \tag_check_child:nn #1 #2 {T,F,TF}{\prg_return_true:}
+%<*package>
+\prg_set_protected_conditional:Npnn \tag_check_child:nn #1 #2 {T,F,TF}
+ {
+   \seq_get:NN\g_@@_struct_stack_seq\l_@@_tmpa_tl
+   \@@_struct_get_tag_info:eNN
+      {\l_@@_tmpa_tl}
+      \l_@@_get_parent_tmpa_tl
+      \l_@@_get_parent_tmpb_tl
+   \@@_check_parent_child:VVnnN
+     \l_@@_get_parent_tmpa_tl
+     \l_@@_get_parent_tmpb_tl
+      {#1}{#2}
+      \l_@@_parent_child_check_tl
+   \int_compare:nNnTF {  \l_@@_parent_child_check_tl } < {0}
+      {\prg_return_false:} 
+      {\prg_return_true:}
+ } 
+%    \end{macrocode}
+% \end{macro}
 %
 % \subsection{Remapping of tags}
 % In some context it can be necessary to remap or replace the tags. 
@@ -1199,7 +1231,7 @@
   {
     \cs_new_protected:Npn \@@_role_remap_inline:
       {
-        \prop_get:cVNT { g__tag_role_NS_latex-inline_prop }\l_@@_role_remap_tag_tl\l_@@_tmpa_tl
+        \prop_get:cVNT { g_@@_role_NS_latex-inline_prop }\l_@@_role_remap_tag_tl\l_@@_tmpa_tl
           {
             \tl_set:Nx\l_@@_role_remap_tag_tl
               {
@@ -1219,7 +1251,7 @@
   {
     \cs_new_protected:Npn \@@_role_remap_inline:
       {
-        \prop_get:cVNT { g__tag_role_NS_latex-inline_prop }\l_@@_role_remap_tag_tl\l_@@_tmpa_tl
+        \prop_get:cVNT { g_@@_role_NS_latex-inline_prop }\l_@@_role_remap_tag_tl\l_@@_tmpa_tl
           {
             \tl_set:Nn\l_@@_role_remap_NS_tl {latex-inline}
           }

Modified: trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-space.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-space.dtx	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-space.dtx	2023-01-30 20:50:36 UTC (rev 65691)
@@ -2,7 +2,7 @@
 %
 %% File: tagpdf-space.dtx
 %
-% Copyright (C) 2019-2022 Ulrike Fischer
+% Copyright (C) 2019-2023 Ulrike Fischer
 %
 % It may be distributed and/or modified under the conditions of the
 % LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -46,7 +46,7 @@
 %    }^^A
 % }
 %
-% \date{Version 0.98b, released 2023-01-24}
+% \date{Version 0.98c, released 2023-01-30}
 % \maketitle
 % \begin{documentation}
 % \begin{function}{interwordspace (setup-key)}
@@ -64,7 +64,7 @@
 %    \begin{macrocode}
 %<@@=tag>
 %<*header>
-\ProvidesExplPackage {tagpdf-space-code} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-space-code} {2023-01-30} {0.98c}
  {part of tagpdf - code related to real space chars}
 %</header>
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-struct.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-struct.dtx	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-struct.dtx	2023-01-30 20:50:36 UTC (rev 65691)
@@ -2,7 +2,7 @@
 %
 %% File: tagpdf-struct.dtx
 %
-% Copyright (C) 2019-2022 Ulrike Fischer
+% Copyright (C) 2019-2023 Ulrike Fischer
 %
 % It may be distributed and/or modified under the conditions of the
 % LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -46,7 +46,7 @@
 %    }^^A
 % }
 %
-% \date{Version 0.98b, released 2023-01-24}
+% \date{Version 0.98c, released 2023-01-30}
 % \maketitle
 % \begin{documentation}
 % \section{Public Commands}
@@ -242,7 +242,7 @@
 %    \begin{macrocode}
 %<@@=tag>
 %<*header>
-\ProvidesExplPackage {tagpdf-struct-code} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-struct-code} {2023-01-30} {0.98c}
  {part of tagpdf - code related to storing structure}
 %</header>
 %    \end{macrocode}
@@ -1510,7 +1510,7 @@
 % \section{Attributes and attribute classes}
 %    \begin{macrocode}
 %<*header>
-\ProvidesExplPackage {tagpdf-attr-code} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-attr-code} {2023-01-30} {0.98c}
   {part of tagpdf - code related to attributes and attribute classes}
 %</header>
 %    \end{macrocode}
@@ -1577,7 +1577,7 @@
   {
     attribute-class .code:n =
      {
-       \clist_set:No \l_@@_tmpa_clist { #1 }
+       \clist_set:Nx \l_@@_tmpa_clist { #1 }
        \seq_set_from_clist:NN \l_@@_tmpb_seq \l_@@_tmpa_clist
 %    \end{macrocode}
 %    we convert the names into pdf names with slash
@@ -1618,50 +1618,53 @@
   {
     attribute .code:n  = % A property (attribute, value currently a dictionary)
       {
-        \clist_set:No          \l_@@_tmpa_clist { #1 }
-        \seq_set_from_clist:NN \l_@@_tmpb_seq \l_@@_tmpa_clist
+        \clist_set:Nx          \l_@@_tmpa_clist { #1 }
+        \clist_if_empty:NF \l_@@_tmpa_clist
+         {
+            \seq_set_from_clist:NN \l_@@_tmpb_seq \l_@@_tmpa_clist
 %    \end{macrocode}
 %    we convert the names into pdf names with slash
 %    \begin{macrocode}
-       \seq_set_map_x:NNn \l_@@_tmpa_seq \l_@@_tmpb_seq
-         {
-           \pdf_name_from_unicode_e:n {##1}
-         }
-        \tl_set:Nx \l_@@_attr_value_tl
-          {
-            \int_compare:nT { \seq_count:N \l_@@_tmpa_seq > 1 }{[}%]
-          }
-        \seq_map_inline:Nn \l_@@_tmpa_seq
-          {
-            \prop_if_in:NnF \g_@@_attr_entries_prop {##1}
+           \seq_set_map_x:NNn \l_@@_tmpa_seq \l_@@_tmpb_seq
+             {
+               \pdf_name_from_unicode_e:n {##1}
+             }
+            \tl_set:Nx \l_@@_attr_value_tl
               {
-                \msg_error:nnn { tag } { attr-unknown } { ##1 }
+                \int_compare:nT { \seq_count:N \l_@@_tmpa_seq > 1 }{[}%]
               }
-            \prop_if_in:NnF \g_@@_attr_objref_prop {##1}
-              {%\prop_show:N \g_@@_attr_entries_prop
-                \pdf_object_unnamed_write:nx
-                  { dict }
+            \seq_map_inline:Nn \l_@@_tmpa_seq
+              {
+                \prop_if_in:NnF \g_@@_attr_entries_prop {##1}
                   {
-                    \prop_item:Nn\g_@@_attr_entries_prop {##1}
+                    \msg_error:nnn { tag } { attr-unknown } { ##1 }
                   }
-                \prop_gput:Nnx \g_@@_attr_objref_prop {##1} {\pdf_object_ref_last:}
+                \prop_if_in:NnF \g_@@_attr_objref_prop {##1}
+                  {%\prop_show:N \g_@@_attr_entries_prop
+                    \pdf_object_unnamed_write:nx
+                      { dict }
+                      {
+                        \prop_item:Nn\g_@@_attr_entries_prop {##1}
+                      }
+                    \prop_gput:Nnx \g_@@_attr_objref_prop {##1} {\pdf_object_ref_last:}
+                  }
+                \tl_put_right:Nx \l_@@_attr_value_tl
+                  {
+                    \c_space_tl
+                    \prop_item:Nn \g_@@_attr_objref_prop {##1}
+                  }
+     %     \tl_show:N \l_@@_attr_value_tl
               }
             \tl_put_right:Nx \l_@@_attr_value_tl
-              {
-                \c_space_tl
-                \prop_item:Nn \g_@@_attr_objref_prop {##1}
+              { %[
+                \int_compare:nT { \seq_count:N \l_@@_tmpa_seq > 1 }{]}%
               }
- %     \tl_show:N \l_@@_attr_value_tl
-          }
-        \tl_put_right:Nx \l_@@_attr_value_tl
-          { %[
-            \int_compare:nT { \seq_count:N \l_@@_tmpa_seq > 1 }{]}%
-          }
- %     \tl_show:N \l_@@_attr_value_tl
-        \@@_prop_gput:cnx
-          { g_@@_struct_\int_eval:n {\c at g_@@_struct_abs_int}_prop }
-          { A }
-          { \l_@@_attr_value_tl }
+     %     \tl_show:N \l_@@_attr_value_tl
+            \@@_prop_gput:cnx
+              { g_@@_struct_\int_eval:n {\c at g_@@_struct_abs_int}_prop }
+              { A }
+              { \l_@@_attr_value_tl }
+         }    
     },
   }
 %</package>

Modified: trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-tree.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-tree.dtx	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-tree.dtx	2023-01-30 20:50:36 UTC (rev 65691)
@@ -2,7 +2,7 @@
 %
 %% File: tagpdf-tree.dtx
 %
-% Copyright (C) 2019-2022 Ulrike Fischer
+% Copyright (C) 2019-2023 Ulrike Fischer
 %
 % It may be distributed and/or modified under the conditions of the
 % LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -47,13 +47,13 @@
 %    }^^A
 % }
 %
-% \date{Version 0.98b, released 2023-01-24}
+% \date{Version 0.98c, released 2023-01-30}
 % \maketitle
 % \begin{implementation}
 %    \begin{macrocode}
 %<@@=tag>
 %<*header>
-\ProvidesExplPackage {tagpdf-tree-code} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-tree-code} {2023-01-30} {0.98c}
  {part of tagpdf - code related to writing trees and dictionaries to the pdf}
 %</header>
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-user.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-user.dtx	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf-user.dtx	2023-01-30 20:50:36 UTC (rev 65691)
@@ -2,7 +2,7 @@
 %
 %% File: tagpdf-user.dtx
 %
-% Copyright (C) 2019-2022 Ulrike Fischer
+% Copyright (C) 2019-2023 Ulrike Fischer
 %
 % It may be distributed and/or modified under the conditions of the
 % LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -46,7 +46,7 @@
 %    }^^A
 % }
 %
-% \date{Version 0.98b, released 2023-01-24}
+% \date{Version 0.98c, released 2023-01-30}
 % \maketitle
 % \begin{documentation}
 % \section{Setup commands}
@@ -246,7 +246,7 @@
 %    \begin{macrocode}
 %<@@=tag>
 %<*header>
-\ProvidesExplPackage {tagpdf-user} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-user} {2023-01-30} {0.98c}
   {tagpdf - user commands}
 %</header>
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf.dtx	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf.dtx	2023-01-30 20:50:36 UTC (rev 65691)
@@ -2,7 +2,7 @@
 %
 %% File: tagpdf.dtx
 %
-% Copyright (C) 2019-2022 Ulrike Fischer
+% Copyright (C) 2019-2023 Ulrike Fischer
 %
 % It may be distributed and/or modified under the conditions of the
 % LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -92,7 +92,7 @@
 %    \begin{macrocode}
 %<@@=tag>
 %<*package>
-\ProvidesExplPackage {tagpdf} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf} {2023-01-30} {0.98c}
   { A package to experiment with pdf tagging }
 
 \bool_if:nF
@@ -118,7 +118,7 @@
 %    \end{macrocode}
 %<*debug>
 %    \begin{macrocode}
-\ProvidesExplPackage {tagpdf-debug} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-debug} {2023-01-30} {0.98c}
   { debug code for tagpdf }
 \@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput}
 %    \end{macrocode}
@@ -159,7 +159,7 @@
 %    \end{macrocode}
 %    \begin{macrocode}
 %<*base>
-\ProvidesExplPackage {tagpdf-base} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-base} {2023-01-30} {0.98c}
   {part of tagpdf - provide base, no-op versions of the user commands }
 %</base>
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf.ins	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/source/latex/tagpdf/tagpdf.ins	2023-01-30 20:50:36 UTC (rev 65691)
@@ -79,6 +79,7 @@
     \from{tagpdf-struct.dtx}{base}
     \from{tagpdf-checks.dtx}{base}
     \from{tagpdf-user.dtx}{base}
+    \from{tagpdf-roles.dtx}{base}
    }
  }
 

Modified: trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty	2023-01-30 20:50:36 UTC (rev 65691)
@@ -10,6 +10,7 @@
 %% tagpdf-struct.dtx  (with options: `base')
 %% tagpdf-checks.dtx  (with options: `base')
 %% tagpdf-user.dtx  (with options: `base')
+%% tagpdf-roles.dtx  (with options: `base')
 %% 
 %% Copyright (C) 2019-2022 Ulrike Fischer
 %% 
@@ -24,7 +25,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: tagpdf.dtx
-\ProvidesExplPackage {tagpdf-base} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-base} {2023-01-30} {0.98c}
   {part of tagpdf - provide base, no-op versions of the user commands }
 \AddToHook{begindocument}
  {
@@ -107,6 +108,8 @@
   }
 \newcommand\tagpdfparaOn {}
 \newcommand\tagpdfparaOff{}
+%% File: tagpdf-roles.dtx
+\prg_new_protected_conditional:Npnn \tag_check_child:nn #1 #2 {T,F,TF}{\prg_return_true:}
 %% 
 %%
 %% End of file `tagpdf-base.sty'.

Modified: trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty	2023-01-30 20:50:36 UTC (rev 65691)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: tagpdf-mc-generic.dtx
-\ProvidesExplPackage {tagpdf-debug-generic} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-debug-generic} {2023-01-30} {0.98c}
  {part of tagpdf - debugging code related to marking chunks - generic mode}
 \cs_set_protected:Npn \tag_mc_begin:n #1 %#1 keyval
   {

Modified: trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty	2023-01-30 20:50:36 UTC (rev 65691)
@@ -26,7 +26,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: tagpdf.dtx
-\ProvidesExplPackage {tagpdf-debug} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-debug} {2023-01-30} {0.98c}
   { debug code for tagpdf }
 \@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput}
 \prop_gput:Nnn \g_msg_module_type_prop { tag / debug} {}

Modified: trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def	2023-01-30 20:50:36 UTC (rev 65691)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: tagpdf-backend.dtx
-\ProvidesExplFile {tagpdf-luatex.def} {2023-01-24} {0.98b}
+\ProvidesExplFile {tagpdf-luatex.def} {2023-01-30} {0.98c}
   {tagpdf~driver~for~luatex}
 {
   \fontencoding{TU}\fontfamily{lmr}\fontseries{m}\fontshape{n}\fontsize{10pt}{10pt}\selectfont

Modified: trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty	2023-01-30 20:50:36 UTC (rev 65691)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: tagpdf-mc-generic.dtx
-\ProvidesExplPackage {tagpdf-mc-code-generic} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-mc-code-generic} {2023-01-30} {0.98c}
  {part of tagpdf - code related to marking chunks - generic mode}
 \__tag_prop_new:N \g__tag_MCID_byabspage_prop
 

Modified: trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty	2023-01-30 20:50:36 UTC (rev 65691)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: tagpdf-mc-luacode.dtx
-\ProvidesExplPackage {tagpdf-mc-code-lua} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf-mc-code-lua} {2023-01-30} {0.98c}
   {tagpdf - mc code only for the luamode }
 \hook_gput_code:nnn{begindocument}{tagpdf/mc}
   {

Modified: trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def	2023-01-30 20:50:36 UTC (rev 65691)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: tagpdf-data.dtx
-%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2023-01-24} {0.98b}
+%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2023-01-30} {0.98c}
 %% {latex-book} {https://www.latex-project.org/ns/book/2022}{}
 chapter,       H1,pdf2,
 section,       H2,pdf2,

Modified: trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-inline.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-inline.def	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-inline.def	2023-01-30 20:50:36 UTC (rev 65691)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: tagpdf-data.dtx
-%% \ProvidesExplFile {tagpdf-ns-latex-inline.def} {2023-01-24} {0.98b}
+%% \ProvidesExplFile {tagpdf-ns-latex-inline.def} {2023-01-30} {0.98c}
 %% {latex-inline} {https://www.latex-project.org/ns/inline/2022}{}
 chapter,       Span, pdf2,
 section,       Span, pdf2,

Modified: trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def	2023-01-30 20:50:36 UTC (rev 65691)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: tagpdf-data.dtx
-%% \ProvidesExplFile {tagpdf-ns-latex.def} {2023-01-24} {0.98b}
+%% \ProvidesExplFile {tagpdf-ns-latex.def} {2023-01-30} {0.98c}
 %% {latex} {https://www.latex-project.org/ns/dflt/2022}{}
 title,        Title,    pdf2,
 part,         Title,    pdf2,

Modified: trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def	2023-01-30 20:50:36 UTC (rev 65691)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: tagpdf-data.dtx
-%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2023-01-24} {0.98b}
+%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2023-01-30} {0.98c}
 abs,,,
 and,,,
 annotation,,,

Modified: trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def	2023-01-30 20:50:36 UTC (rev 65691)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: tagpdf-data.dtx
-%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2023-01-24} {0.98b}
+%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2023-01-30} {0.98c}
 %%  {pdf}   {http://iso.org/pdf/ssn}{}
 StructTreeRoot,StructTreeRoot,pdf,D,
 Document,Document,pdf,D,

Modified: trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def	2023-01-30 20:50:36 UTC (rev 65691)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: tagpdf-data.dtx
-%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2023-01-24} {0.98b}
+%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2023-01-30} {0.98c}
 %%  {pdf2}  {http://iso.org/pdf2/ssn}{}
 Document,Document,pdf2,D,
 Part,Part,pdf2,G,

Modified: trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv	2023-01-30 20:50:36 UTC (rev 65691)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: tagpdf-data.dtx
-%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2023-01-24} {0.98b}
+%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2023-01-30} {0.98c}
 ,,,StructTreeRoot,Document,DocumentFragment,Art,Part,Div,Sect,Aside,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Title,Sub,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Em,Strong,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,FENote,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,math,mathml,Artifact,MC
 Document,both,document level,1,0..n,0..n,∅,‡,‡,∅,0..n,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,0..n,∅
 DocumentFragment,2.0,document level,∅,0..n,0..n,0..n,‡,‡,0..n,0..n,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅*,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅*,∅*,∅,∅,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅,0..n,∅

Modified: trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv	2023-01-30 20:50:36 UTC (rev 65691)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: tagpdf-data.dtx
-%% \ProvidesExplFile {tagpdf-parent-child.csv} {2023-01-24} {0.98b}
+%% \ProvidesExplFile {tagpdf-parent-child.csv} {2023-01-30} {0.98c}
 ,,,StructTreeRoot,Document,Art,Part,Div,Sect,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,MC
 Document,both,document level,1,0..n,∅,‡,‡,∅,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅
 Art,1.7,grouping,∅,0..n,∅,‡,‡,0..n,0..n,‡,∅,∅,∅,0..n,∅,0..n,∅,∅,∅,0..1,0..1,∅,∅,∅,0..n,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,0..n,∅,∅,0..n,0..n,∅,∅,∅,0..n,0..n,∅,∅

Modified: trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua	2023-01-30 20:50:36 UTC (rev 65691)
@@ -24,8 +24,8 @@
 
 local ProvidesLuaModule = {
     name          = "tagpdf",
-    version       = "0.98b",       --TAGVERSION
-    date          = "2023-01-24", --TAGDATE
+    version       = "0.98c",       --TAGVERSION
+    date          = "2023-01-30", --TAGDATE
     description   = "tagpdf lua code",
     license       = "The LATEX Project Public License 1.3c"
 }

Modified: trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty	2023-01-30 20:50:36 UTC (rev 65691)
@@ -28,7 +28,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: tagpdf.dtx
-\ProvidesExplPackage {tagpdf} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdf} {2023-01-30} {0.98c}
   { A package to experiment with pdf tagging }
 
 \bool_if:nF
@@ -1709,6 +1709,22 @@
   }
 \cs_generate_variant:Nn\__tag_check_parent_child:nnN {VVN}
 \cs_generate_variant:Nn\__tag_check_parent_child:nnnnN {VVVVN,nVnVN,VVnnN}
+\prg_set_protected_conditional:Npnn \tag_check_child:nn #1 #2 {T,F,TF}
+ {
+   \seq_get:NN\g__tag_struct_stack_seq\l__tag_tmpa_tl
+   \__tag_struct_get_tag_info:eNN
+      {\l__tag_tmpa_tl}
+      \l__tag_get_parent_tmpa_tl
+      \l__tag_get_parent_tmpb_tl
+   \__tag_check_parent_child:VVnnN
+     \l__tag_get_parent_tmpa_tl
+     \l__tag_get_parent_tmpb_tl
+      {#1}{#2}
+      \l__tag_parent_child_check_tl
+   \int_compare:nNnTF {  \l__tag_parent_child_check_tl } < {0}
+      {\prg_return_false:}
+      {\prg_return_true:}
+ }
 \tl_new:N \l__tag_role_remap_tag_tl
 \tl_new:N \l__tag_role_remap_NS_tl
 \cs_new_protected:Npn \__tag_role_remap: {  }
@@ -2626,7 +2642,7 @@
   {
     attribute-class .code:n =
      {
-       \clist_set:No \l__tag_tmpa_clist { #1 }
+       \clist_set:Nx \l__tag_tmpa_clist { #1 }
        \seq_set_from_clist:NN \l__tag_tmpb_seq \l__tag_tmpa_clist
        \seq_set_map_x:NNn \l__tag_tmpa_seq \l__tag_tmpb_seq
          {
@@ -2660,47 +2676,50 @@
   {
     attribute .code:n  = % A property (attribute, value currently a dictionary)
       {
-        \clist_set:No          \l__tag_tmpa_clist { #1 }
-        \seq_set_from_clist:NN \l__tag_tmpb_seq \l__tag_tmpa_clist
-       \seq_set_map_x:NNn \l__tag_tmpa_seq \l__tag_tmpb_seq
+        \clist_set:Nx          \l__tag_tmpa_clist { #1 }
+        \clist_if_empty:NF \l__tag_tmpa_clist
          {
-           \pdf_name_from_unicode_e:n {##1}
-         }
-        \tl_set:Nx \l__tag_attr_value_tl
-          {
-            \int_compare:nT { \seq_count:N \l__tag_tmpa_seq > 1 }{[}%]
-          }
-        \seq_map_inline:Nn \l__tag_tmpa_seq
-          {
-            \prop_if_in:NnF \g__tag_attr_entries_prop {##1}
+            \seq_set_from_clist:NN \l__tag_tmpb_seq \l__tag_tmpa_clist
+           \seq_set_map_x:NNn \l__tag_tmpa_seq \l__tag_tmpb_seq
+             {
+               \pdf_name_from_unicode_e:n {##1}
+             }
+            \tl_set:Nx \l__tag_attr_value_tl
               {
-                \msg_error:nnn { tag } { attr-unknown } { ##1 }
+                \int_compare:nT { \seq_count:N \l__tag_tmpa_seq > 1 }{[}%]
               }
-            \prop_if_in:NnF \g__tag_attr_objref_prop {##1}
-              {%\prop_show:N \g__tag_attr_entries_prop
-                \pdf_object_unnamed_write:nx
-                  { dict }
+            \seq_map_inline:Nn \l__tag_tmpa_seq
+              {
+                \prop_if_in:NnF \g__tag_attr_entries_prop {##1}
                   {
-                    \prop_item:Nn\g__tag_attr_entries_prop {##1}
+                    \msg_error:nnn { tag } { attr-unknown } { ##1 }
                   }
-                \prop_gput:Nnx \g__tag_attr_objref_prop {##1} {\pdf_object_ref_last:}
+                \prop_if_in:NnF \g__tag_attr_objref_prop {##1}
+                  {%\prop_show:N \g__tag_attr_entries_prop
+                    \pdf_object_unnamed_write:nx
+                      { dict }
+                      {
+                        \prop_item:Nn\g__tag_attr_entries_prop {##1}
+                      }
+                    \prop_gput:Nnx \g__tag_attr_objref_prop {##1} {\pdf_object_ref_last:}
+                  }
+                \tl_put_right:Nx \l__tag_attr_value_tl
+                  {
+                    \c_space_tl
+                    \prop_item:Nn \g__tag_attr_objref_prop {##1}
+                  }
+     %     \tl_show:N \l__tag_attr_value_tl
               }
             \tl_put_right:Nx \l__tag_attr_value_tl
-              {
-                \c_space_tl
-                \prop_item:Nn \g__tag_attr_objref_prop {##1}
+              { %[
+                \int_compare:nT { \seq_count:N \l__tag_tmpa_seq > 1 }{]}%
               }
- %     \tl_show:N \l__tag_attr_value_tl
-          }
-        \tl_put_right:Nx \l__tag_attr_value_tl
-          { %[
-            \int_compare:nT { \seq_count:N \l__tag_tmpa_seq > 1 }{]}%
-          }
- %     \tl_show:N \l__tag_attr_value_tl
-        \__tag_prop_gput:cnx
-          { g__tag_struct_\int_eval:n {\c at g__tag_struct_abs_int}_prop }
-          { A }
-          { \l__tag_attr_value_tl }
+     %     \tl_show:N \l__tag_attr_value_tl
+            \__tag_prop_gput:cnx
+              { g__tag_struct_\int_eval:n {\c at g__tag_struct_abs_int}_prop }
+              { A }
+              { \l__tag_attr_value_tl }
+         }
     },
   }
 %% File: tagpdf-space.dtx

Modified: trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty	2023-01-30 20:50:15 UTC (rev 65690)
+++ trunk/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty	2023-01-30 20:50:36 UTC (rev 65691)
@@ -1,5 +1,5 @@
 %\RequirePackage[enable-debug]{expl3}[2018/06/14]
-\ProvidesExplPackage {tagpdfdocu-patches} {2023-01-24} {0.98b}
+\ProvidesExplPackage {tagpdfdocu-patches} {2023-01-30} {0.98c}
  {patches/commands for the tagpdf documentation}
 \RequirePackage{etoolbox,xpatch}
 



More information about the tex-live-commits mailing list.