|
Subject: [xsl] General algorithm for finding nodes between PIs From: "Rick Quatro rick@xxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 26 Jan 2017 19:45:18 -0000 |
Hello All,
I have XML with a bunch of different processing instructions in them; here
is a sample:
<?xml version="1.0" encoding="UTF-8"?>
<info>
<?Fm Condstart VbV-VCO?>
<p>For this, use <b>that </b>to do that.</p>
<?Fm Condend VbV-VCO?>
<p><?Fm Condstart USB?>If you need this, do that.<?Fm Condend USB?></p>
</info>
For each "pair" of processing instructions (Condstart and Condend with the
same string), I want to find all of the nodes between them. I have this:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:output indent="yes"/>
<xsl:template match="/">
<xsl:apply-templates
select="descendant::node()[preceding-sibling::processing-instruction('Fm')[.
='Condstart
VbV-VCO']][following-sibling::processing-instruction('Fm')[.='Condend
VbV-VCO']]"/>
</xsl:template>
<xsl:template match="node()">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
which essentially works. But what I am looking for is a general algorithm
for doing this with dozens of pairs like this. I am thinking that I can set
up a lookup xml file with a list of the names and then process the list. Any
suggestions would be appreciated. Thank you very much.
Rick Quatro
Carmen Publishing Inc.
rick@xxxxxxxxxxxxxxx
585-366-4017
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Unexpected MSXML Javascri, Martin Honnen martin | Thread | Re: [xsl] General algorithm for fin, Martin Honnen martin |
| Re: [xsl] Matching on keys, Wendell Piez wapiez@ | Date | Re: [xsl] General algorithm for fin, Martin Honnen martin |
| Month |