namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" default namespace mstns = "http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd" namespace rng = "http://relaxng.org/ns/structure/1.0" dependency = attribute id { xsd:string }, attribute version { xsd:string }?, attribute include { xsd:string }?, attribute exclude { xsd:string }? dependencyGroup = element dependency { dependency }*, attribute targetFramework { xsd:string }? reference = attribute file { xsd:string } contentFileEntries = attribute include { xsd:string }, attribute exclude { xsd:string }?, attribute buildAction { xsd:string }?, attribute copyToOutput { xsd:boolean }?, attribute flatten { xsd:boolean }? referenceGroup = element reference { reference }+, attribute targetFramework { xsd:string }? frameworkReference = attribute name { xsd:string } frameworkReferenceGroup = element frameworkReference { frameworkReference }*, attribute targetFramework { xsd:string } start |= starting_package starting_package = element package { element metadata { (element id { xsd:string } & element version { xsd:string } & element title { xsd:string }? & element authors { xsd:string } & element owners { xsd:string }? & element licenseUrl { xsd:anyURI }? & element projectUrl { xsd:anyURI }? & element iconUrl { xsd:anyURI }? & element requireLicenseAcceptance { xsd:boolean }? & element developmentDependency { xsd:boolean }? & element description { xsd:string } & element summary { xsd:string }? & element releaseNotes { xsd:string }? & (element copyright { xsd:string }?) >> a:documentation [ "\x{a}" ~ " default value is : en-US" ] & element language { xsd:string }? & element tags { xsd:string }? & element serviceable { xsd:boolean }? & element icon { xsd:string }? & element readme { xsd:string }? & element repository { attribute type { xsd:string }?, attribute url { xsd:anyURI }?, attribute branch { xsd:string }?, attribute commit { xsd:string }? }? & element license { xsd:string, attribute type { xsd:string }, attribute version { xsd:string }? }? & element packageTypes { element packageType { attribute name { xsd:string }, attribute version { xsd:string }? }* }? & element dependencies { (element dependency { dependency } | element group { dependencyGroup })* }? & element frameworkAssemblies { element frameworkAssembly { attribute assemblyName { xsd:string }, attribute targetFramework { xsd:string }? }* }? & element frameworkReferences { element group { frameworkReferenceGroup }* }? & element references { (element reference { reference } | element group { referenceGroup })* }? & element contentFiles { (element files { contentFileEntries })* }?), attribute minClientVersion { xsd:string }? }, element files { element file { attribute src { xsd:string }, attribute target { xsd:string }?, attribute exclude { xsd:string }? }* }? }