<dependency>
<groupId>jp.sourceforge.mikutoga</groupId>
<artifactId>togagem</artifactId>
- <version>3.121.2</version>
+ <version>3.122.2</version>
<scope>compile</scope>
</dependency>
import java.net.URI;
import java.net.URISyntaxException;
-import jp.sfjp.mikutoga.xml.LocalXmlResource;
/**
* 110820形式XML各種リソースの定義。
*/
-public final class Schema110820 implements LocalXmlResource{
-
- /** 唯一のシングルトン。 */
- public static final Schema110820 SINGLETON;
+public final class Schema110820{
/** XML名前空間識別子。 */
public static final String NS_VMDXML =
public static final String LOCAL_SCHEMA_VMDXML =
"resources/vmdxml-110820.xsd";
- private static final URI URI_SCHEMA_VMDXML = URI.create(SCHEMA_VMDXML);
- private static final URI RES_SCHEMA_VMDXML;
+ public static final URI URI_SCHEMA_VMDXML = URI.create(SCHEMA_VMDXML);
+ public static final URI RES_SCHEMA_VMDXML;
private static final Class<?> THISCLASS = Schema110820.class;
}catch(URISyntaxException e){
throw new ExceptionInInitializerError(e);
}
-
- SINGLETON = new Schema110820();
}
* コンストラクタ。
*/
private Schema110820(){
- super();
- assert this.getClass() == THISCLASS;
- return;
- }
-
-
- /**
- * {@inheritDoc}
- * @return {@inheritDoc}
- */
- @Override
- public URI getOriginalResource(){
- return URI_SCHEMA_VMDXML;
- }
-
- /**
- * {@inheritDoc}
- * @return {@inheritDoc}
- */
- @Override
- public URI getLocalResource(){
- return RES_SCHEMA_VMDXML;
+ assert false;
}
}
import java.net.URI;
import java.net.URISyntaxException;
-import jp.sfjp.mikutoga.xml.LocalXmlResource;
/**
* 130609形式XML各種リソースの定義。
* <p>MikuMikuDance Ver7.40 の新VMDファイルフォーマット対応。
*/
-public final class Schema130609 implements LocalXmlResource{
-
- /** 唯一のシングルトン。 */
- public static final Schema130609 SINGLETON;
+public final class Schema130609{
/** XML名前空間識別子。 */
public static final String NS_VMDXML =
public static final String LOCAL_SCHEMA_VMDXML =
"resources/vmdxml-130609.xsd";
- private static final URI URI_SCHEMA_VMDXML = URI.create(SCHEMA_VMDXML);
- private static final URI RES_SCHEMA_VMDXML;
+ public static final URI URI_SCHEMA_VMDXML = URI.create(SCHEMA_VMDXML);
+ public static final URI RES_SCHEMA_VMDXML;
private static final Class<?> THISCLASS = Schema130609.class;
}catch(URISyntaxException e){
throw new ExceptionInInitializerError(e);
}
-
- SINGLETON = new Schema130609();
}
* コンストラクタ。
*/
private Schema130609(){
- super();
- assert this.getClass() == THISCLASS;
- return;
- }
-
-
- /**
- * {@inheritDoc}
- * @return {@inheritDoc}
- */
- @Override
- public URI getOriginalResource(){
- return URI_SCHEMA_VMDXML;
- }
-
- /**
- * {@inheritDoc}
- * @return {@inheritDoc}
- */
- @Override
- public URI getLocalResource(){
- return RES_SCHEMA_VMDXML;
+ assert false;
}
}
import jp.sfjp.mikutoga.vmd.model.PosCurve;
import jp.sfjp.mikutoga.vmd.model.VmdMotion;
import jp.sfjp.mikutoga.xml.BasicXmlExporter;
-import jp.sfjp.mikutoga.xml.XmlResourceResolver;
+import jp.sfjp.mikutoga.xml.SchemaUtil;
/**
* VMDモーションデータをXMLへエクスポートする。
ind().putOpenSTag(VmdTag.VMD_MOTION.tag()).ln();
pushNest();
ind().putAttr("xmlns", namespace).ln();
- ind().putAttr("xmlns:" + XSINS, XmlResourceResolver.NS_XSD).ln();
+ ind().putAttr("xmlns:" + XSINS, SchemaUtil.NS_XSD).ln();
ind().putRawText(XSINS).putRawText(":schemaLocation=")
.putRawCh('"');
import jp.sfjp.mikutoga.vmd.model.xml.Schema110820;
import jp.sfjp.mikutoga.vmd.model.xml.Schema130609;
import jp.sfjp.mikutoga.xml.BotherHandler;
-import jp.sfjp.mikutoga.xml.LocalXmlResource;
+import jp.sfjp.mikutoga.xml.NoopEntityResolver;
import jp.sfjp.mikutoga.xml.SchemaUtil;
-import jp.sfjp.mikutoga.xml.XmlResourceResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
SAXParser parser;
try{
parser = factory.newSAXParser();
- }catch(ParserConfigurationException e){
- assert false;
- throw new AssertionError(e);
- }catch(SAXException e){
+ }catch(ParserConfigurationException | SAXException e){
assert false;
throw new AssertionError(e);
}
* @param xmlInType 入力XML種別
* @return スキーマ
*/
- private static Schema builsSchema(XmlResourceResolver resolver,
- MotionFileType xmlInType ){
- LocalXmlResource[] schemaArray;
+ private static Schema buildSchema(MotionFileType xmlInType ){
+ URI[] schemaUris;
switch(xmlInType){
case XML_110820:
- schemaArray = new LocalXmlResource[]{
- Schema110820.SINGLETON,
+ schemaUris = new URI[]{
+ Schema110820.RES_SCHEMA_VMDXML,
};
break;
case XML_130609:
- schemaArray = new LocalXmlResource[]{
- Schema130609.SINGLETON,
+ schemaUris = new URI[]{
+ Schema130609.RES_SCHEMA_VMDXML,
};
break;
case XML_AUTO:
- schemaArray = new LocalXmlResource[]{
- Schema110820.SINGLETON,
- Schema130609.SINGLETON,
+ schemaUris = new URI[]{
+ Schema110820.RES_SCHEMA_VMDXML,
+ Schema130609.RES_SCHEMA_VMDXML,
};
break;
default:
throw new IllegalStateException();
}
- Schema schema = SchemaUtil.newSchema(resolver, schemaArray);
+ Schema schema;
+ try{
+ schema = SchemaUtil.newSchema(schemaUris);
+ }catch(IOException | SAXException e){
+ assert false;
+ throw new AssertionError(e);
+ }
return schema;
}
* @return XMLリーダ
*/
static XMLReader buildReader(MotionFileType xmlInType){
- XmlResourceResolver resolver = new XmlResourceResolver();
-
- Schema schema = builsSchema(resolver, xmlInType);
+ Schema schema = buildSchema(xmlInType);
SAXParser parser = buildParser(schema);
throw new AssertionError(e);
}
- reader.setEntityResolver(resolver);
+ reader.setEntityResolver(NoopEntityResolver.NOOP_RESOLVER);
reader.setErrorHandler(BotherHandler.HANDLER);
return reader;