xsl-list
[Top] [All Lists]

Re: [xsl] XPath discovery tool?

2010-04-25 09:21:18
Perhaps a stylesheet determining the XPath expressions for all
elements and adding them as comments in front of each XML element?
-W

<?xml version="1.0"?>
<xsl:stylesheet version="2.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    xmlns:str="http://my/str";>

  <xsl:function name="str:path" as="xsd:string">
    <xsl:param name="node" as="node()?"/>
    <xsl:for-each select="$node">
      <xsl:choose>
        <xsl:when test="parent::node()">
           <xsl:value-of select="concat(str:path(parent::node()),
                                        '/',
                                        node-name($node))"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="''"/>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:for-each>
  </xsl:function>

  <xsl:template match="/">
    <xsl:apply-templates/>
  </xsl:template>

  <xsl:template match="*">
    <xsl:comment><xsl:value-of select="str:path(.)"/>
    </xsl:comment>
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="@*">
    <xsl:copy/>
  </xsl:template>

</xsl:stylesheet>


On Sun, Apr 25, 2010 at 2:09 AM,  <cknell(_at_)onebox(_dot_)com> wrote:
I have a number of XML-formatted Excel workbooks from which I wish to extract 
data. While the procedure for determining the XPath to any particular cell's 
value is not difficult, it is tedious. Does anyone know of a tool into which 
I could load the XML file, select an element, and automatically display the 
XPath to that element?

--
Charles Knell
cknell(_at_)onebox(_dot_)com - email

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