xmlns vinculado qué prefijo nombres lectura está espacio error definido xml soap xml-namespaces

vinculado - Espacio de nombres en el valor del elemento XML?



qué es el xmlns (1)

Recientemente me encontré con esto:

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing"> <s:Header> <a:Action s:mustUnderstand="1">http://schemas.xmlsoap.org/ws/2005/04/discovery/Probe</a:Action> <a:MessageID>uuid:21859bf9-6193-4c8a-ad50-d082e6d296ab</a:MessageID> <a:ReplyTo> <a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address> </a:ReplyTo> <a:To s:mustUnderstand="1">urn:schemas-xmlsoap-org:ws:2005:04:discovery</a:To> </s:Header> <s:Body> <Probe xmlns="http://schemas.xmlsoap.org/ws/2005/04/discovery"> <d:Types xmlns:d="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:dp0="http://www.onvif.org/ver10/network/wsdl">dp0:NetworkVideoTransmitter</d:Types> </Probe> </s:Body> </s:Envelope>

Una cosa que me deja perpleja es la línea:

<d:Types xmlns:d="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:dp0="http://www.onvif.org/ver10/network/wsdl">dp0:NetworkVideoTransmitter</d:Types>

El espacio de nombres dp0 se usa realmente en el valor del elemento, ¿eso significa algo?


En el nivel XML, no, un prefijo del espacio de nombres no tiene ningún significado dentro del contenido: los espacios de nombres y los prefijos del espacio de nombres son construcciones puramente de nivel de marcado.

Además, cualquier aplicación que use prefijos de espacio de nombres en el contenido tendrá que preocuparse de que solo se preocupe por el espacio de nombre al cual está vinculado el prefijo, no el prefijo mismo.

Finalmente, dado que el prefijo del espacio de nombres ( dp0 , aquí) es insignificante, excepto a través de su asociación con un valor del espacio de nombres ( http://www.onvif.org/ver10/network/wsdl ), el sufijo numérico 0 del prefijo del espacio de nombres es también insignificante. Típicamente, es solo un contador adjunto programáticamente para garantizar que el prefijo del espacio de nombres sea único.