Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 1 odgovor
  • 3.917 pregleda

Najnovija ↓

xpath pitanje: document(), namespace ... 01.10.2004. u 02:49 · pre 268 meseci #1
Jel zna neko zasto ovo ne radi??
<xsl:value-of select="document('lang/test.xml')/main/word[@id = @name]" />

@name je atribut iz trenutnog noda

Premostio sam problem sa
<xsl:variable name="aaa"><xsl:value-of select="@name" /></xsl:variable>
<xsl:value-of select="document('lang/test.xml')/main/word[@id = $aaa]" />

ali me interesuje da li ima neko elegantnije resenje?

Bonus pitanje za sto poena:

ako je test.xml

zaglavlje

<lang:main id="EN">
<word id="prezime">Last name</word>
</lang:main>

kako bi glasio select sa namespace-om???
Potpis
utvara is no saint
CV
>>Trenutni hobi
>>Dragon
Re: xpath pitanje: document(), namespace ... 01.10.2004. u 18:11 · pre 268 meseci #2
to prvo ne radi, zato što taj select upoređuje @id atribut svake reči sa @name atributom iste reči, pa to neće nikad da poleti.. ;)

drugim rečima, moraš explicitno da navedeš da se @name ne odnosi na context node unutar xpath izraza već na tekući node unutar XSLTa. koliko ja poznajem XSLT (ne mnogo), ne znam za elegantniji način od ovog tvog..


a za bonus, select sa NSom je prost: /lang:main/word[@id=$name], stim da moraš prvo da registruješ "lang" NS prefix, jer se upoređivanje ne vrši sa prefixom, već sa kompletnim NSom (u prevodu, /x:main/word[@id=$name] je potpuno ekvivalentno prethodnom selectu ako je "x" prefix registrovan ka istom NSu kao i "lang" prefix u target xml dokumentu)

e sad, kako se u XPATHu registruju NS prefixi već zavisi od implementacije ili konkretne tehnologije u okviru koje se xpath koristi. pošto se ti zanimaš XSLTom, trebalo bi da je dovoljno da u XSL šablonu (recimo u root elementu) definišeš sve NS prefixe koje ćeš koristiti u XPATHu..

ili alternativno, imaš local-name() i namespace-uri() funkcije u XPATHu..
Potpis
blogče :: unescaped beta
  »
go-paste extenzija
  »
reč dana: backup
  »
bočne koalicije
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme