Subject: Re: How to force prefixes instead of expanded qnames?
From: Maurice Mengel <mauricemengel@xxxxxxxxx>
Date: Tue, 17 Aug 2010 20:38:09 -0400
|
Hi,
Although I don't quite understand this answer fully it sounds
encouraging. It seems not all is lost.
I didn't want to bother you with boring details. Maybe this is a
significant extract of the code:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:mpx="http://www.mpx.org/mpx">
...
<xsl:template match="/">
<Repository
xmlns="http://www.openarchives.org/OAI/2.0/static-repository"
xmlns:oai="http://www.openarchives.org/OAI/2.0/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/static-reposi
tory
http://www.openarchives.org/OAI/2.0/static-repository.xsd">
...
<oai:metadata>
<xsl:element name="mpx:{name()}">
<xsl:namespace name="mpx" select="'http://www.mpx.org/mpx'"/>
<xsl:namespace name="xsi"
select="'http://www.w3.org/2001/XMLSchema-instance'"/>
<xsl:attribute name="xsi:schemaLocation"
select="'http://www.mpx.org/mpx
file:/c:/cygwin/home/Mengel/usr/levelup/lib/mpx-lvl2.v2.xsd'"/>
...
<xsl:copy-of select="mpx:*"/>
</xsl:element>
</oai:metadata>
...
I tried various variants on the select part of copy-of, but it seems
not to change the output.
thanks!
Maurice
On Tue, Aug 17, 2010 at 5:32 PM, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> If you don't show us your code then we can't tell you how to change it.
>
> Most of the time XSLT 2.0 gives the processor no discretion about choice of
> prefixes: you get the prefix you ask for. For example, xsl:copy-of copies
> names from the source document (prefixes and all), while literal result
> elements copy them from the stylesheet.
>
> Michael Kay
> Saxonica
>
> On 17/08/2010 20:53, Maurice Mengel wrote:
>>
>> Hi there!
>>
>> I guess this must have come up before, but I can't find it.
>>
>> I get this kind of a result which works fine, but is a bit more
>> difficult to read than necessary:
>>
>> <Repository xmlns:oai="http://www.openarchives.org/OAI/2.0/"
>> B B B B B B
xmlns="http://www.openarchives.org/OAI/2.0/static-repository"
>> B B B B B B xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> B B B B B B xmlns:mpx="http://www.mpx.org/mpx"
>>
>> xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/static-repository
>> B B http://www.openarchives.org/OAI/2.0/static-repository.xsd">
>> ...
>> B B B B B <oai:metadata>
>> B B B B B B <mpx:multimediaobjekt
>> xsi:schemaLocation="http://www.mpx.org/mpx
>> file:/c:/cygwin/home/Mengel/usr/levelup/lib/mpx-lvl2.v2.xsd"
>> B B B B B B B B B B B B B B B B B
exportdatum="2010-04-19T16:39:14"
>> B B B B B B B B B B B B B B B B B mulId="7216">
>> B B B B B B B B <bearbDatum
xmlns="http://www.mpx.org/mpx">12.12.2005
>> 14:32:13</bearbDatum>
>> B B B B B B B B <multimediaFarbe
>> xmlns="http://www.mpx.org/mpx">farbig</multimediaFarbe>
>> B B B B B B B B <multimediaFormat xmlns="http://www.mpx.org/mpx">RF
>> (6x6 cm)</multimediaFormat>
>> ...
>>
>> I would prefer having the namespace written as a prefix like in
>> <mpx:multimediaobjekt>.
>>
>> This is an xslt 2 transformation and I am using copy-of to create
>> those elements where I don't like the output.
>>
>> Thanks!
>> Maurice
|