婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Eclipse XSD 生成枚舉類型的Schema的實(shí)例詳解

Eclipse XSD 生成枚舉類型的Schema的實(shí)例詳解

熱門標(biāo)簽:潤滑油銷售電銷機(jī)器人 海外圖書館地圖標(biāo)注點(diǎn) 外呼系統(tǒng)使用方法 如何看懂地圖標(biāo)注點(diǎn) 自繪地圖標(biāo)注數(shù)據(jù) 電銷機(jī)器人免培訓(xùn) 南通通訊外呼系統(tǒng)產(chǎn)品介紹 給地圖標(biāo)注得傭金 電話機(jī)器人需要使用網(wǎng)絡(luò)嗎

Eclipse XSD 生成枚舉類型的Schema的實(shí)例詳解

前言:

因?yàn)榫W(wǎng)上關(guān)于Eclipse XSD的中文資料比較少,而且關(guān)于Eclipse XSD的范例代碼也鳳毛麟角,但是有的時候我們需要生成一個帶枚舉限定的簡單類型的XSD Schema,比如下面的格式,

?xml version="1.0" encoding="UTF-8"?>schema xmlns="http://www.w3.org/2001/XMLSchema"  targetNamespace="http://www.w3.org/2001/XMLSchema"> 
   complexType name="StudentType"> 
    sequence> 
     element maxOccurs="1" minOccurs="1" name="username" type="string"/> 
     element maxOccurs="1" minOccurs="1" name="password" type="string"/> 
     element maxOccurs="1" minOccurs="1" name="alignment" type="AlignmentType"/> 
    /sequence> 
   /complexType> 
   simpleType name="AlignmentType"> 
    restriction base="string"> 
     enumeration value="RIGHT"/> 
     enumeration value="MIDDLE"/> 
     enumeration value="LEFT"/> 
    /restriction> 
   /simpleType> 
   element name="Student" type="StudentType"/> 
  /schema> 

其中, SimpleType name="AlignmentType"> 代表的就是一個帶枚舉限定的簡單類型。那么應(yīng)該如何生成呢?請見參考下面的代碼。

import org.eclipse.xsd.XSDComplexTypeDefinition; 
import org.eclipse.xsd.XSDCompositor; 
import org.eclipse.xsd.XSDElementDeclaration; 
import org.eclipse.xsd.XSDEnumerationFacet; 
import org.eclipse.xsd.XSDFactory; 
import org.eclipse.xsd.XSDImport; 
import org.eclipse.xsd.XSDInclude; 
import org.eclipse.xsd.XSDModelGroup; 
import org.eclipse.xsd.XSDParticle; 
import org.eclipse.xsd.XSDRedefine; 
import org.eclipse.xsd.XSDSchema; 
import org.eclipse.xsd.XSDSchemaDirective; 
import org.eclipse.xsd.XSDSimpleTypeDefinition; 
import org.eclipse.xsd.util.XSDResourceImpl; 
import org.eclipse.xsd.util.XSDUtil; 
import org.junit.Test; 
import org.w3c.dom.Element; 
 
