% \iffalse meta-comment % %% File: tagpdf-data.dtx % % Copyright (C) 2022-2024 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 % license or (at your option) any later version. The latest version % of this license is in the file % % https://www.latex-project.org/lppl.txt % % This file is part of the "tagpdf bundle" (The Work in LPPL) % and all files in that bundle must be distributed together. % % ----------------------------------------------------------------------- % % The development version of the bundle can be found at % % https://github.com/latex3/tagpdf % % for those people who are interested. %<*driver> \DocumentMetadata{} \documentclass{l3doc} \usepackage{array,booktabs,caption} \hypersetup{pdfauthor=Ulrike Fischer, pdftitle=tagpdf-data module (tagpdf)} \begin{document} \DocInput{\jobname.dtx} \end{document} %</driver> % \fi % \title{^^A % The \pkg{tagpdf-data} module\\ % Data files for tag namespaces and containment rules^^A % \\ Part of the tagpdf package % } % % \author{^^A % Ulrike Fischer\thanks % {^^A % E-mail: % \href{mailto:fischer@troubleshooting-tex.de} % {fischer@troubleshooting-tex.de}^^A % }^^A % } % % \date{Version 0.99f, released 2024-09-16} % \maketitle % \begin{documentation} % This files contains a various data files which are read in % by \pkg{tagpdf} to setup name spaces and rules for tag relationships. % % \end{documentation} % \begin{implementation} % \section{The LaTeX namespace} % This is the main new namespace. It is bound to change a lot! % It lists the new tag, the rolemap and the namespace of the rolemap. % latex-lab has also a namespace module, which takes precedence! % \begin{macrocode} %<*ns-latex> %% \ProvidesExplFile {tagpdf-ns-latex.def} {2024-09-16} {0.99f} %% {latex} {https://www.latex-project.org/ns/dflt/2022}{} title, Title, pdf2, part, Title, pdf2, section, H1, pdf2, subsection, H2, pdf2, subsubsection,H3, pdf2, paragraph, H4, pdf2, subparagraph, H5, pdf2, list, L, pdf2, itemize, L, pdf2, enumerate, L, pdf2, description, L, pdf2, quote, BlockQuote,pdf, quotation, BlockQuote,pdf, verbatim, Div, pdf2, item, LI, pdf2, itemlabel, Lbl, pdf2, itembody, LBody, pdf2, footnote, FENote, pdf2, footnotemark, Lbl, pdf2, footnotelabel,Lbl, pdf2, text-unit, Part, pdf2, text, P, pdf2, %</ns-latex> % \end{macrocode} % \section{The LaTeX-book namespace} % This changes the rolemapping of some tags for heading with % to values more suitable in book classes. % It is bound to change % \begin{macrocode} %<*ns-latex-book> %% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2024-09-16} {0.99f} %% {latex-book} {https://www.latex-project.org/ns/book/2022}{} chapter, H1,pdf2, section, H2,pdf2, subsection, H3,pdf2, subsubsection, H4,pdf2, paragraph, H5,pdf2, subparagraph, H6,pdf2, %</ns-latex-book> % \end{macrocode} % % \section{The pdf namespace data} % \begin{macrocode} %<*ns-pdf> %% \ProvidesExplFile {tagpdf-ns-pdf.def} {2024-09-16} {0.99f} %% {pdf} {http://iso.org/pdf/ssn}{} StructTreeRoot,StructTreeRoot,pdf,D, Document,Document,pdf,D, Part,Part,pdf,G, Sect,Sect,pdf,G, Div,Div,pdf,G, Caption,Caption,pdf,GB, NonStruct,NonStruct,pdf,G, H,H,pdf,B, H1,H1,pdf,B, H2,H2,pdf,B, H3,H3,pdf,B, H4,H4,pdf,B, H5,H5,pdf,B, H6,H6,pdf,B, P,P,pdf,B, L,L,pdf,BI, LI,LI,pdf,L, Lbl,Lbl,pdf,I, LBody,LBody,pdf,L, Table,Table,pdf,B, TR,TR,pdf,T, TH,TH,pdf,T, TD,TD,pdf,T, THead,THead,pdf,T, TBody,TBody,pdf,T, TFoot,TFoot,pdf,T, Span,Span,pdf,I, Link,Link,pdf,GBI, Annot,Annot,pdf,GBI, Figure,Figure,pdf,GBI, Formula,Formula,pdf,GBI, Form,Form,pdf,GBI, Ruby,Ruby,pdf,I, RB,RB,pdf,I, RT,RT,pdf,I, Warichu,Warichu,pdf,I, WT,WT,pdf,I, WP,WP,pdf,I, Artifact,NonStruct,pdf,GBI, Art,Art,pdf,,G, % only pdf, types unclear, needs correction later BlockQuote,BlockQuote,pdf,G, %or GB? TOC,TOC,pdf,G, TOCI,TOCI,pdf,G, Index,Index,pdf,G, Private,Private,pdf,G, Quote,Quote,pdf,I, Note,Note,pdf,GBI, % I in reference, but Reference,Reference,pdf,B, % BibEntry,BibEntry,pdf,B, % Code,Code,pdf,I, % DocumentFragment,Art,pdf,D, %from pdf2 Aside,Note,pdf,G, H7,H6,pdf,B, H8,H6,pdf,B, H9,H6,pdf,B, H10,H6,pdf,B, Title,P,pdf,GB, FENote,Note,pdf,GBI, Sub,Span,pdf,I, Em,Span,pdf,I, Strong,Span,pdf,I, %</ns-pdf> % \end{macrocode} % \section{The pdf 2.0 namespace data} % \begin{macrocode} %<*ns-pdf2> %% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2024-09-16} {0.99f} %% {pdf2} {http://iso.org/pdf2/ssn}{} StructTreeRoot,StructTreeRoot,pdf2,D, Document,Document,pdf2,D, Part,Part,pdf2,G, Sect,Sect,pdf2,G, Div,Div,pdf2,G, Caption,Caption,pdf2,GB, NonStruct,NonStruct,pdf2,G, H,H,pdf2,B, H1,H1,pdf2,B, H2,H2,pdf2,B, H3,H3,pdf2,B, H4,H4,pdf2,B, H5,H5,pdf2,B, H6,H6,pdf2,B, P,P,pdf2,B, L,L,pdf2,BI, LI,LI,pdf2,L, Lbl,Lbl,pdf2,I, LBody,LBody,pdf2,L, Table,Table,pdf2,B, TR,TR,pdf2,T, TH,TH,pdf2,T, TD,TD,pdf2,T, THead,THead,pdf2,T, TBody,TBody,pdf2,T, TFoot,TFoot,pdf2,T, Span,Span,pdf2,I, Link,Link,pdf2,GBI, Annot,Annot,pdf2,GBI, Figure,Figure,pdf2,GBI, Formula,Formula,pdf2,GBI, Form,Form,pdf2,GBI, Ruby,Ruby,pdf2,I, RB,RB,pdf2,I, RT,RT,pdf2,I, Warichu,Warichu,pdf2,I, WT,WT,pdf2,I, WP,WP,pdf2,I, Artifact,Artifact,pdf2,GBI, DocumentFragment,DocumentFragment,pdf2,D, %rest only pdf2 Aside,Aside,pdf2,G, H7,H7,pdf2,B, H8,H8,pdf2,B, H9,H9,pdf2,B, H10,H10,pdf2,B, Title,Title,pdf2,GB, FENote,FENote,pdf2,GBI, Sub,Sub,pdf2,I, Em,Em,pdf2,I, Strong,Strong,pdf2,I, %</ns-pdf2> % \end{macrocode} % \section{The mathml namespace data} % \begin{macrocode} %<*ns-mathml> %% \ProvidesExplFile {tagpdf-ns-mathml.def} {2024-09-16} {0.99f} % {mathml}{http://www.w3.org/1998/Math/MathML}{} abs,abs,mathml, and,and,mathml, annotation,annotation,mathml, apply,apply,mathml, approx,approx,mathml, arccos,arccos,mathml, arccosh,arccosh,mathml, arccot,arccot,mathml, arccoth,arccoth,mathml, arccsc,arccsc,mathml, arccsch,arccsch,mathml, arcsec,arcsec,mathml, arcsech,arcsech,mathml, arcsin,arcsin,mathml, arcsinh,arcsinh,mathml, arctan,arctan,mathml, arctanh,arctanh,mathml, arg,arg,mathml, bind,bind,mathml, bvar,bvar,mathml, card,card,mathml, cartesianproduct,cartesianproduct,mathml, cbytes,cbytes,mathml, ceiling,ceiling,mathml, cerror,cerror,mathml, ci,ci,mathml, cn,cn,mathml, codomain,codomain,mathml, complexes,complexes,mathml, compose,compose,mathml, condition,condition,mathml, conjugate,conjugate,mathml, cos,cos,mathml, cosh,cosh,mathml, cot,cot,mathml, coth,coth,mathml, cs,cs,mathml, csc,csc,mathml, csch,csch,mathml, csymbol,csymbol,mathml, curl,curl,mathml, declare,declare,mathml, degree,degree,mathml, determinant,determinant,mathml, diff,diff,mathml, divergence,divergence,mathml, divide,divide,mathml, domain,domain,mathml, domainofapplication,domainofapplication,mathml, emptyset,emptyset,mathml, eq,eq,mathml, equivalent,equivalent,mathml, eulergamma,eulergamma,mathml, exists,exists,mathml, exp,exp,mathml, exponentiale,exponentiale,mathml, factorial,factorial,mathml, factorof,factorof,mathml, false,false,mathml, floor,floor,mathml, fn,fn,mathml, forall,forall,mathml, gcd,gcd,mathml, geq,geq,mathml, grad,grad,mathml, gt,gt,mathml, ident,ident,mathml, image,image,mathml, imaginary,imaginary,mathml, imaginaryi,imaginaryi,mathml, implies,implies,mathml, in,in,mathml, infinity,infinity,mathml, int,int,mathml, integers,integers,mathml, intersect,intersect,mathml, interval,interval,mathml, inverse,inverse,mathml, lambda,lambda,mathml, laplacian,laplacian,mathml, lcm,lcm,mathml, leq,leq,mathml, limit,limit,mathml, ln,ln,mathml, log,log,mathml, logbase,logbase,mathml, lowlimit,lowlimit,mathml, lt,lt,mathml, maction,maction,mathml, maligngroup,maligngroup,mathml, malignmark,malignmark,mathml, math,math,mathml, matrix,matrix,mathml, matrixrow,matrixrow,mathml, max,max,mathml, mean,mean,mathml, median,median,mathml, menclose,menclose,mathml, merror,merror,mathml, mfenced,mfenced,mathml, mfrac,mfrac,mathml, mglyph,mglyph,mathml, mi,mi,mathml, min,min,mathml, minus,minus,mathml, mlabeledtr,mlabeledtr,mathml, mlongdiv,mlongdiv,mathml, mmultiscripts,mmultiscripts,mathml, mn,mn,mathml, mo,mo,mathml, mode,mode,mathml, moment,moment,mathml, momentabout,momentabout,mathml, mover,mover,mathml, mpadded,mpadded,mathml, mphantom,mphantom,mathml, mprescripts,mprescripts,mathml, mroot,mroot,mathml, mrow,mrow,mathml, ms,ms,mathml, mscarries,mscarries,mathml, mscarry,mscarry,mathml, msgroup,msgroup,mathml, msline,msline,mathml, mspace,mspace,mathml, msqrt,msqrt,mathml, msrow,msrow,mathml, mstack,mstack,mathml, mstyle,mstyle,mathml, msub,msub,mathml, msubsup,msubsup,mathml, msup,msup,mathml, mtable,mtable,mathml, mtd,mtd,mathml, mtext,mtext,mathml, mtr,mtr,mathml, munder,munder,mathml, munderover,munderover,mathml, naturalnumbers,naturalnumbers,mathml, neq,neq,mathml, none,none,mathml, not,not,mathml, notanumber,notanumber,mathml, notin,notin,mathml, notprsubset,notprsubset,mathml, notsubset,notsubset,mathml, or,or,mathml, otherwise,otherwise,mathml, outerproduct,outerproduct,mathml, partialdiff,partialdiff,mathml, pi,pi,mathml, piece,piece,mathml, piecewise,piecewise,mathml, plus,plus,mathml, power,power,mathml, primes,primes,mathml, product,product,mathml, prsubset,prsubset,mathml, quotient,quotient,mathml, rationals,rationals,mathml, real,real,mathml, reals,reals,mathml, reln,reln,mathml, rem,rem,mathml, root,root,mathml, scalarproduct,scalarproduct,mathml, sdev,sdev,mathml, sec,sec,mathml, sech,sech,mathml, selector,selector,mathml, semantics,semantics,mathml, sep,sep,mathml, set,set,mathml, setdiff,setdiff,mathml, share,share,mathml, sin,sin,mathml, sinh,sinh,mathml, subset,subset,mathml, sum,sum,mathml, tan,tan,mathml, tanh,tanh,mathml, tendsto,tendsto,mathml, times,times,mathml, transpose,transpose,mathml, true,true,mathml, union,union,mathml, uplimit,uplimit,mathml, variance,variance,mathml, vector,vector,mathml, vectorproduct,vectorproduct,mathml, xor,xor,mathml, %</ns-mathml> % \end{macrocode} % \section{Rule naming} % \begin{macro}{\c_@@_role_rules_prop} % These two properties map the rule strings to numbers and back. % There are in tagpdf-data.dtx near the csv files for easier maintenance. % \begin{macrocode} %<*package> \prop_const_from_keyval:Nn \c_@@_role_rules_prop { 0..n = 1, 0..1 = 2, 1 = 3, %StructTreeRoot, not really needed [a] = 4, %ruby [b] = 5, %warichu c = 6, % WP ?? ��� = 7, % Part,Div,NonStruct -> "check parent" ���* = 8, % or negative by default? ��� = -1, } %in debug?? \prop_const_from_keyval:Nn \c_@@_role_rules_num_prop { 1 = 0..n, 2 = 0..1, 3 = 1 , %StructTreeRoot, not really needed 4 = [a] , %ruby 5 = [b] , %warichu 6 = c , % WP ?? 7 = ��� , % Part,Div,NonStruct -> "check parent" 8 = ���* , % or negative by default? -1 = ��� , } %</package> % \end{macrocode} % \end{macro} % \section{The parent-child rules for pdf <2.0} % This csv contains the parent-child matrix for pdf <2.0. % The values are currently the strings used in the PDF reference. % This will perhaps change in future. % \begin{macrocode} %<*parent-child> %% \ProvidesExplFile {tagpdf-parent-child.csv} {2024-09-16} {0.99f} ,,,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,���,��� Part,both,grouping,���,0..n,0..n,���,���,0..n,0..n,���,0..n,���,0..n,0..n,���,0..n,���,0..n,���,���,���,���,0..n,���,���*,���*,���*,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,0..n,0..n,0..n,��� Div,both,grouping,���,0..n,0..n,���,���,0..n,0..n,���,���,0..n,0..n,0..n,���,0..n,���,0..n,���,���,���,���,0..n,���,0..n,0..n,0..n,���,���,���,���,���,���,���,���,0..n,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� Sect,both,grouping,���,0..n,0..n,���,���,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,���,��� BlockQuote,1.7,grouping?,���,0..n,0..n,���,���,0..n,0..n,���,���,���,���,0..n,���,0..n,���,���,���,���,���,���,���,���,���*,���*,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,0..n,0..n,0..n,��� NonStruct,both,grouping,���,0..n,0..n,���,���,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,��� TOC,1.7,grouping,���,0..n,0..n,���,���,0..n,0..n,���,0..n,0..n,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,��� TOCI,1.7,TOC,���,���,���,���,���,���,���,���,0..n,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,��� Index,1.7,grouping?,���,0..n,0..n,���,���,0..n,0..n,���,���,���,���,0..n,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� Private,1.7,grouping,���,0..n,0..n,���,���,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,��� P,both,block,���,0..n,0..n,���,���,0..n,0..n,���,���,0..n,0..n,0..n,���,0..n,���,0..n,���,���,���,���,���,���,���*,���*,���,���,���,���,���,���,���,���,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� Hn,both,block,���,0..n,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,���,���,���,���,���,���,���,���,���,���,���*,���*,���,���,���,���,���,���,���,���,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� H,both,block,���,0..1,0..1,���,���,0..1,0..1,���,���,���,0..n,0..n,���,���,���,���,���,���,���,���,���,���,���*,���*,���,���,���,���,���,���,���,���,���,���,0..1,���,���,0..1,0..1,���,���,���,0..1,0..1,0..1,��� Quote,1.7,inline,���,���,���,���,���,���,���,���,���,���,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,0..n,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� Note,1.7,inline,���,0..n,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,���,���,���,���,���,���,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� Reference,1.7,inline,���,���,���,���,���,���,0..n,���,���,0..n,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���*,���*,���,0..n,0..n,0..n,���,0..n,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� BibEntry,1.7,inline,���,���,���,���,���,���,���,���,���,���,���,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,���,���,���,���,���,���,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� Lbl,both,inline,���,���,0..n,���,���,0..n,0..n,���,���,0..n,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,���,0..n,0..n,0..n,0..n,���,���,���,���,���,���,���,���,0..n,���,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� Code,1.7,inline,���,0..n,0..n,���,���,0..n,0..n,���,���,���,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,���*,���,���,���,���,���,���,���,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� Span,both,inline,���,���,���,���,���,���,���,���,���,���,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,0..n,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� Link,both,grouping!block!inline,���,0..n,0..n,���,���,0..n,0..n,���,���,���,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,0..n,���,���,0..n,0..n,0..n,���,0..n,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� Annot,both,grouping!block!inline,���,0..n,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,0..n,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� Form,both,grouping!block!inline,���,0..n,0..n,���,���,0..n,0..n,���,���,���,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,0..n,���,0..n,���*,���*,���,���,0..n,0..n,0..n,���,0..n,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� Ruby,both,inline,���,���,���,���,���,���,���,���,���,���,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,���,���,���,���,���,���,���,���,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� RB,both,inline,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,[a],���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,��� RT,both,inline,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,[a],���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,��� RP,both,inline,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,[a],���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,��� Warichu,both,inline,���,���,���,���,���,���,���,���,���,���,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,���,���,���,���,���,���,���,���,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� WT,both,inline,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,[b],���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,��� WP,both,inline,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,[b],���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,��� L,both,block!inline,���,0..n,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,���,0..n,���,���,0..n,���,���,���,���,���,���*,���*,���*,���,���,���,���,���,���,���,0..n,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� LI,both,in L,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,��� LBody,both,in LI,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,��� Table,both,block,���,0..n,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,���,0..n,���,���,0..n,���,���,���,���,���,���*,���*,���*,���,���,���,���,���,���,���,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� TR,both,Table,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,0..n,0..n,0..n,���,���,���,��� TH,both,Table,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,��� TD,both,Table,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,��� THead,both,Table,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..1,���,���,���,���,���,���,���,���,���,��� TBody,both,Table,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,��� TFoot,both,Table,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..1,���,���,���,���,���,���,���,���,���,��� Caption,both,grouping!block,���,���,0..n,���,���,0..n,0..1,���,0..1,���,0..n,0..n,���,���*,���,���,���,���,���,���,���,���,���*,���*,0..1,���,���,���,���,���,���,���,0..1,���,0..1,0..1,���,���,���,���,���,���,���,0..1,0..1,��� Figure,both,grouping!block!inline,���,0..n,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,���*,���,���,���,���,���,���,c,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� Formula,both,grouping!block!inline,���,0..n,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,0..n,���,���,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,���*,���,���,���,���,���,���,���,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� MC,both,---,���,���,���,���,���,���,0..n,���,���,���,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,���,���,0..n,���,���,���,0..n,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,��� %</parent-child> % \end{macrocode} % \section{The parent-child rules for pdf =2.0} % This csv contains the parent-child matrix for pdf = 2.0. % The values are currently the strings used in the PDF reference. % This will perhaps change in future. % \begin{macrocode} %<*parent-child-2> %% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2024-09-16} {0.99f} ,,,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,��� Art,1.7,grouping,���,0..n,0..n,���,���,���,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,0..n,���,���,���,0..n,��� Part,both,grouping,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,0..n,���,0..n,0..n,0..n,���,���,0..n,���,0..n,���,���,���,���,0..n,���,���,���,���*,���*,���*,���,���,���,���,���,���,���,0..n,���,���,0..n,���,���,���,���,���,���,���,0..n,0..n,0..n,���,���,0..n,��� Div,both,grouping,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,0..n,���,���,0..n,���,0..n,���,���,���,���,0..n,���,���,���,0..n,0..n,0..n,���,���,���,���,���,���,���,0..n,���,0..n,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� Sect,both,grouping,���,0..n,0..n,0..n,���,���,0..n,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,0..n,���,���,���,0..n,��� Aside,2.0,grouping,���,0..n,0..n,0..n,���,���,0..n,���,���,���,���,���,���,0..n,0..n,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���*,���*,���,���,���,���,���,���,���,���,0..n,���,���,0..n,���,���,���,���,���,���,���,0..n,0..n,0..n,���,���,0..n,��� BlockQuote,1.7,grouping?,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,���,���,���,0..n,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���*,���*,���,���,���,���,���,���,���,���,0..n,���,���,0..n,���,���,���,���,���,���,���,0..n,0..n,0..n,���,���,0..n,��� NonStruct,both,grouping,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,���,0..n,��� TOC,1.7,grouping,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,0..n,0..n,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,��� TOCI,1.7,TOC,���,���,���,���,���,���,���,���,���,���,0..n,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,��� Index,1.7,grouping?,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,���,���,���,0..n,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� Private,1.7,grouping,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,���,0..n,��� P,both,block,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,0..n,���,���,0..n,���,0..n,���,���,���,���,���,���,���,���,���*,���*,���,���,���,���,���,���,���,���,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� Hn,both,block,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,���,���,0..n,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���*,���*,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� H,both,block,���,0..1,0..1,0..1,���,���,0..1,0..1,0..1,���,���,���,0..n,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���*,���*,���,���,���,���,���,���,���,���,���,���,���,0..1,���,���,0..1,0..1,���,���,���,0..1,0..1,0..1,���,���,0..1,��� Title,2.0,grouping!block,���,0..n,0..n,0..n,���,���,0..n,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���*,���*,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,��� Sub,2.0,inline,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,0..n,0..n,���,���,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,0..n,0..n,0..n,���,���,0..n,���,���,���,���,���,���,���,0..n,���*,0..n,���,���,0..n,��� Quote,1.7,inline,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,0..n,0..n,0..n,0..n,���,���,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,0..n,0..n,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� Note,1.7,inline,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,���,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,���,���,���,���,���,���,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� Reference,1.7,inline,���,���,���,���,���,���,���,0..n,0..n,���,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���*,���*,���,0..n,0..n,0..n,���,0..n,0..n,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� BibEntry,1.7,inline,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,0..n,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,���,���,���,���,���,���,���,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� Lbl,both,inline,���,���,���,0..n,���,���,0..n,0..n,0..n,���,���,0..n,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,���,0..n,0..n,0..n,0..n,0..n,0..n,���,���,���,���,���,���,���,0..n,���,0..n,���,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� Code,1.7,inline,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,���,���,���,0..n,0..n,0..n,0..n,0..n,���,���,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,���*,���,���,���,���,���,���,���,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� Em,2.0,inline,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,0..n,0..n,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� Strong,2.0,inline,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,0..n,0..n,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� Span,both,inline,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,0..n,0..n,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� Link,both,grouping!block!inline,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,���,���,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,0..n,���,���,0..n,0..n,0..n,���,0..n,0..n,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� Annot,both,grouping!block!inline,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,���,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,0..n,0..n,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� Form,both,grouping!block!inline,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,���,���,���,0..n,0..n,0..n,0..n,0..n,���,���,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,���*,���*,���,���,0..n,0..n,0..n,���,0..n,0..n,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� Ruby,both,inline,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,0..n,0..n,0..n,0..n,���,���,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,���,���,���,���,���,���,���,���,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� RB,both,inline,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,[a],���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,��� RT,both,inline,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,[a],���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,��� RP,both,inline,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,[a],���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,��� Warichu,both,inline,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,0..n,0..n,0..n,0..n,���,���,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,���,���,���,���,���,���,���,���,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� WT,both,inline,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,[b],���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,��� WP,both,inline,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,[b],���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,��� FENote,2.0,grouping!block!inline,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,���,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,0..n,���,���,���,���,���,���,���,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� L,both,block!inline,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,���,���,0..n,0..n,0..n,0..n,���,0..n,���,���,0..n,���,���,���,���,���,���,���,���*,���*,���*,���,���,���,���,���,���,���,0..n,0..n,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� LI,both,in L,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,��� LBody,both,in LI,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,��� Table,both,block,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,���,���,0..n,���,���,���,���,���,���,���,���*,���*,���*,���,���,���,���,���,���,���,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� TR,both,Table,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,0..n,0..n,0..n,���,���,���,���,���,0..n,��� TH,both,Table,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,0..n,��� TD,both,Table,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,0..n,��� THead,both,Table,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..1,���,���,���,���,���,���,���,���,���,���,���,0..n,��� TBody,both,Table,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,0..n,��� TFoot,both,Table,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..1,���,���,���,���,���,���,���,���,���,���,���,0..n,��� Caption,both,grouping!block,���,���,���,0..n,���,���,0..n,0..1,0..1,���,0..1,���,0..n,0..n,0..1,���,���,���*,���,���,���,���,���,���,���,���,���,���,���*,���*,0..1,���,���,���,���,���,���,���,���*,0..1,���,0..1,0..1,���,���,���,���,���,���,���,0..1,0..1,���,���,0..n,��� Figure,both,grouping!block!inline,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,���,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,���*,���,���,���,���,���,���,c,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� Formula,both,grouping!block!inline,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,���,���,0..n,0..n,0..n,0..n,0..n,0..n,���,���,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,���*,���,���,���,���,���,���,���,0..n,���,���,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,���,0..n,��� Artifact,2.0,grouping!block!inline,���,0..n,0..n,0..n,���,���,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,0..n,0..n,0..n,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,���,0..n,��� math,2.0,?,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,���,���,0..n,��� mathml,2.0,?,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,���,0..n,0..n,0..n,��� MC,both,---,���,���,���,���,���,���,���,0..n,0..n,���,���,���,���,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,���,���,���,0..n,���,���,0..n,���,0..n,0..n,���,���,0..n,0..n,���,���,���,0..n,0..n,0..n,���,0..n,0..n,��� %</parent-child-2> % \end{implementation} % \PrintIndex