Che cos'è la funzione di targetNamespace
?Qual è la differenza tra targetNamespace e xmlns: target?
<schema xmlns="http://www.w3.org/2001/SchemaXML"
targetNamespace="http://www.example.com/name"
xmlns:target="http://www.example.com/name">
Capisco che xmlns="http://www.w3.org/2001/SchemaXML
definisce lo spazio dei nomi dello schema XML.
Capisco anche che xmlns:target="http://www.example.com/name"
definisce lo spazio dei nomi per il mio vocabolario se sto creando il mio schema utilizzando il prefisso "target"; questo funge da proxy o segnaposto per l'URI http://www.example.com/name
.
Sembra abbastanza per definire i limiti e i vocabolari necessari per i partecipanti allo spazio dei nomi. Quindi, perché ho bisogno di un attributo targetNamespace
che duplica lo spazio dei nomi http://www.example.com/name
?
'questo attributo definisce lo spazio dei nomi che questo schema è destinato a target' Trovo che questo sia così confuso. Lo schema sta "bersagliando" uno spazio dei nomi? Quindi, se faccio uno schema con 'targetNamespace =" google.com "' Ho appena creato uno spazio dei nomi su Google? Allora cosa? Infastidirà gli schemi di altre persone che hanno fatto lo stesso? Inoltre, quale prefisso viene utilizzato? – CodyBugstein
@Imray è confuso, penso che come documento XSL sta definendo una struttura XML, lo spazio dei nomi è semplicemente un modo di identificare in modo univoco questa struttura in modo tale che in seguito quando un documento XML lo fa riferimento (usando xmlns = o xmlns: somelabel = come mostrato sopra) ha un nome che non è in conflitto con altri documenti XSL a cui potresti fare riferimento, ha senso? – Shaun