Was ist der Unterschied zwischen localname und qname?
Bei der Verwendung von SAX zu Parsen einer XML-Datei in Java, was ist der Unterschied zwischen den Parametern localname und qname in SAX-Methoden wie startElement(String uri, String localName,String qName, Attributes attributes)
?
InformationsquelleAutor der Frage Bob | 2011-08-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den qualifizierten Namen enthält sowohl die namespace-Präfix und lokalem Namen:
att1
undfoo:att2
.Beispiel-XML -
Java-Code:
att1
Attribute ohne namespace-Präfix nicht abholen, ist der Standard-namespace. Dies bedeutet, dass während der namespace für die
root
element ist"http://www.example.com/DEFAULT"
wird, wird der namespace für dieatt1
Attribut ist""
.att2
InformationsquelleAutor der Antwort Blaise Doughan
Generell localname der lokale name, Bedeutung im namespace. qname, oder-qualified-name, der vollständige name (inklusive namespace). Zum Beispiel, <a:b ...> wird ein localname b, aber ein qname (a:b).
Diese ist jedoch sehr allgemein und Einstellungen-abhängig. Werfen Sie einen Blick auf das Beispiel am Ende dieser Seite für eine gründlichere Beispiel: Beispiel
InformationsquelleAutor der Antwort Eran Zimmerman
Standardmäßig ein XML-reader meldet, dass der Namespace-URI und ein localName für jedes element gehört in einen Namensraum, in der sowohl die start-und end-handler.
Betrachten Sie das folgende Beispiel:
Mit der Standard-SAX2-Namespace Verarbeitung der XML-Leser melden würde, ein start-und end-element-Ereignis mit der Namespace-URI http://www.w3.org/1999/xhtml und die localName-hr. Die meisten XMLReader-Implementierungen auch Bericht der original qName html:hr, aber die parameter könnten einfach ein leerer string sein (außer für die Elemente, die nicht in einem namespace).
http://www.saxproject.org/namespaces.html
InformationsquelleAutor der Antwort Nageswara Rao