Copy link to clipboard
Copied
Hello everybody
I am newbie in framemaker 15.
I'm lost.... and I need your help.
I have a problem to make a link between 2 document with xsl
I have an Xref element, for the external cross-references, where
DTD
<!ELEMENT Xref EMPTY>
<!ATTLIST Xref
Format CDATA #IMPLIED
srcfile CDATA #IMPLIED
>
RW
element "Xref "
{
is fm cross-reference element;
attribute "Format" is fm property cross-reference format;
}
in my document B.xml where is the Xref :
<Xref Format = "X_Text" srcfile = "A.xml#CHDJCICFE0"/>
in my document A.xml, where is the target:
<Abv ID = "CHDJCICFE0">Toto</Abv>
How i do in XSL, to select the content of the element Abv ---> Toto
How make with one attribute which has an "ID", and the other attribute which has a "srcfile"?
<xsl:template match="Xref">
<A HREF="{@srcfile}" style="text-decoration:none;text-align:left;color:blue">
<xsl:choose>
<xsl:when test="@Format='X_Text'">
<xsl:value-of select="????????????????"/>
</xsl:when>
</xsl:choose>
</A>
</xsl:template>
In advance, thank you very much
Jean Claude
Yes, i have the response....
With the variable document, I must do
<xsl:value-of select="document($document,/)//*[@ID=$refid]/text()"/> |
Thank you very much again Martti for your help.
Jean Claude
Copy link to clipboard
Copied
Assuming that documents A.xml and B.xml are in the same folder, something like this should work:
...
<xsl:when test="@Format='X_Text'">
<xsl:variable name="document" select="substring-before(@srcfile,'#')"/>
<xsl:variable name="refid" select="substring-after(@srcfile,'#')"/>
<xsl:value-of select="document($document)//*[@ID=$refid]/text()"/>
...
BR, Martti
Copy link to clipboard
Copied
Thank you very much Martti for your help.
Yes the documents are in the same folder.
But i have problem always.
I tested the variales name "document" and "refid" like this
<xsl:value-of select="$document"/> OK it's good, result file "A.xml"
<xsl:value-of select="$refid"/> OK it's good, result ID "CHDJCICFE0"
When I put "document($document) .............", nothing !
I tested alsoI "document('$document') .............", nothing !
Jean Claude
Copy link to clipboard
Copied
Yes, i have the response....
With the variable document, I must do
<xsl:value-of select="document($document,/)//*[@ID=$refid]/text()"/> |
Thank you very much again Martti for your help.
Jean Claude