Namnutrymmesbaserat Validation Dispatching Language

Namnområdesbaserat Validation Dispatching Language (NVDL) är ett XML-schemaspråk för validering av XML-dokument som integreras med flera namnområden . Det är en ISO / IEC- standard, och det är del 4 av DSDL- schemaspecifikationen. Mycket av arbetet med NVDL är baserat på det äldre Namespace Routing Language .

Godkännande

De flesta XML-språk är baserade på ett enda XML-namnområde. Förväntningen i dessa fall är att XML-element i ett visst namnområde tillhör det språket och element i ett annat namnområde tillhör ett annat språk. Många XML-språk tillåter användning av godtyckliga element från andra namnområden.

Problemet uppstår under försöket att validera dessa hybriddokument. Varje språk definieras av ett specifikt XML-schema, men det finns ingen koppling mellan schemana.

Syftet med NVDL är att tillhandahålla den länkningen, baserat på namnrymder. Genom att associera en schemavaliderare med ett NVDL-schema kan valideraren använda flera scheman för att validera ett enda dokument och växla mellan dem baserat på namnrymden som används i det dokumentet.

Formatera

NVDL-dokument innehåller en lista med regler, som var och en har en eller flera åtgärder att vidta när den regeln är sann. Reglerna inkluderar ett specifikt namnområde och en lägesinställning. NVDL känner igen läget som en viss del av tillstånd som ändras när dokumentet bearbetas.

Åtgärder inträffar när en regel är sann. Åtgärder kan inkludera att validera ett schema, förklara instansdokumentet ogiltigt, acceptera denna del av instansdokumentet som giltigt och fortsätta validera som föräldern gjorde. Åtgärder kan också ändra det aktuella NVDL-läget. Flera åtgärder kan vidtas när en regel är sann; detta gör det möjligt att validera en del av instansdokumentet med flera scheman av en annan typ.

Exempel

 
   
     
  
   
     
  
  
    
  
 <rules  xmlns=  "http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0"  >  <namespace  ns=  "http://www.w3.org/1999/xhtml"  >  <validate  schema=  "xhtml.rng"  />  </namespace>  <namespace  ns=  "http://www.w3.org/2000/svg/"  >  <validate  schema=  "svg.sch"  />  </namespace>  <anyNamespace>  <reject/>  </anyNamespace>  </rules> 

Detta NVDL-schema kommer att validera delarna som använder XHTML 1.0-namnområdet med ett RELAX NG- schema, validera delarna som använder SVG 1.0-namnområdet med ett Schematron -schema och avvisa dokumentet som ogiltigt om det stöter på element med något annat namnområde.

externa länkar