This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: cross document id idref pair checks



Oh well if you are not using DTD defined ids then you are not subject to
the "same document" constraint so you don't need the for-each to change
the current document.

Also it's always better to use self:: if possible rather than name() 

<xsl:variable name="ref" select="substring-after(@href,'#')"/>
<xsl:variable name="smil-file-el" 
  select="document(@href)/smil/body//*[@id=$ref]"/>
<xsl:variable name="lineNo" select="saxon:lineNumber()"/>
<xsl:for-each select="$smil-file-el">
  <xsl:if test="not(name()='par' or name()='text')">
TN 76: Line <xsl:value-of select="$lineNo"/>.  <xsl:value-of
select="$msg/TN76"/></xsl:if>
</xsl:for-each>

is probably (untested)

<xsl:if test=
  "not(document(@href)/smil/body//*
          [@id="substring-after(current()/@href,'#')]
          [self::par or self::text]')">
TN 76: Line <xsl:value-of select="saxon:lineNumber()"/>.  <xsl:value-of
select="$msg/TN76"/>


David

_____________________________________________________________________
This message has been checked for all known viruses by Star Internet delivered
through the MessageLabs Virus Control Centre. For further information visit
http://www.star.net.uk/stats.asp

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]