📄 xmlschema.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 + -