Avatar billede madsleejensen Nybegynder
21. juli 2007 - 21:09 Der er 11 kommentarer og
1 løsning

namespaces, hvorfor ?

Hej sidder og leger lidt med håndtering af XML filer via php5.

har set lidt på namespaces, men forstår ikke hvorfor de er "nødvendige" eller gode at sætte, de skriver det er fordi man sikre navne konflikt

men hva hjælper det at smide en namespace foran ?

kan nogen give et eksempel på en evt navn konflikt mellem 2 elementer og så beskrive hvordan namespaces så udretter det problem..

på forhånd mange tak!
Avatar billede olebole Juniormester
21. juli 2007 - 21:26 #1
<ole>

To mennesker, der hedder Jensen. Hvem er hvem? Ham, der hedder Mads, er forskellig fra ham, der hedder Leif  ;o)

Eksempel:_ Under XHTML kan du have et almindeligt input-element:
    <input id="gnu" type="text" />

- men du kan også have et special-element - som også hedder 'input', men under et andet namespace:
    <myNameSpace:input id="hest" bla="noget" foo="123" bar="hmmm_456" />

Det kan være knyttet til et helt andet XML-baseret sprog, som browseren er i stand til at tolke (f.eks. VML i IE) - eller det kan være et element, som får nogle specielle egenskaber, når du gør noget ved det med JavaScript ... typisk på dokumentets onload-event.

Hovedsagen er, at browseren ved, den ikke skal behandle myNameSpace:input-elementet som et almindeligt input-element - men evt. selv gøre noget andet ved det - eller overlade det til dig eller en plugin, hvad der skal ske med det

/mvh
</bole>
Avatar billede Slettet bruger
21. juli 2007 - 21:27 #2
Et simpelt eksempel kunne f.eks. være et element <name> - det kan være navnet på en preference i et program, eller navnet på en hund - evt. navn på på en template i et XSLT stylesheet - whatever. Med namespaces har du en mulighed for at adskille disse, uden at kende omgivelserne.

Hvis man har et kæmpe dokument med flere af disse forskellige <name> elementer er det ret simpelt at bede et program om kun at hente de elementer der tilhører det specifikke namespace man er ude efter.
Avatar billede olebole Juniormester
21. juli 2007 - 21:27 #3
"Hovedsagen er, at browseren ved" >> eller, hvad det omgivende miljø nu er, der bruger XML'en  ;o)
Avatar billede madsleejensen Nybegynder
21. juli 2007 - 21:45 #5
jamen er det bare mig eller får alle elementer ikke det samme name space?

<gruppe xmlns="http://localhost/gruppe
xmlns:navn="http:://localhost/fornavn">
<bruger>
<fornavn>mads</fornavn>
</bruger>
<bruger>
<fornavn>daniel</fornavn>
</bruger>
</gruppe>

registere jeg ikke et namespace på mine fornavn elementer ?
Avatar billede arne_v Ekspert
21. juli 2007 - 21:53 #6
1)  Du har ikke angivet forskelligt namespace for de forskellige fornavn tags.

2)  Jeg tror slet ikke at de to fornavn tags i dit eksempek skal have forskellig
    namespace.
Avatar billede madsleejensen Nybegynder
21. juli 2007 - 21:57 #7
tror lige jeg læser lidt på dine links før jeg skriver flere dumme spm's :)
Avatar billede arne_v Ekspert
22. september 2007 - 21:46 #8
Kommet videre ?
Avatar billede arne_v Ekspert
28. oktober 2007 - 02:56 #9
??
Avatar billede arne_v Ekspert
08. juni 2008 - 17:44 #10
??
Avatar billede madsleejensen Nybegynder
12. september 2008 - 18:25 #11
undskylder vente tiden smid meget gerne et svar !
Avatar billede arne_v Ekspert
13. september 2008 - 19:06 #12
moi ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester