xsl-list
[Top] [All Lists]

RE: Resolving QName with XSLT 1.0

2004-12-01 08:14:54
The namespace URI is

string(namespace::*[name()=substring-before(@xsi:type, ':')])

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

-----Original Message-----
From: Chizzolini Stefano [mailto:chist(_at_)csb(_dot_)it] 
Sent: 01 December 2004 14:35
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Resolving QName with XSLT 1.0

Hi all

I'm attempting to construct an xpath expression to select in 
my xml instance
a document element whose category subelement attribute 
xsi:type matches a
QName (say: "eur:invoice"), as follows:

<?xml version="1.0" encoding="ISO-8859-1"?>
<documents
xmlns="http://www.aaa.it/consulta/xdmModel";
xmlns:eur="http://www.aaa.it/europa/xdm";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
version="1.0">
 <document id="kjsdlkj">
  <category xsi:type="eur:invoice">
   [...]
  </category>
 </document>
 [...]
</documents>

My question is: as the QName is not a simple literal (you know: the
namespace prefix isn't relevant by itself), how can I be sure that my
predicate matches "eur:invoice" as an expanded name
({http://www.aaa.it/europa/xdm}invoice) instead of the arbitrary
"eur:invoice" string?
Keep in mind that I'm using MSXML4 (XSLT 1.0 support), so it 
seems not to be
available the resolve-QName function described in the XSLT 2.0 spec
(http://www.w3.org/TR/xpath-functions/#func-resolve-QName).

What could I do in this case?

Many thanks

Stefano

--~------------------------------------------------------------------
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>