public class EnumFacetTest { 
  protected static XSDFactory xsdFactory = XSDFactory.eINSTANCE; 
  private void createAligementElement(XSDSimpleTypeDefinition aligmentType){ 
  String[] cellAligements={"RIGHT","MIDDLE","LEFT"}; 
   for(int i=0;icellAligements.length;i++){ 
     XSDEnumerationFacet alEnum=XSDFactory.eINSTANCE.createXSDEnumerationFacet(); 
     alEnum.setLexicalValue(cellAligements[i]); 
     //aligmentType.getFacets().add(alEnum); 
     aligmentType.getFacetContents().add(alEnum); 
   }  
  } 
  /** 
  ?xml version="1.0" encoding="UTF-8"?>schema xmlns="http://www.w3.org/2001/XMLSchema"  targetNamespace="http://www.w3.org/2001/XMLSchema"> 
   complexType name="StudentType"> 
    sequence> 
     element maxOccurs="1" minOccurs="1" name="username" type="string"/> 
     element maxOccurs="1" minOccurs="1" name="password" type="string"/> 
     element maxOccurs="1" minOccurs="1" name="alignment" type="AlignmentType"/> 
    /sequence> 
   /complexType> 
   simpleType name="AlignmentType"> 
    restriction base="string"> 
     enumeration value="RIGHT"/> 
     enumeration value="MIDDLE"/> 
     enumeration value="LEFT"/> 
    /restriction> 
   /simpleType> 
   element name="Student" type="StudentType"/> 
  /schema> 
  */ 
  @Test  
  public void EnumFacetTest() { 
    String targeNameSpace="http://www.w3.org/2001/XMLSchema"; 
    XSDSchema xsdSchema=xsdFactory.createXSDSchema(); 
    xsdSchema.setTargetNamespace(targeNameSpace); 
    xsdSchema.getQNamePrefixToNamespaceMap().put(null, "http://www.w3.org/2001/XMLSchema"); 
 
    //1.1 Create Complex type:student 
    XSDComplexTypeDefinition complexTypeDef = xsdFactory.createXSDComplexTypeDefinition(); 
    complexTypeDef.setTargetNamespace(xsdSchema.getTargetNamespace()); 
    complexTypeDef.setName("StudentType"); 
     
    XSDParticle xsdParticle=xsdFactory.createXSDParticle(); 
    XSDModelGroup xsdModuleGroup=xsdFactory.createXSDModelGroup(); 
    xsdModuleGroup.setCompositor(XSDCompositor.SEQUENCE_LITERAL); 
   
    xsdParticle.setContent(xsdModuleGroup); 
     
    complexTypeDef.setContent(xsdParticle); 
    complexTypeDef.setContentType(xsdParticle); 
    xsdSchema.getContents().add(complexTypeDef); 
     
    //1.2 Add element for complex type 
    //1.2.1 username element 
    XSDParticle localXSDParticle = xsdFactory.createXSDParticle(); 
    localXSDParticle.setMinOccurs(1); 
    localXSDParticle.setMaxOccurs(1); 
    XSDElementDeclaration localXSDElementDeclaration = xsdFactory.createXSDElementDeclaration(); 
    localXSDElementDeclaration.setTargetNamespace(targeNameSpace); 
    localXSDElementDeclaration.setName("username"); 
    XSDSchema localXSDSchema = XSDUtil.getSchemaForSchema("http://www.w3.org/2001/XMLSchema"); 
    XSDSimpleTypeDefinition localSimpleType=localXSDSchema.resolveSimpleTypeDefinition("string"); 
    localXSDElementDeclaration.setTypeDefinition(localSimpleType); 
    localXSDParticle.setContent(localXSDElementDeclaration); 
    xsdModuleGroup.getContents().add(localXSDParticle); 
     
    //1.2.2 password element 
    localXSDParticle = xsdFactory.createXSDParticle(); 
    localXSDParticle.setMinOccurs(1); 
    localXSDParticle.setMaxOccurs(1); 
    localXSDElementDeclaration = xsdFactory.createXSDElementDeclaration(); 
    localXSDElementDeclaration.setTargetNamespace(targeNameSpace); 
    localXSDElementDeclaration.setName("password"); 
    localXSDSchema = XSDUtil.getSchemaForSchema("http://www.w3.org/2001/XMLSchema"); 
    localSimpleType=localXSDSchema.resolveSimpleTypeDefinition("string"); 
    localXSDElementDeclaration.setTypeDefinition(localSimpleType); 
    localXSDParticle.setContent(localXSDElementDeclaration); 
    xsdModuleGroup.getContents().add(localXSDParticle); 
     
    //1.2.3.1 Create Simple Type with XSDEnumerationFacet--------------- 
     XSDSimpleTypeDefinition xsdSimpleTypeDefinition = XSDFactory.eINSTANCE.createXSDSimpleTypeDefinition(); 
     XSDSimpleTypeDefinition baseTypeDefinition = xsdSchema.resolveSimpleTypeDefinitionURI("string"); 
     xsdSimpleTypeDefinition.setBaseTypeDefinition(baseTypeDefinition); 
     xsdSimpleTypeDefinition.setName("AlignmentType"); 
     createAligementElement(xsdSimpleTypeDefinition); 
     xsdSchema.getContents().add(xsdSimpleTypeDefinition); 
    //1.2.3.2 Create element with Simple Type -------------- 
     localXSDParticle = xsdFactory.createXSDParticle(); 
     localXSDParticle.setMinOccurs(1); 
     localXSDParticle.setMaxOccurs(1); 
     localXSDElementDeclaration = xsdFactory.createXSDElementDeclaration(); 
     localXSDElementDeclaration.setTargetNamespace(targeNameSpace); 
     localXSDElementDeclaration.setName("alignment"); 
     localXSDSchema = XSDUtil.getSchemaForSchema("http://www.w3.org/2001/XMLSchema"); 
     localXSDElementDeclaration.setTypeDefinition(xsdSimpleTypeDefinition); 
     localXSDParticle.setContent(localXSDElementDeclaration); 
     xsdModuleGroup.getContents().add(localXSDParticle); 
   
    //2.Create XSDElementDeclaration and attached complex type to XSD element 
    XSDElementDeclaration xsdEelement=xsdFactory.createXSDElementDeclaration(); 
    xsdEelement.setName("Student"); 
    xsdEelement.setTypeDefinition(complexTypeDef); 
    xsdSchema.getContents().add(xsdEelement); 
     
    //3.Print Schema 
    SchemaPrintService.printSchema(xsdSchema); 
 
 
     
 
  } 
} 
 
