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] | [List Home]

Subject: A tricky xref problem

Hi all,

I wonder if there is a way to extract a text string and pass it as a value for the <xref linkend=""/> expression. For example, when I write:

Some text  text   text  (see ref=[sect_test]),

I would like to take the text within the [ ] delimiters and pass it as a value for the linkend attribute of the xref element called in my customized table template. The  reason for this special workaround is that I've created a custom template that enables you to add a table row with its entries using one command, like so:

<row entry1="red" entry2="blue" entry3="black"/> -which saves a lot of typing.

So, if I wish to add a reference to some section from within entry1, I can't write:
<row entry1="red (refer to <xref linkend="sect_test"/>)" entry2="blue" entry3="black"/>

I need somehow to customize my table template that says something like:
<xsl:for-each select="row">
    <xsl:if test="$entry1">
      <xsl:value-of select="@entry1"/>
      <xsl:if test="contains('xref')">
          <xsl:copy-of select="@*"/>
            <xsl:attribute name="linkend">
              <xsl:copy-of select="@*"/>
              <xsl:value-of select="<extracted_text_string>"/>

Please, advise me how to extract the text string from within [ ] delimiters to pass it as a value for the <xref> expression.

Thanks a lot in advance!!!

Best wishes,

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