- From: David Carlisle <d.p.carlisle@g...>
- To: Roger L Costello <costello@m...>
- Date: Thu, 16 Jun 2022 12:13:13 +0100
Basically no, XML entities can not do that.
More generally if you parameterize using xslt/xpath the stylesheet can be aware of that structure whereas entities are a simple pre-filter by the xml parser.
Something like
<xsl:stylesheet xmlns:xsl=" http://www.w3.org/1999/XSL/Transform" xmlns:map=" http://www.w3.org/2005/xpath-functions/map" xmlns:xs=" http://www.w3.org/2001/XMLSchema" version="3.0"> <xsl:variable name="files" as="map(xs:string,document-node())"> <xsl:map> <xsl:for-each select="'arpt','nav','trm'"> <xsl:map-entry key="." select="doc(concat(.,'.xml'))"/> </xsl:for-each> </xsl:map> </xsl:variable> <xsl:template name="main"> <xsl:sequence select="'arpt is: ', $files ? arpt"/> <xsl:sequence select="'nav is: ', $files ? nav"/> <xsl:sequence select="'trm is: ', $files ? trm"/> </xsl:template> </xsl:stylesheet>
Produces
$ saxon -it:main en.xsl <?xml version="1.0" encoding="UTF-8"?>arpt is: <a/>nav is: <n/>trm is: <t/>
given suitable input xml files
On Thu, 16 Jun 2022 at 11:33, Roger L Costello < costello@m...> wrote: Hi Folks,
Is there any way to express a parameterized ENTITY?
Example: I'd like to write something like this:
<!DOCTYPE xsl:stylesheet [
<!ENTITY file(f) "<xsl:variable name=f select='doc(f)'/>">
]>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
&file('ARPT.XML');
&file('NAV.XML');
&file('TRM.XML');
</xsl:stylesheet>
And have the XML parser perform the entity substitutions to generate this:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name='ARPT.XML' select="doc('ARPT.XML')"/>
<xsl:variable name='NAV.XML' select="doc('NAV.XML')"/>
<xsl:variable name='TRM.XML' select="doc('TRM.XML')"/>
</xsl:stylesheet>
Is there any way to do something like this?
/Roger
_______________________________________________________________________
XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.
[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@l...
subscribe: xml-dev-subscribe@l...
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
|