class SchemaPrintService { 
  /** 
   * print schema to console 
   * 
   * @param xsdSchema 
   */ 
  public static void printSchema(XSDSchema xsdSchema) { 
    System.out.println("!-- ===== Schema Composition ====="); 
    printDirectives(" ", xsdSchema); 
    System.out.println("-->"); 
 
    System.out 
        .println("!-- [ " + xsdSchema.getSchemaLocation() + " ] -->"); 
    xsdSchema.updateElement(); 
    Element element = xsdSchema.getElement(); 
    if (element != null) { 
      // Print the serialization of the model. 
      XSDResourceImpl.serialize(System.out, element); 
    } 
  } 
 
  private static void printSchemaStart(XSDSchema xsdSchema) { 
    System.out.print("schema targetNamespace=\""); 
    if (xsdSchema.getTargetNamespace() != null) { 
      System.out.print(xsdSchema.getTargetNamespace()); 
    } 
    System.out.print("\" schemaLocation=\""); 
    if (xsdSchema.getSchemaLocation() != null) { 
      System.out.print(xsdSchema.getSchemaLocation()); 
    } 
    System.out.print("\">"); 
  } 
 
  private static void printDirectives(String indent, XSDSchema xsdSchema) { 
    System.out.print(indent); 
    printSchemaStart(xsdSchema); 
    System.out.println(); 
 
    if (!xsdSchema.getReferencingDirectives().isEmpty()) { 
      System.out.println(indent + " referencingDirectives>"); 
      for (XSDSchemaDirective xsdSchemaDirective : xsdSchema 
          .getReferencingDirectives()) { 
        XSDSchema referencingSchema = xsdSchemaDirective.getSchema(); 
        System.out.print(indent + "  "); 
        printSchemaStart(referencingSchema); 
        System.out.println(); 
        System.out.print(indent + "   "); 
        if (xsdSchemaDirective instanceof XSDImport) { 
          XSDImport xsdImport = (XSDImport) xsdSchemaDirective; 
          System.out.print("import namespace=\""); 
          if (xsdImport.getNamespace() != null) { 
            System.out.print(xsdImport.getNamespace()); 
          } 
          System.out.print("\" schemaLocation=\""); 
        } else if (xsdSchemaDirective instanceof XSDRedefine) { 
          System.out.print("redefine schemaLocation=\""); 
        } else if (xsdSchemaDirective instanceof XSDInclude) { 
          System.out.print("include schemaLocation=\""); 
        } 
        if (xsdSchemaDirective.getSchemaLocation() != null) { 
          System.out.print(xsdSchemaDirective.getSchemaLocation()); 
        } 
        System.out.println("\"/>"); 
        System.out.println(indent + "  /schema>"); 
      } 
      System.out.println(indent + " /referencingDirectives>"); 
    } 
 
    if (!xsdSchema.getIncorporatedVersions().isEmpty()) { 
      System.out.println(indent + " incorporatedVersions>"); 
      for (XSDSchema incorporatedVersion : xsdSchema 
          .getIncorporatedVersions()) { 
        printDirectives(indent + "  ", incorporatedVersion); 
      } 
      System.out.println(indent + " /incorporatedVersions>"); 
    } 
 
    System.out.println(indent + "/schema>"); 
  } 
 
} 

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

