Im Augenblick heißt das Dokument
QUOTE <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:mms="http://www.openmobilealliance.org/tech/profiles/MMS/ccppschema-20050301-MMS1.2#"
xmlns:
prf="http://www.openmobilealliance.org/tech/profiles/UAPROF/ccppschema-20021212#"
xmlns
ss5="http://www.3gpp.org/profiles/PSS/ccppschema-PSS5#">
<rdf
escription rdf:ID="Profile">
<
prf:component>
...
Es könnte aber morgen
QUOTE <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:mms="http://www.openmobilealliance.org/tech/profiles/MMS/ccppschema-20050301-MMS1.2#"
xmlns:
dummy="http://www.openmobilealliance.org/tech/profiles/UAPROF/ccppschema-20021212#"
xmlns
ss5="http://www.3gpp.org/profiles/PSS/ccppschema-PSS5#">
<rdf
escription rdf:ID="Profile">
<
dummy:component>
...
heißen - und wäre weiterhin semantisch dasselbe Xml-Dokument mit demselben Inhalt.
simplexml_load_file kenne ich nicht. Aber bei NET muß man wegen dieser prinzipiellen Möglichkeit, die Präfixe in einem Dokument beliebig benennen zu können, bei Transformationen (oder beim Auswählen von Knoten) einen Namespacemanager übergeben:
QUOTE Dim _nsMgr As XmlNamespaceManager
_nsMgr = New XmlNamespaceManager(New NameTable)
_nsMgr.AddNamespace("
xyz", "http://www.openmobilealliance.org/tech/profiles/UAPROF/ccppschema-20021212#"
_xNode_list = _xDoc.SelectNodes("//
xyz:template[starts-with(@name, 'irgendeinWert'
]", _nsMgr)
Ergebnis: Solange die eigentliche Adresse 'http://www.openmobilealliance.org...' dieselbe ist, funktioniert dieser Code, egal, ob in der Quelldatei 'prf' oder 'dummy' als Präfix verwendet wird.
Sprich: Suche, ob es in diesem Ding simplexml_load_file etwas Analoges gibt. Da sich das Präfix im Quelldokument auch jederzeit ändern kann, ist die Lösung von Jörg heikel.