🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

5 total messages Started by Maciej Misiak Mon, 01 Jun 2009 13:38
problem z xmlns (chyba)
#10146
Author: Maciej Misiak
Date: Mon, 01 Jun 2009 13:38
43 lines
2282 bytes
Znalazłem plik gdzieś na serwerze w pracy plik XML zaczynający się tak:

<?xml version="1.0" encoding="UTF-8"?>
<raml xmlns="raml21.xsd" version="2.1">
<cmData adaptationVersionMajor="WN4.00" domain="FlexiBtsTrsPlan" scope="all"
type="actual">
...

Dla treningu chciałem sobie napisać jakąś transformację z wypisaniem danych.
Zacząłem ją tak:

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/TR/xhtml1/strict">

<xsl:output method="xml"/>

<xsl:template match="/raml/cmData">
hjkl
	<xsl:value-of select="@adaptationVersionMajor" />
	<xsl:value-of select="@domain" />
	<xsl:apply-templates/>
</xsl:template>
...

Oczekując wyświetlenia tekstu 'hjkl' i potem ewentualnej reszty. Problem w tym,
że w obecnej postaci wynikiem jest jedynie linia <?xml ...?>
Jeśli zmienię w XMLu
<raml xmlns="raml21.xsd" version="2.1">
na 
<raml version="2.1">
to otrzymuję poprawny wynik z wszystkimi oczekiwanymi danymi.

<proba_zadania_pytania>
Jak należy się odwoływać do tego elementu w <xsl:template match="???"> żeby
otrzymać poprawny wynik? Czy jest jakaś domyślna przestrzeń nazw, o której
jeszcze nie doczytałem? Albo może w tym pliku xsd mam szukać jakiejś definicji?
</proba_zadania_pytania>

-- 
grizzley

-- 
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Re: problem z xmlns (chyba)
#10148
Author: szomiz
Date: Mon, 01 Jun 2009 14:16
22 lines
1755 bytes
Użytkownik "Maciej Misiak" <grizzleyWYTNIJTO@poczta.onet.pl> napisał w 
wiadomości news:6069.0000018b.4a23d9bc@newsgate.onet.pl...

> <xsl:stylesheet version="2.0" 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns="http://www.w3.org/TR/xhtml1/strict">

Co oznacza (w uproszczeniu), ze dokument wejsciowy nie ma okreslonej 
przestrzeni nazw, a wyjsciowy (w jeszcze wiekszym uproszczeniu) ma miec 
przestrzen xhtml'a. Zmien na:

<xsl:stylesheet version="2.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cos="raml21.xsd" 
xmlns="http://www.w3.org/TR/xhtml1/strict" exclude-result-prefixex="cos">

> <xsl:template match="/raml/cmData">

Nie ma takich wezlow w dokumencie. Zmien na:

<xsl:template match="/cos:raml/cos:cmData">

sz. 
Re: problem z xmlns (chyba)
#10147
Author: toudidel
Date: Tue, 02 Jun 2009 06:04
20 lines
1770 bytes
Użytkownik "szomiz" <szomiz@> napisał w wiadomości
news:h00odl$71p$1@nemesis.news.neostrada.pl...
> <xsl:stylesheet version="2.0" 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cos="raml21.xsd" 
> xmlns="http://www.w3.org/TR/xhtml1/strict" exclude-result-prefixex="cos">
> <xsl:template match="/cos:raml/cos:cmData">

A tak czysto edukacyjnie, żeby było widać, że nie prefix a przestrzeń jest
ważna. Tak też będzie działać:

<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dowolnyPrefix="raml21.xsd" xmlns="http://www.w3.org/TR/xhtml1/strict"
exclude-result-prefixex="cos">

<xsl:template match="/dowolnyPrefix:raml/dowolnyPrefix:cmData">

-- 
td
http://www.xmlguru.net 
Re: problem z xmlns (chyba)
#10149
Author: toudidel
Date: Tue, 02 Jun 2009 06:06
11 lines
1380 bytes
Użytkownik "toudidel" <toudidel@oDWA.pl> napisał w wiadomości > 
<xsl:stylesheet version="2.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:dowolnyPrefix="raml21.xsd" 
> xmlns="http://www.w3.org/TR/xhtml1/strict"
> exclude-result-prefixex="cos">

... oczywiście exclude-result-prefixex="dowolnyPrefix"
-- 
td 
Re: problem z xmlns (chyba)
#10150
Author: szomiz
Date: Tue, 02 Jun 2009 06:25
10 lines
1384 bytes
Użytkownik "toudidel" <toudidel@oDWA.pl> napisał w wiadomości 
news:h02g29$lmq$1@nemesis.news.neostrada.pl...

> ... oczywiście exclude-result-prefixex="dowolnyPrefix"

... oczywiście exclude-result-prefixes

;)

sz. 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads