Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [xml/xsl] szukanie taga z innego namespace
faginozen
post 7.08.2006, 01:46:08
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 7.08.2006

Ostrzeżenie: (0%)
-----


Witam, mam następujący problem.

Mam taki przykładowy plik XML:

  1. <root>
  2.   <tag1>text1</tag1>
  3.   <tag2>text2text2<xx:put id="1"/>text2text2</tag2>
  4. </root>

i próbuję uruchomić na nim taki arkusz xsl:

  1. <?xml version="1.0" encoding="iso-8859-2"?>
  2.  
  3. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xx="SampleXSL" version="1.0">
  4.   <xsl:output method="html"/>
  5.   <xsl:template match="//xx:put[@id]">
  6.      (ok)
  7.   </xsl:template>
  8. </xsl:stylesheet>

jednak wygląda na to, że reguła "//xx:put[@id]" nie zostaje zneleziona, bo "(ok)" nie zostaje wyświetlone na ekranie. Po usunięciu namespace 'xx' z obu plików wszystko przebiega dobrze, więc podejrzewam, że sama reguła jest dobra (choć oczywiście mogę się mylić). W czym więc jest problem?
Go to the top of the page
+Quote Post
splatch
post 20.09.2006, 18:32:12
Post #2





Grupa: Zarejestrowani
Postów: 487
Pomógł: 7
Dołączył: 7.01.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


  1. <?xml version="1.0"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3.      <xsl:output method="text" encoding="iso-8859-1" indent="yes"/>
  4.  
  5.      <xsl:template match="/">
  6.  
  7.            <xsl:for-each select="//*">
  8.                  <xsl:if test="namespace-uri(.) = 'urn:bar'">
  9.                        Tag: <xsl:value-of select="concat(name(.),' ', local-name(.))" />
  10.                  </xsl:if>
  11.            </xsl:for-each>
  12.       </xsl:template>
  13.  
  14. </xsl:stylesheet>


plik xml
  1. <?xml version="1.0"?>
  2. <root xmlns="urn:foo" xmlns:bar="urn:bar">
  3.      <bar:x>a</bar:x>
  4.      <bar:y>b</bar:y>
  5.      <a>foo</a>
  6.      <b>bar</b>
  7. </root>


Ten post edytował splatch 20.09.2006, 18:33:00


--------------------
Łukasz Dywicki
Independent Java and open source software consultant.
Blog - Java, OSGi, integracja oprogramowania..
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 10:30