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:
<table>
...

<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">
  <row>
    <xsl:if test="$entry1">
      <entry>
      <xsl:value-of select="@entry1"/>
      <xsl:if test="contains('xref')">
        <xref>
          <xsl:copy-of select="@*"/>
            <xsl:attribute name="linkend">
              <xsl:copy-of select="@*"/>
              <xsl:value-of select="<extracted_text_string>"/>
            </xsl:attribute>
          </xref>
    </xsl:if>
      </entry>
   </xsl:if>
...
 </row>
</xsl:for-each>
...

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,
Nancy




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