xsl-list
[Top] [All Lists]

RE: Using fn:idref() with Saxon

2005-06-18 16:04:26
This seems to be a bug. At some stage the spec was changed so that a DTD
type of IDREFS no longer causes the attribute to have the type annotation
xs:IDREFS, and implementing this change in Saxon apparently caused the
idref() function to stop working on attributes defined as IDREF[s] in a DTD
(as distinct from a schema).

Michael Kay
http://www.saxonica.com/
  

-----Original Message-----
From: Michel Charpentier [mailto:charpov(_at_)acm(_dot_)org] 
Sent: 18 June 2005 20:13
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Using fn:idref() with Saxon

Hi,

I'm trying to use fn:idref for the first time.  I'm starting from an  
example posted on this list last year, but I'm not getting the same  
result as in the original post.  The original post was using Saxon  
7.9 and I'm using Saxon8B.  No matter what I do, idref() keeps  
returning an empty sequence.

Here are my files:

1) XML
<?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE data [
    <!ATTLIST event
    id   ID #REQUIRED
    name CDATA #REQUIRED >
    <!ATTLIST participant
    name CDATA #REQUIRED
    events IDREFS #REQUIRED >
    ]>
    <data>
        <events>
            <event id="e01" name="Amsterdam"/>
            <event id="e02" name="Baltimore"/>
            <event id="e03" name="Casablanca"/>
        </events>
        <participants>
            <participant events="e01 e03" name="Alpha"/>
            <participant events="e02" name="Bravo"/>
            <participant events="e02 e03" name="Charlie"/>
        </participants>
    </data>

2) XSLT
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";  
version="2.0">
     <xsl:template match="/">
         Using id():
         <xsl:apply-templates select="id('e02')"/>
         Using idref():
         <xsl:apply-templates select="idref('e02')/.."/>
         End
     </xsl:template>
     <xsl:template match="*[(_at_)name]">
         <xsl:value-of select="@name"/>
     </xsl:template>
</xsl:stylesheet>

What am I missing?

Thanks,

MC
-- 
2p3p[dl!d2+s!%0=(_at_)l!l^!<#]s#[s/0ds^]s(_at_)[p]s&[ddvs^3s!l#x0<&2+l.x]ds.x


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>