Hi again :) 2017-08-11 18:06 GMT+02:00 Luca Toscano <toscano.l...@gmail.com>:
> Hi everybody, > > as you probably know Stefan added the first implementation of mod_md in > trunk plus some documentation. I tried to build it and got rid of some > errors with http://home.apache.org/~elukey/httpd-trunk-mod_md-doc_ > fix.patch but then I can still see the following after running build.sh > validate-xhtml: > > validate-xhtml: > [xmlvalidate] [..path..]/docs/manual/mod/mod_md.html.en:170:79: Attribute > value "ManagedDomain" of type ID must be unique within the document. > [xmlvalidate] [..path..]/docs/manual/mod/mod_md.html.en:170:148: > Attribute value "manageddomain" of type ID must be unique within the > document. > [xmlvalidate] [..path..]/docs/manual/mod/mod_md.html.en:193:79: Attribute > value "ManagedDomain" of type ID must be unique within the document. > [xmlvalidate] [..path..]/docs/manual/mod/mod_md.html.en:193:140: > Attribute value "manageddomain" of type ID must be unique within the > document. > [xmlvalidate] [..path..]/docs/manual/mod/mod_md.html.en:264:79: Attribute > value "ManagedDomain" of type ID must be unique within the document. > [xmlvalidate] [..path..]/docs/manual/mod/mod_md.html.en:264:148: > Attribute value "manageddomain" of type ID must be unique within the > document. > [xmlvalidate] [..path..]/docs/manual/mod/mod_md.html.en is not a valid > XML document > [xmlvalidate] 806 file(s) have been successfully validated. > > From synopsis.xml it seems to me that the problem is the fact that now we > have a directive called ManagedDomain and a directive/context-block called > <ManagedDomain> that end up with the same id since they share the name (and > also for some reason duplicate HTML, the sections are repeated two times). > > Any idea about how to fix this? > I found a solution that works with this patch: http://home.apache.org/~elukey/httpd-trunk-mod_md-doc_fix.patch There are a couple of things that I needed to do but they should allow having in the same document two directives like ManagedDomain and <ManagedDomain> (the latter is type=section): - Replace <xsl:apply-templates select="$this[name=current()/name]" /> with <xsl:apply-templates select="." />, since the former, when running in a for loop, causes duplicates when two directives share the same name. I hope that using select="." is fine, looking forward to feedback from more experienced docs committers. - Change the id of each <a> block with the concatenation of name + id, that in this case would be "ManagedDomain" and "ManagedDomainsection" (and their lowercase counterparts). Example from the transformation: <div class="directive-section"><h2><a name="ManagedDomainsection" id="ManagedDomainsection"><ManagedDomain></a> <a name="manageddomainsection" id="manageddomainsection">Directive</a></h2> The good thing about this change is that validate-xhtml will keep failing if two directives are copied/pasted by accident (or simply repeated) but it won't for legitimate cases like the ManagedDomain and <ManagedDomain> of mod_md. Hope that what I wrote makes sense, will wait a bit before pushing my changes to gather some feedback. Thanks! Luca