[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Retrieving Complete XPATH from XML File

Subject: Re: Retrieving Complete XPATH from XML File
From: Erwan AMOUREUX <erwan.amoureux@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 09 Nov 2010 09:52:05 +0100
Re:  Retrieving Complete XPATH from XML File
whitout values, I think it's something like that

my xslt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
 <xsl:template match="/">
  <parcours>
   <xsl:apply-templates select="//*" mode="parcours"/>
  </parcours>
 </xsl:template>
 <xsl:template match="*" mode="parcours">
  <xpath>
   <xsl:apply-templates select="." mode="ecriture"/>
  </xpath>
 </xsl:template>
 <xsl:template match="*" mode="ecriture">
  <xsl:apply-templates select="parent::*" mode="ecriture"/>/<xsl:value-of
select="name()"/>
  <xsl:apply-templates select="@*"/>
 </xsl:template>
 <xsl:template match="text()"/>
 <xsl:template match="@*">[@<xsl:value-of select="name()"/>]</xsl:template>
</xsl:stylesheet>

my result

<?xml version="1.0" encoding="UTF-8"?>
<parcours>
 <xpath>/quizzes</xpath>
 <xpath>/quizzes/quiz[@id][@title][@maxQuestions]</xpath>
 <xpath>/quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]</xpath
>
 <xpath>/quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/prompt
</xpath>
 <xpath>/quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/option
[@id]</xpath>
 <xpath>/quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/option
[@id]</xpath>
 <xpath>/quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/option
[@id][@correct]</xpath>
 <xpath>/quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/option
[@id]</xpath>
 <xpath>/quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/feedba
ck[@id]</xpath>
 <xpath>/quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/feedba
ck[@id]</xpath>
 <xpath>/quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/feedba
ck[@id]</xpath>
 <xpath>/quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/feedba
ck[@id]</xpath>
</parcours>
----- Message d'origine -----
De : "Ramkumar.V" <ramkumar.v@xxxxxxxxx>
@ : <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Envoyi : mardi 9 novembre 2010 07:44
Objet :  Retrieving Complete XPATH from XML File


> Hi, List
>
> How to get complete XPATH from XML file as shown below? I am using
> xslt2.0with saxon9?
>
> Input XML:
> ========
> <?xml version="1.0" encoding="utf-8"?>
> <quizzes>
> <quiz id="Q1.1" title="Biochemistry 1.1 Quiz" maxQuestions="4">
> <question id="quiz1_1_question1" type="mc">
> <prompt>1. Biochemistry is based on the chemistry of which
element?</prompt>
> <option id="0">Hydrogen</option>
> <option id="1">Oxygen</option>
> <option id="2" correct = "true">Carbon</option>
> <option id="3">Sulfur</option>
> <feedback id="0">Incorrect.</feedback>
> <feedback id="1">Incorrect.</feedback>
> <feedback id="2">Correct!</feedback>
> <feedback id="3">Incorrect.</feedback>
> </question>
> </quiz>
> </quizzes>
>
> Expected Output 1(Only Nodes):
> =========================
> quizzes
> quizzes/quiz
> quizzes/quiz/question
> quizzes/quiz/question/prompt
> quizzes/quiz/question/option
> quizzes/quiz/question/option
> quizzes/quiz/question/option
> quizzes/quiz/question/option
> quizzes/quiz/question/feedback
> quizzes/quiz/question/feedback
> quizzes/quiz/question/feedback
> quizzes/quiz/question/feedback
>
> Expected Output 2 (With Attributes):
> ============================
> quizzes
> quizzes/quiz[@id][@title][@maxQuestions]
> quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]
> quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/prompt
> quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/option[@id]
> quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/option[@id]
>
quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/option[@id][@co
rrect='true']
> quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/option[@id]
>
quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/feedback[@id='0
']
>
quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/feedback[@id='1
']
>
quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/feedback[@id='2
']
>
quizzes/quiz[@id][@title][@maxQuestions]/question[@id][@type]/feedback[@id='3
']
>
> XSLT tried:
> =========
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="2.0" >
> <xsl:output method="text" encoding="UTF-8"/>
> <xsl:template match="/">
> <xsl:for-each select="descendant-or-self::node()">
> <xsl:value-of select="local-name()"/>
> </xsl:for-each>
> </xsl:template>
> </xsl:stylesheet>
>
> Regards,
> Ramkumar V
>
>
>
>
> ===========================================================
> ***Disclaimer***
>
>
> This email, and any attachments ("this email"), is confidential. If you are
not the addressee please tell the sender immediately, and destroy this email
without using, sending or storing it. Any opinions, express or implied, in
this email, are those of the sender, and are not necessarily approved by the
company.  Except as expressly stated, this e-mail should not be regarded as an
offer, solicitation, recommendation or agreement to buy or sell products or
services, or to enter into any contract. E-mail transmissions are not secure
and may suffer errors, viruses, delay, interception and amendment. The company
does not accept liability for damage caused by any of the foregoing.
>
> ALL INCOMING AND OUTGOING MAILS MAY BE MONITORED BY THE COMPANY.
> ============================================================

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.