xsl-list
[Top] [All Lists]

Re: [xsl] retaining entity declarations while converting from one xml format to another

2009-12-16 00:02:00
Hai,

Please look at the saxon extension function saxon:doctype.

http://saxon.sourceforge.net/saxon6.5.5/extensions.html#saxon:doctype

which provides the mechanism to create the entities. In your case you
have to re-generate the entities in XML file.

Regards,
Ganesh


On Wed, Dec 16, 2009 at 6:23 AM, David Carlisle 
<davidc(_at_)nag(_dot_)co(_dot_)uk> wrote:

I am sorry I forgot to mention one piece of information here. These
input files were originally SGML and were then converted to well

but assuming spoon.jpg is a jpeg file, the same would apply in SGML as
well, image entities should be NDATA (not parsed) and referenced as
attribute values, not using &  ; notation.

So when I do the <xsl:copy> the entities are not copied over.

parsed entities (referenced by &) are expanded by the XML parser before
XSLT even sees the input. So XSLT can not copy them as it never sees
them.

But you can not reference a jpg file that way.

An NDATA entity is referenced as attribute value typically
something like

<!ENTITY spoon.jpg SYSTEM "spoon.jpg" NDATA jpg>

...
 <image ref="spoon.jpg"/>
...

if you access the entity this way, then the attribute value is available
to xslt and you can look up the SYSTEM URI using unparsed-entity-uri().


But you showed a parsed entity declaration



<!ENTITY spoon.jpg SYSTEM "spoon.jpg" >

which would be acceessed by

& s p o o n . j p g ;

such a reference would be expanded by the xml parser before xslt sees
the data (and generate a fatal error if it is a jpeg file rather than
xml)

As you haven't shown how you are referencing the entities in the source
file I can't really guess what to suggest.

david

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.
________________________________________________________________________

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