您可能感興趣的文章:
  • Eclipse內(nèi)置瀏覽器打開方法
  • myeclipse8.5優(yōu)化技巧詳解
  • Eclipse配置springIDE插件的方法步驟
  • tomcat相關(guān)配置與eclipse集成_動力節(jié)點(diǎn)Java學(xué)院整理
  • myeclipse開發(fā)servlet_動力節(jié)點(diǎn)Java學(xué)院整理
  • Eclipse查看開發(fā)包jar里源代碼的方法

標(biāo)簽:大連 銅川 黃石 內(nèi)江 樂山 貸款邀約 南京 廣州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Eclipse XSD 生成枚舉類型的Schema的實(shí)例詳解》,本文關(guān)鍵詞  Eclipse,XSD,生成,枚舉,類型,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Eclipse XSD 生成枚舉類型的Schema的實(shí)例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Eclipse XSD 生成枚舉類型的Schema的實(shí)例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    色琪琪一区二区三区亚洲区| 亚洲图片自拍偷拍| 国产91在线看| 在线不卡免费欧美| 国产亚洲精品中文字幕| 91麻豆国产福利精品| 色婷婷亚洲精品| 欧美极品少妇xxxxⅹ高跟鞋| 久久综合成人精品亚洲另类欧美 | 日韩你懂的电影在线观看| 韩国av一区二区三区| 欧美三级中文字幕| 成人精品高清在线| 亚洲一区二区欧美日韩| 日韩精品一区二区三区视频| 国产99久久久国产精品潘金| 美腿丝袜一区二区三区| 中文字幕在线不卡| 久久久久国产精品麻豆| 欧美猛男gaygay网站| 国产成人午夜精品影院观看视频| 亚洲午夜精品17c| 亚洲男帅同性gay1069| 久久色在线观看| 欧美日韩一区二区三区在线| 亚洲在线观看免费视频| 亚洲六月丁香色婷婷综合久久 | 亚洲一区二区三区四区在线观看| 一区二区三区欧美| 国产一区二区在线电影| 欧美三级视频在线观看| 精品无人码麻豆乱码1区2区| 99久久99久久精品国产片果冻| 26uuu久久综合| 91麻豆精品国产综合久久久久久| 成人aaaa免费全部观看| 偷拍日韩校园综合在线| 99久久免费视频.com| 中文在线免费一区三区高中清不卡| 大尺度一区二区| 亚洲国产日韩精品| 欧美极品xxx| 91精品国产福利在线观看| 懂色av一区二区三区蜜臀| 免费高清在线一区| 免费成人结看片| 日韩一区二区电影| 亚洲资源在线观看| 久久国产生活片100| 色综合久久综合网欧美综合网| 一本色道亚洲精品aⅴ| 欧美性色aⅴ视频一区日韩精品| 日韩一区二区三区四区五区六区| 国产亚洲欧美激情| 亚洲精品视频在线观看免费| 色综合天天性综合| 久久亚洲精精品中文字幕早川悠里| 美女一区二区三区| 欧美精品一区二区三| 精品国产在天天线2019| 99视频精品免费视频| 国产精品国产精品国产专区不蜜| 欧美一级黄色片| 91精品国产综合久久婷婷香蕉 | 亚洲色图欧洲色图婷婷| 国产精品免费网站在线观看| 91超碰这里只有精品国产| 欧美日韩中字一区| 这里只有精品视频在线观看| 欧美一区二区三区在| 久久免费电影网| 国产精品毛片高清在线完整版| 国产欧美一区二区精品性色超碰 | 久久精品国产亚洲aⅴ| 99视频在线精品| 久久精品久久99精品久久| 久久久久亚洲蜜桃| 精品一区二区三区影院在线午夜| wwwwxxxxx欧美| 色婷婷综合中文久久一本| 国产精品久久久久天堂| 成人性生交大片免费看中文| 一区二区三区国产精品| 日韩欧美一区二区视频| 精品久久久久久久久久久久久久久久久| 欧美一级理论片| 久久久99免费| 男男gaygay亚洲| 亚洲视频1区2区| 国产一区二区免费在线| 精品国产一二三区| 91网上在线视频| 日韩毛片视频在线看| 日本久久一区二区| 日韩不卡免费视频| 成人欧美一区二区三区| 国产日韩亚洲欧美综合| 亚洲精品日日夜夜| 国产精品天干天干在线综合| 日韩欧美国产一区二区在线播放| 5858s免费视频成人| 久久久亚洲欧洲日产国码αv| 亚洲欧美经典视频| 成人高清视频在线观看| 日韩一级片网站| 香蕉久久一区二区不卡无毒影院 | 91精品国产aⅴ一区二区| 日韩美女啊v在线免费观看| 国产成人一级电影| ww亚洲ww在线观看国产| 精品一区二区在线播放| 精品国产一区二区三区不卡| 国产精一品亚洲二区在线视频| 日韩午夜电影在线观看| 麻豆精品久久精品色综合| 精品少妇一区二区三区免费观看| 另类小说视频一区二区| 久久美女艺术照精彩视频福利播放| 国产精品高潮呻吟| 日本道免费精品一区二区三区| 亚洲一区二区中文在线| 日韩亚洲欧美高清| 粉嫩一区二区三区在线看| 一区二区三区在线影院| 91麻豆精品国产91久久久使用方法 | 亚洲欧洲成人av每日更新| 成人精品小蝌蚪| 石原莉奈在线亚洲二区| 亚洲激情第一区| 国产精品视频线看| 亚洲午夜电影网| 精品三级在线观看| 日本一区二区免费在线观看视频| 欧美一级二级三级乱码| 欧美日韩一区高清| 99久久亚洲一区二区三区青草| 国产精品一区二区在线看| 亚洲国产成人精品视频| 樱花草国产18久久久久| 亚洲一区在线电影| 亚洲成年人网站在线观看| 一区二区三区在线免费视频| 亚洲成av人影院在线观看网| 色偷偷久久人人79超碰人人澡| 成人福利视频网站| 91丨九色丨蝌蚪丨老版| 欧美色视频在线| 欧美mv日韩mv亚洲| 26uuu国产电影一区二区| 日韩美女在线视频| 26uuu成人网一区二区三区| 国产欧美日韩一区二区三区在线观看| 国产精品嫩草久久久久| 五月天一区二区三区| 国产一区二区按摩在线观看| 国产成人av一区二区| 欧美一a一片一级一片| 日韩一区二区三区免费看| 亚洲第一电影网| 成人午夜视频在线| 精品捆绑美女sm三区| 一区二区三区影院| 国产成人免费av在线| 欧美一区二区视频在线观看| 欧美激情在线看| 免费观看30秒视频久久| 欧美日韩综合色| 亚洲精品高清在线| 国产福利一区在线| 精品国产一区二区亚洲人成毛片 | 经典三级在线一区| 97se亚洲国产综合自在线观| 欧美成人精精品一区二区频| 亚洲成人免费影院| 欧美日韩精品一区二区在线播放| 国产精品久久久久一区二区三区| 奇米精品一区二区三区在线观看| 色综合天天综合狠狠| 国产精品的网站| 成人免费va视频| 欧美xxxxx牲另类人与| 亚洲综合区在线| 亚洲天堂网中文字| 国产一区二区三区在线观看免费| 欧美一区二区三区免费大片| 日韩精品亚洲一区| 精品国产一区二区三区四区四| 日韩精品一级中文字幕精品视频免费观看 | 麻豆精品久久精品色综合| 91激情在线视频| 亚洲第一在线综合网站| 欧美日韩精品一区二区三区| 日韩电影在线一区| 久久欧美一区二区| 99精品1区2区| 亚洲丰满少妇videoshd| 日韩丝袜美女视频| gogo大胆日本视频一区| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久综合给合久久狠狠狠97色69|