Cosa potrebbe esserci di sbagliato in questo XSD?
-
22-09-2019 - |
Domanda
Ho un XSD. Quando provo a convalidarlo in BizTalk dà questi errori:
error BEC2009: Node "<Schema>" - Schema reference "http://www.w3.org/2001/xml.xsd" is not a valid reference or does not exist in the current project.
error BEC2009: Node "<Schema>" - Schema reference "http://www.w3.org/2001/xml.xsd" is not a valid reference or does not exist in the current project.
warning BEC999: Cannot resolve the 'schemaLocation' attribute.
error BEC3001: The 'http://www.w3.org/XML/1998/namespace:space' attribute is not declared.
warning BEC999: Cannot resolve the 'schemaLocation' attribute.
warning BEC1007: Node "<Schema>" - Target namespace is empty.
Credo che si riferisce a spazi dei nomi che assomigliano a questo:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
Non sono sicuro se questo è abbastanza informazioni per andare avanti ...
Modifica:
Ho scoperto che a seconda di quale programma che uso per convalidare XML con esso a volte funziona. Per esempio. Se creo un certo codice .NET per convalidare un XML rispetto allo schema sembra di leggere il XSD ok e convalida il codice XML. Se uso la validazione XML in Notepad ++ si dice che non è in grado di leggere lo schema però. In un altro mapper (WTX) dicono che anche non funziona.
Ci sono altre cose che posso provare a restringere i possibili problemi?
Modifica 2:
Grazie a xcut. Scoperto che se scarico lo schema a livello locale e metterlo nel progetto BizTalk lo schema di convalida ok, ma con 1 avvertimento:
avvertimento BEC1007:. Nodo "" - spazio dei nomi di destinazione è vuoto
Soluzione
Oltre ad esso che è un po 'strano per importare lo schema spazio dei nomi, è possibile che BizTalk semplicemente non è possibile importare uno schema attraverso un URL (mentre il codice .NET possono).
Per escludere questo come un problema, scaricare lo schema da w3.org, metterlo nel progetto e importare da lì invece che su HTTP.