Thread View: pl.comp.lang.python
6 messages
6 total messages
Started by blue
Wed, 24 Nov 2010 10:37
użycie przestrzreni nazw w xml
Author: blue
Date: Wed, 24 Nov 2010 10:37
Date: Wed, 24 Nov 2010 10:37
26 lines
1971 bytes
1971 bytes
z takiego kodu:
gmd = etree.Element ("{http://www.isotc211.org/2005/gmd}MD_Metadata")
fileIdentifier = etree.SubElement (gmd,"fileIdentifier")
CharacterString = etree.SubElement (fileIdentifier,"CharacterString")
CharacterString.text = "3505d6d4-0154-489b-a555-35f5b2458063"
dostaję taki XML:
<ns0:MD_Metadata xmlns:ns0="http://www.isotc211.org/2005/gmd">
<fileIdentifier>
<CharacterString>3505d6d4-0154-489b-a555-35f5b2458063</
CharacterString>
</fileIdentifier>
</ns0:MD_Metadata>
a chciałbym otrzymać coś takiego:
<gmd:MD_Metadata xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gmd:fileIdentifier>
<gco:CharacterString>3505d6d4-0154-489b-a555-35f5b2458063</
gco:CharacterString>
</gmd:fileIdentifier>
</gmd:MD_Metadata>
w czym tkwi problem?
Re: użycie przestrzreni nazw w xml
Author: Łukasz Rekucki
Date: Wed, 24 Nov 2010 12:26
Date: Wed, 24 Nov 2010 12:26
34 lines
2613 bytes
2613 bytes
On Nov 24, 11:37 am, blue <lukaszwojnow...@gmail.com> wrote:
> z takiego kodu:
>
> gmd = etree.Element ("{http://www.isotc211.org/2005/gmd}MD_Metadata")
> fileIdentifier = etree.SubElement (gmd,"fileIdentifier")
> CharacterString = etree.SubElement (fileIdentifier,"CharacterString")
> CharacterString.text = "3505d6d4-0154-489b-a555-35f5b2458063"
>
> dostaję taki XML:
>
> <ns0:MD_Metadata xmlns:ns0="http://www.isotc211.org/2005/gmd">
> <fileIdentifier>
> <CharacterString>3505d6d4-0154-489b-a555-35f5b2458063</
> CharacterString>
> </fileIdentifier>
> </ns0:MD_Metadata>
>
> a chciałbym otrzymać coś takiego:
>
> <gmd:MD_Metadata xmlns:gmd="http://www.isotc211.org/2005/gmd">
> <gmd:fileIdentifier>
> <gco:CharacterString>3505d6d4-0154-489b-a555-35f5b2458063</
> gco:CharacterString>
> </gmd:fileIdentifier>
> </gmd:MD_Metadata>
>
> w czym tkwi problem?
Z dokładnością do elementu "CharacterString", gdzie nie podałeś żadnej
przestrzeni nazw w swoim programie, te dwa dokumentu są równoważne.
Implementacja etree w bibliotece standardowej nie ma opcji ustalania
nazw prefiksów dla przestrzeni nazw. W bibliotece LXML można podać
mapę (Namespace->prefix) przy tworzeniu elementu:
http://codespeak.net/lxml/tutorial.html#namespaces
Re: użycie przestrzreni nazw w xml
Author: blue
Date: Thu, 25 Nov 2010 07:59
Date: Thu, 25 Nov 2010 07:59
2 lines
1409 bytes
1409 bytes
A prefixy ns0 sąprzydzielane atuomatycznie? skąd się biorą właśnie takie?
Re: użycie przestrzreni nazw w xml
Author: konryd
Date: Thu, 25 Nov 2010 09:32
Date: Thu, 25 Nov 2010 09:32
9 lines
1716 bytes
1716 bytes
On 25 Lis, 08:59, blue <lukaszwojnow...@gmail.com> wrote: > A prefixy ns0 sąprzydzielane atuomatycznie? skąd się biorą właśnie > takie? A czy przypadkiem na początku wyjściowego xmla nie masz określenia że ns0 to jest taka-a-taka przestrzeń nazw? pozdrawiam, Konrad
Re: użycie przestrzreni nazw w xml
Author: Łukasz Rekucki
Date: Thu, 25 Nov 2010 10:29
Date: Thu, 25 Nov 2010 10:29
5 lines
1661 bytes
1661 bytes
On Nov 25, 8:59 am, blue <lukaszwojnow...@gmail.com> wrote: > A prefixy ns0 sąprzydzielane atuomatycznie? skąd się biorą właśnie > takie? Tak, są przydzielane automatycznie.
Re: użycie przestrzreni nazw w xml
Author: tomas.h
Date: Sat, 27 Nov 2010 13:34
Date: Sat, 27 Nov 2010 13:34
22 lines
2125 bytes
2125 bytes
On 25 Lis, 11:29, Łukasz Rekucki <lreku...@gmail.com> wrote:
> On Nov 25, 8:59 am, blue <lukaszwojnow...@gmail.com> wrote:
>
> > A prefixy ns0 sąprzydzielane atuomatycznie? skąd się biorą właśnie
> > takie?
>
> Tak, są przydzielane automatycznie.
Proponuje zapoznać się z:
NS = {
None: 'przestrzeń domyślna dla xmlns=',
'gmd': 'http://www.isotc211.org/2005/gmd'
}
ET._namespace_map.update(dict((NS[short], short) for short in NS))
# lub dla nowszych elementtree chyba od 1.3
# ET.register_namespace(short, NS[short])
Ja trochę się tego naszukałem:)
Pozdrawiam,
Tomek
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