Re: [xsl] generate-id() problem

Subject: Re: [xsl] generate-id() problem
From: "Nima Kaviani" <nkaviani@xxxxxx>
Date: Sat, 25 Nov 2006 13:59:58 -0800
Hi Florent,

thanks for the msg. However your used syntax ( <rule:foo
rdf:ID="rule_{ generate-id(.) }">) is not working for me. My xalan
XSLT Processor complains about the use of  curly braces in the string.
So I have to use it this way: <rule:foo rdf:ID="concat('rule_',
generate-id(.))">

ok I guess at this point it doesn't really matter. I just mentioned it
to check whether this is a problem at the level of the processor or
something else.

thanks for the idea you gave to me. It helps to generate unique ids.

-Nima

On 11/24/06, Florent Georges <darkman_spam@xxxxxxxx> wrote:
Nima Kaviani wrote:

Hi

> <rule:foo rdf:ID="rule_N2320">
>     <rule:bar rdf:resource="constraint_N3456"/>
> </rule:foo>

> <constraint:test rdf:ID="constraint_N3456">
>    <t1/>
>    <t2/>
> <constraint:tes>

> ok so as it is obvious in the code above, I need to
> generate two unique values, here "N2320" and "N3456",
> using a funciton and attach them to my terms, "rule" and
> "constraint".

  So you can use generate-id() iff you can make a link
between these generated elements and nodes in your input
tree.  For example, say that those elements are generated in
the template for the element "myelem", that have a mandatory
attribute "myattr".  Then you can write:

    <xsl:template match="myelem">
      <!-- Will always generate the same string for the same
           myelem node in the same transformation. -->
      <rule:foo rdf:ID="rule_{ generate-id(.) }">
        ...
      </rule:foo>
      <!-- Will always generate the same string for the same
           @myattr node in the same transformation. -->
      <constraint:test
          rdf:ID="constraint_{ generate-id(@myattr) }">
        ..
      <constraint:tes>
    </xsl:template>

Regards,

--drkm























___________________________________________________________________________
Dicouvrez une nouvelle fagon d'obtenir des riponses ` toutes vos questions
!
Profitez des connaissances, des opinions et des expiriences des internautes
sur Yahoo! Questions/Riponses
http://fr.answers.yahoo.com

Current Thread