Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [XSLT] jak usunac puste znaczniki xmlns
a79rtur
post
Post #1





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


witam
jak z wyjsciowego kodu xhtml usunac puste znaczniki xmlns="" ?

Ten post edytował a79rtur 9.06.2009, 15:29:21
Go to the top of the page
+Quote Post
devnul
post
Post #2





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


ob_start();

echo preg_replace('/<.*?(xmlns="[[:space:]]?").*?>/si',"",ob_get_clean());
tak mniej więcej
Go to the top of the page
+Quote Post
a79rtur
post
Post #3





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


a cos mniej ze tak powiem topornego ? moze cos trzeba ustawic w szablonie ? nie rozumiem dlaczego validator w3c sie rzuca o te xmlns bo mi to nie przeszkadza, tylko chce zeby strona byla zwalidowana poprawnie
Go to the top of the page
+Quote Post
mariuszn3
post
Post #4





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

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


Atrybut xmlns określa przestrzeń nazw. Jesli przykładowo DOMDocument::saveXML() w kodzie XHTML wyrzuca Ci elementy z takimi atrybutami to znaczy, że dodałeś jakieś elementy z pustą przestrzenią nazw a nie przestrzenią nazw XHTML.. tu pewnie tkwi problem..
Kiedy korzystasz z jakichkolwiek przestrzeni nazw zawsze do tworzenia nowych elementów używaj createElementNS() a nie createElement()
Go to the top of the page
+Quote Post
a79rtur
post
Post #5





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


jakies nowe rady w tym temacie ?
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




To znaczy? Jakiś konkretny kod?
Go to the top of the page
+Quote Post
a79rtur
post
Post #7





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


ok, przykladowo w htmlu po przetworzeniu ponizszego kodu pojawiaja sie znaczniki xmlns="", zalozmy ze apply-templates root powoduje wywolanie szablonu gdzie sa rozne divy, img i takie tam, wklejam tylko definicje glownego szablonu

  1. <xsl:stylesheet
  2.      version="1.0"
  3.      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  4.      
  5.      <xsl:output
  6.            method="xml"
  7.            encoding="UTF-8"
  8.            omit-xml-declaration="no"
  9.            doctype-public="-//WAPFORUM//DTD XHTML Mobile 1.2//EN"
  10.            doctype-system="http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd"
  11.            cdata-section-elements="script"
  12.            media-type="application/xhtml+xml"
  13.            />
  14.  
  15.       <xsl:include href="html_head.xsl" />
  16.      <xsl:include href="menu.xsl" />
  17.      <xsl:include href="header.xsl" />
  18.      <xsl:include href="footer.xsl" />
  19.  
  20.      <xsl:template match="/">
  21.      
  22.      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">            
  23.            <head>
  24.                  <xsl:call-template name="html_head" />
  25.            </head>
  26.            <body>
  27.                  <xsl:apply-templates select="root" />
  28.            </body>
  29.      </html>
  30.      </xsl:template>
  31.      
  32. </xsl:stylesheet>


Ten post edytował a79rtur 8.06.2009, 14:00:18
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A wynikowy? I zostają puste xmlns?
Go to the top of the page
+Quote Post
a79rtur
post
Post #9





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


Niestety tak, wiekszosc elementów je ma jak link, div itp. Chce to poprawic poniewaz po pierewsze, w tym momencie dowolny validator wywala mi kupe ostrzezen. Po drugie jesli przed wyslaniem do przekladarki wynikowego xhtml wysle naglowek z content-type application/xhtml+xml to strona nie wyswietla sie poprawnie np na FF, po usunieciu recznie z kodu tych smieci jest ok.
Go to the top of the page
+Quote Post
erix
post
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A co masz w arkuszach XSL?
Go to the top of the page
+Quote Post
a79rtur
post
Post #11





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


wyzej wkleilem glowny szablon, tutaj np strona glowna

  1.  
  2. <xsl:stylesheet version="1.0"
  3.      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  4.  
  5.    <xsl:import href="content/page_RP0.xsl" />
  6.  
  7.    <xsl:template match="root">
  8.            
  9.            <xsl:call-template name="header" />
  10.  
  11.            <div id="main">
  12.                  <xsl:apply-templates select="contents/content_page[@type = 'RP0']" />
  13.            </div>
  14.            
  15.            <xsl:call-template name="footer" />
  16.            
  17.   </xsl:template>
  18.  
  19.  
  20. </xsl:stylesheet>
Go to the top of the page
+Quote Post
erix
post
Post #12





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ech...

  1. <xsl:call-template name="header" />

i uważasz, że będziemy mieli szklaną kulę, żeby zobaczyć, co zawiera ten szablon...?
Go to the top of the page
+Quote Post
a79rtur
post
Post #13





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


nic istotnego, tak jak i footer

  1.  
  2. <xsl:stylesheet
  3.      version="1.0"
  4.      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  5.  
  6.      <xsl:template name="header">
  7.            <div id="header">
  8.                 <img src="i/logo.gif" alt="logo" class="mobileLogo" width="218" height="36"/>
  9.            </div>
  10.      </xsl:template>      
  11.  
  12. </xsl:stylesheet>


w kodzie wynikowym ten div za to wyglada tak

  1. <div id="header" xmlns="">.....


Ten post edytował a79rtur 9.06.2009, 12:49:10
Go to the top of the page
+Quote Post
erix
post
Post #14





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. <xsl:stylesheet
  2. version="1.0">

Albo wywal namespace, albo dopisz je tu:
  1. <xsl:template name="header">
Go to the top of the page
+Quote Post
a79rtur
post
Post #15





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


jesli wywalam namespace to mam blad

Cytat
file:///xxxxxxxxxxxx namespace error : Namespace prefix xsl on stylesheet is not defined in xxxxxxxxxx


jak dopisac? do kazdego elementu tam ?
Go to the top of the page
+Quote Post
erix
post
Post #16





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Podałem gałąź. ;]
Go to the top of the page
+Quote Post
a79rtur
post
Post #17





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


podaj kod (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) bo nie jarze
Go to the top of the page
+Quote Post
erix
post
Post #18





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Przecież podałem... :|
Go to the top of the page
+Quote Post
a79rtur
post
Post #19





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

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


(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
erix
post
Post #20





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. <xsl:template name="header" xmlns:xsl="...">

...
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 17:43