OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Subject: DOCBOOK-APPS: Re: Testing that xrefs point to xreflabels

Hash: SHA1

/ martin.gautier@myrnham.co.uk was heard to say:
| One such "error" I regularily come across during the conversion process is 
| <xref> tags pointing to invalid IDs. To help with me in the conversion 
| process, I'm looking to test my Docbook XML for the presence of an <xref>, 
| then look for the corresponding ID tag, the results being a nice little 
| list of just the problematic <xref> tags - using the list, I'd then be 
| able to manually check the source document, work out what the <xref> 
| should actually be doing and fix it in the Docbook XML.

Ok, then here's my suggestion.

1. Remove the <!DOCTYPE declaration so that the document is only WF
2. Try this stylesheet:

<xsl:stylesheet ...>

<xsl:template match="text()"/> <!-- who cares -->

<xsl:template match="*[@linkend]">
  <xsl:variable name="linkend" select="@linkend"/>
  <xsl:variable name="targets" select="//*[@id=$linkend]"/>
    <xsl:when test="count($targets) = 0">
      <xsl:message>invalid link: ...</xsl:message>
    <xsl:when test="count($targets) &gt; 1">
      <xsl:message>link is not unique: ...</xsl:message>

That should give you a summary of ID problems.

                                        Be seeing you,

- -- 
Norman Walsh <ndw@nwalsh.com>      | Men do not quit playing because
http://www.oasis-open.org/docbook/ | they grow old; they grow old
Chair, DocBook Technical Committee | because they quit playing.--Oliver
                                   | Wendell Holmes
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.7 <http://mailcrypt.sourceforge.net/>


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Powered by eList eXpress LLC