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

📄 xmlschema.vm

📁 网上下载的Eclipse 插件
💻 VM
字号:
## $Id: XMLSchema.vm,v 1.1 2002/11/14 18:04:22 dcarlson Exp $
##
#set( $depth = 10 )
#set( $modelElements = $xsdController.mapToXSD($modelElements) )
#set( $package = $modelElements.elementAt(0).PackageOrSelf )
########
<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 

#if( $package.Version )  version="${package.Version}" #end
#if( $package.ElementFormDefault && $package.ElementFormDefault != "unqualified" ) elementFormDefault="${package.ElementFormDefault}" #end
#if( $package.AttributeFormDefault && $package.AttributeFormDefault != "unqualified" ) attributeFormDefault="${package.AttributeFormDefault}" #end

#if( $package.TargetNamespace )
  #if( ! $package.ElementFormDefault ) elementFormDefault="qualified" #end
  
  targetNamespace="${package.TargetNamespace}" 
  $package.XMLNamespaceDecl
  
  #foreach( $include in $package.IncludedSchemas )
    #if( $include.TargetNamespacePrefix && $package.TargetNamespacePrefix && ($include.TargetNamespacePrefix != $package.TargetNamespacePrefix) )
      $include.XMLNamespaceDecl 
    #end
  #end
#end

#foreach( $import in $package.ImportedSchemas )
  $import.XMLNamespaceDecl 
#end

#if( $modelElement.Id ) id="$modelElement.Id"#end
>

## TODO: simplify above by adding to XSDSchema interface: getImports() getIncludes()

##
## Process included/imported schemas
##
#foreach( $package in $package.IncludedSchemas )
#if( $elementLocationMap.get($package.UMLObject) )
#set( $dummy = $package.setSchemaLocation($elementLocationMap.get($package.UMLObject).toString()) )
#end
  <xs:include schemaLocation="$package.SchemaLocation"/>
#end

#foreach( $package in $package.ImportedSchemas )
#if( $elementLocationMap.get($package.UMLObject) )
#set( $dummy = $package.setSchemaLocation($elementLocationMap.get($package.UMLObject).toString()) )
#end
  <xs:import namespace="$package.TargetNamespace" schemaLocation="$package.SchemaLocation"/>
#end

#if( $package.useReferenceProxy() )
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="XLinkAttributes.xsd"/>
#end

##
## Process selected model elements
##
#foreach( $count in [ 1 .. $depth ] )
  #foreach( $modelElement in $modelElements.clone() )
    #ProcessXSD( $modelElement )
  #end
#end

#if( $pendingGlobalElements.size() > 0 )
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- Global Element Declarations  -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
#set( $dummy = $pendingGlobalElements.removeAll($processedElements) )
#foreach( $globalElement in $pendingGlobalElements.clone() )
  #ProcessXSD($globalElement)
#end
#end

</xs:schema>

⌨️ 快捷键说明

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