2017-01-16 49 views
0

我有一种XSD格式,我希望它具有XML格式的基本示例表示,其元素表示形式与XSD的重复规则无关。使用JAVA将XSD转换为XML示例格式

以下是XSD数据:

<?xml version="1.0" encoding="UTF-8"?> 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:info1_module="info1" xmlns:info2="info2" xmlns:info3="info3" targetNamespace="info4" elementFormDefault="unqualified" attributeFormDefault="unqualified" version="1.2"> 
    <xsd:annotation> 
     <xsd:documentation></xsd:documentation> 
    </xsd:annotation> 
    <xsd:import namespace="info" schemaLocation="location1"/> 
    <xsd:import namespace="info" schemaLocation="location2"/> 
    <xsd:element name="foodAndBeverageIngredientInformationModule" type="food_and_beverage_ingredient_information_module:TSD_FoodAndBeverageIngredientInformationModuleType"/> 
    <xsd:complexType name="TSD_FoodAndBeverageIngredientInformationModuleType"> 
     <xsd:sequence> 
      <xsd:element name="ingredientStatement" type="tsd_common:TSD_FormattedDescription5000Type" minOccurs="0" maxOccurs="unbounded"/> 
      <xsd:element name="additivesStatement" type="tsd_common:TSD_FormattedDescription1000Type" minOccurs="0" maxOccurs="unbounded"/> 
      <xsd:element name="foodAndBeverageIngredient" type="food_and_beverage_ingredient_information_module:TSD_FoodAndBeverageIngredientType" minOccurs="0" maxOccurs="unbounded"/> 
      <xsd:element name="avpList" type="tsd_common:TSD_AttributeValuePairListType" minOccurs="0"/> 
     </xsd:sequence> 
    </xsd:complexType> 
    <xsd:complexType name="TSD_FoodAndBeverageIngredientType"> 
     <xsd:sequence> 
      <xsd:element name="ingredientName" type="shared_common:Description70Type" maxOccurs="unbounded"/> 
      <xsd:element name="ingredientSequence"> 
       <xsd:simpleType> 
        <xsd:restriction base="xsd:string"> 
         <xsd:maxLength value="70"/> 
         <xsd:minLength value="1"/> 
        </xsd:restriction> 
       </xsd:simpleType> 
      </xsd:element> 
      <xsd:element name="ingredientContentPercentage" type="xsd:decimal" minOccurs="0"/> 
      <xsd:element name="ingredientCountryOfOriginCode" type="shared_common:CountryCodeType" minOccurs="0" maxOccurs="unbounded"/> 
      <xsd:element name="ingredientCatchZone" minOccurs="0" maxOccurs="unbounded"> 
       <xsd:simpleType> 
        <xsd:restriction base="xsd:string"> 
         <xsd:maxLength value="70"/> 
         <xsd:minLength value="1"/> 
        </xsd:restriction> 
       </xsd:simpleType> 
      </xsd:element> 
      <xsd:element name="isIngredientHighlighted" type="xsd:boolean" minOccurs="0"/> 
      <xsd:element name="avpList" type="tsd_common:TSD_AttributeValuePairListType" minOccurs="0"/> 
     </xsd:sequence> 
    </xsd:complexType> 
</xsd:schema> 

XML:

<ingredientStatement languageCode=""></ingredientStatement> 
<additivesStatement languageCode=""></additivesStatement> 
<foodAndBeverageIngredient> 
    <ingredientName languageCode=""></ingredientName> 
    <ingredientContentPercentage></ingredientContentPercentage> 
    <ingredientSequence></ingredientSequence> 
    <ingredientCountryOfOriginCode></ingredientCountryOfOriginCode> 
    <ingredientCatchZone></ingredientCatchZone> 
    <isIngredientHighlighted></isIngredientHighlighted> 
</foodAndBeverageIngredient> 

请帮助我。

+2

如果您试图构建一个像https://www.liquid-technologies.com/xml-sample-builder这样的XML示例生成器。我可以告诉你它的相当多的工作,在XSLT中构建它将会变得更加困难(不是不可能,但是耗时而且烦琐),使用C#或java会让你的生活更轻松,因为你会发现xsd库会让生活更轻松,你甚至可以找到一个完整的开源解决方案,但是在XSLT中你将会在这一段时间... – Sprotty

+0

你我也意识到了同样的...你是对的。 – divya

+0

任何人都可以提供给我这样的java样本 – divya

回答