summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tagpdf/tagpdf-roles.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/tagpdf/tagpdf-roles.dtx')
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-roles.dtx125
1 files changed, 81 insertions, 44 deletions
diff --git a/macros/latex/contrib/tagpdf/tagpdf-roles.dtx b/macros/latex/contrib/tagpdf/tagpdf-roles.dtx
index 47a1f40bcc..052b805193 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-roles.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-roles.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.98v, released 2024-02-04}
+% \date{Version 0.98w, released 2024-02-22}
% \maketitle
% \begin{documentation}
% \begin{function}
@@ -98,7 +98,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-roles-code} {2024-02-04} {0.98v}
+\ProvidesExplPackage {tagpdf-roles-code} {2024-02-22} {0.98w}
{part of tagpdf - code related to roles and structure names}
%</header>
% \end{macrocode}
@@ -505,11 +505,16 @@
{
\msg_info:nnn { tag }{new-tag}{#1}
}
- \prop_get:cnN { g_@@_role_NS_#4_class_prop } {#3}\l_@@_tmpa_tl
- \quark_if_no_value:NT \l_@@_tmpa_tl
- {
- \tl_set:Nn\l_@@_tmpa_tl{--UNKNOWN--}
- }
+ \prop_if_exist:cTF
+ { g_@@_role_NS_#4_class_prop }
+ {
+ \prop_get:cnN { g_@@_role_NS_#4_class_prop } {#3}\l_@@_tmpa_tl
+ \quark_if_no_value:NT \l_@@_tmpa_tl
+ {
+ \tl_set:Nn\l_@@_tmpa_tl{--UNKNOWN--}
+ }
+ }
+ { \tl_set:Nn\l_@@_tmpa_tl{--UNKNOWN--} }
\@@_role_alloctag:nnV {#1}{#2}\l_@@_tmpa_tl
% \end{macrocode}
% Do not remap standard tags. TODO add warning?
@@ -579,15 +584,24 @@
%#3 tlvar which hold the role tag
%#4 tlvar which hold the name of the target NS
{
- \prop_get:cnNTF {g_@@_role_NS_#2_prop} {#1}\l_@@_tmpa_tl
- {
- \tl_set:Ne #3 {\exp_last_unbraced:NV\use_i:nn \l_@@_tmpa_tl}
- \tl_set:Ne #4 {\exp_last_unbraced:NV\use_ii:nn \l_@@_tmpa_tl}
- }
- {
- \tl_set:Nn #3 {#1}
- \tl_set:Nn #4 {#2}
- }
+ \prop_if_exist:cTF {g_@@_role_NS_#2_prop}
+ {
+ \prop_get:cnNTF {g_@@_role_NS_#2_prop} {#1}\l_@@_get_tmpc_tl
+ {
+ \tl_set:Ne #3 {\exp_last_unbraced:NV\use_i:nn \l_@@_get_tmpc_tl}
+ \tl_set:Ne #4 {\exp_last_unbraced:NV\use_ii:nn \l_@@_get_tmpc_tl}
+ }
+ {
+ \msg_warning:nnn { tag } {role-unknown-tag} { #1 }
+ \tl_set:Nn #3 {#1}
+ \tl_set:Nn #4 {#2}
+ }
+ }
+ {
+ \msg_warning:nnn { tag } {role-unknown-NS} { #2 }
+ \tl_set:Nn #3 {#1}
+ \tl_set:Nn #4 {#2}
+ }
}
\cs_generate_variant:Nn \@@_role_get:nnNN {VVNN}
}
@@ -1106,20 +1120,27 @@
\tl_set:Nn \l_@@_tmpa_tl {#1}
}
{
- \prop_get:cnNTF
- { g_@@_role_NS_#2_prop }
- {#1}
- \l_@@_tmpa_tl
- {
- \tl_set:Ne \l_@@_tmpa_tl {\tl_head:N\l_@@_tmpa_tl}
- \tl_if_empty:NT\l_@@_tmpa_tl
- {
- \tl_set:Nn \l_@@_tmpa_tl {#1}
- }
- }
- {
- \tl_set:Nn \l_@@_tmpa_tl {\q_no_value}
- }
+ \prop_if_exist:cTF { g_@@_role_NS_#2_prop }
+ {
+ \prop_get:cnNTF
+ { g_@@_role_NS_#2_prop }
+ {#1}
+ \l_@@_tmpa_tl
+ {
+ \tl_set:Ne \l_@@_tmpa_tl {\tl_head:N\l_@@_tmpa_tl}
+ \tl_if_empty:NT\l_@@_tmpa_tl
+ {
+ \tl_set:Nn \l_@@_tmpa_tl {#1}
+ }
+ }
+ {
+ \tl_set:Nn \l_@@_tmpa_tl {\q_no_value}
+ }
+ }
+ {
+ \msg_warning:nnn { tag } {role-unknown-NS} { #2}
+ \tl_set:Nn \l_@@_tmpa_tl {\q_no_value}
+ }
}
% \end{macrocode}
% and the same for the child
@@ -1131,20 +1152,27 @@
\tl_set:Nn \l_@@_tmpb_tl {#3}
}
{
- \prop_get:cnNTF
- { g_@@_role_NS_#4_prop }
- {#3}
- \l_@@_tmpb_tl
+ \prop_if_exist:cTF { g_@@_role_NS_#4_prop }
{
- \tl_set:Ne \l_@@_tmpb_tl { \tl_head:N\l_@@_tmpb_tl }
- \tl_if_empty:NT\l_@@_tmpb_tl
- {
- \tl_set:Nn \l_@@_tmpb_tl {#3}
- }
+ \prop_get:cnNTF
+ { g_@@_role_NS_#4_prop }
+ {#3}
+ \l_@@_tmpb_tl
+ {
+ \tl_set:Ne \l_@@_tmpb_tl { \tl_head:N\l_@@_tmpb_tl }
+ \tl_if_empty:NT\l_@@_tmpb_tl
+ {
+ \tl_set:Nn \l_@@_tmpb_tl {#3}
+ }
+ }
+ {
+ \tl_set:Nn \l_@@_tmpb_tl {\q_no_value}
+ }
}
- {
+ {
+ \msg_warning:nnn { tag } {role-unknown-NS} { #4}
\tl_set:Nn \l_@@_tmpb_tl {\q_no_value}
- }
+ }
}
% \end{macrocode}
% and now get the relation
@@ -1239,7 +1267,8 @@
% tag-namespace (rolemap-key),
% role (rolemap-key),
% role-namespace (rolemap-key),
-% add-new-tag (setup-key)}
+% role/new-tag (setup-key),
+% add-new-tag (deprecated)}
% \begin{macrocode}
\keys_define:nn { @@ / tag-role }
{
@@ -1251,8 +1280,8 @@
\keys_define:nn { @@ / setup }
{
- mathml-tags .bool_gset:N = \g_@@_role_add_mathml_bool
- ,add-new-tag .code:n =
+ role/mathml-tags .bool_gset:N = \g_@@_role_add_mathml_bool
+ ,role/new-tag .code:n =
{
\keys_set_known:nnnN
{@@/tag-role}
@@ -1298,6 +1327,14 @@
\l_@@_role_role_namespace_tmpa_tl
}
}
+ ,role/map-tags .choice:
+ ,role/map-tags/false .code:n = { \socket_assign_plug:nn { tag/struct/tag } {latex-tags} }
+ ,role/map-tags/pdf .code:n = { \socket_assign_plug:nn { tag/struct/tag } {pdf-tags} }
+% \end{macrocode}
+% deprecated names
+% \begin{macrocode}
+ , mathml-tags .bool_gset:N = \g_@@_role_add_mathml_bool
+ , add-new-tag .meta:n = {role/new-tag={#1}}
}
%</package>
% \end{macrocode}