⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xsdcomplextype.vm

📁 网上下载的Eclipse 插件
💻 VM
字号:
#macro( BeginContentType type )
  #if( $type.isSimpleContent() )
    <xs:simpleContent>
      <xs:${type.DerivationKind} base="$type.BaseType.XMLQName">
        #foreach( $facet in $type.Facets )
          <xs:${facet.Name} value="$!facet.DefaultValue">
            #PrintXSDAnnotation( $facet )
          </xs:${facet.Name}>
        #end
        #foreach( $value in $type.EnumerationValues )
          <xs:enumeration value="$!value"/>
        #end
  #elseif( $type.useInheritance() && $type.ComplexBaseType )
    <xs:complexContent>
      <xs:${type.DerivationKind} base="$type.ComplexBaseType.XMLQName">
  #end
#end

#macro( EndContentType type )
  #if( $type.isSimpleContent() )
      </xs:${type.DerivationKind}>
    </xs:simpleContent>
  #elseif( $type.useInheritance() && $type.ComplexBaseType )
      </xs:${type.DerivationKind}>
    </xs:complexContent>
  #end
#end

#if( $modelElement.isTopLevel() )
  #PrintSubheaderComment( $modelElement )
#end

#if( $modelElement.TopLevelElement )
  #set( $dummy = $processedElements.add($modelElement.TopLevelElement))
  <xs:element name="$!modelElement.TopLevelElement.Name" type="$!modelElement.XMLQName"
    #if( $modelElement.isAbstract() ) abstract="true" #end
    #if( $modelElement.TopLevelElement.useSubstitutionGroup() && $modelElement.ComplexBaseType && $modelElement.ComplexBaseType.TopLevelElement )
      substitutionGroup="$!modelElement.ComplexBaseType.TopLevelElement.XMLQName"
    #end
  />
#end

#if( $modelElement.ReferenceProxyName )
  <xs:element name="$modelElement.ReferenceProxyName"
      		  substitutionGroup="$modelElement.TopLevelElement.XMLQName">
    <xs:complexType>
      <xs:attributeGroup ref="xlink:SimpleXLinkAttributes"
      		             xmlns:xlink="http://www.w3.org/1999/xlink"/>
    </xs:complexType>
  </xs:element>
#end

#if( $modelElement.isTopLevel() )
<xs:complexType name="$modelElement.Name"
      #if( $modelElement.isAbstract() ) abstract="true"#end
#else
<xs:complexType
#end
   #if( $modelElement.isMixed() ) mixed="true"#end
   #if( $modelElement.Id ) id="$modelElement.Id"#end >
   #PrintXSDAnnotation( $modelElement )
    
   #BeginContentType($modelElement)
      #if( $modelElement.isMixed() || $modelElement.ElementContent.size() > 0 )
        <xs:${modelElement.ModelGroupKind} #XSDMultiplicity($modelElement) >
          #foreach( $content in $modelElement.ElementContent )
            #ProcessXSD($content)
          #end
          #if( $modelElement.isMixed() && $modelElement.ElementContent.size() == 0 )
            #set( $hash = "#" )
            <xs:any namespace="${hash}${hash}other" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>a mixed type must have some content defined</xs:documentation>
              </xs:annotation>
            </xs:any>
          #end
        </xs:${modelElement.ModelGroupKind}>
      #end
      
      #if( $modelElement.ObjectIdName )
        <xs:attribute name="$modelElement.ObjectIdName" type="xs:ID"/>
      #end
      #foreach( $attr in $modelElement.AttributeContent )
        #ProcessXSD($attr)
      #end
   #EndContentType($modelElement)  
</xs:complexType>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -