gpt4 book ai didi

com.netflix.imfutility.xml.XmlParser类的使用及代码示例

转载 作者:知者 更新时间:2024-03-21 00:57:05 28 4
gpt4 key购买 nike

本文整理了Java中com.netflix.imfutility.xml.XmlParser类的一些代码示例,展示了XmlParser类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XmlParser类的具体详情如下:
包路径:com.netflix.imfutility.xml.XmlParser
类名称:XmlParser

XmlParser介绍

[英]A base .xml parser.

  • Maps XML to a Java model
  • Performs XSD validation and throws XmlParsingException if the xml is not a valid XML according to XSD.
    [中]基地。xml解析器。
    *将XML映射到Java模型
    *根据XSD,如果xml不是有效的xml,则执行XSD验证并抛出XmlParsingException。

代码示例

代码示例来源:origin: DSRCorporation/imf-conversion

/**
 * Validates output ttml and throw exception if not valid.
 *
 * @throws XmlParsingException
 * @throws FileNotFoundException
 */
public void validateOutput() throws XmlParsingException, FileNotFoundException {
  XmlParser.parse(outputFile, new String[]{TTML_SCHEMA}, TTML_PACKAGES, TtEltype.class);
}

代码示例来源:origin: DSRCorporation/imf-conversion

private static boolean testAgainstSchema(File metadataFile, MetadataDescriptor<?> descriptor) {
  try (InputStream stream = new FileInputStream(metadataFile)) {
    Schema schema = XmlParser.getSchema(new String[]{descriptor.getMetadataSchema()});
    schema.newValidator().validate(new StreamSource(stream));
  } catch (SAXException e) {
    //  metadata failed validation against schema
    return false;
  } catch (IOException e) {
    throw new RuntimeException(e);
  }
  return true;
}

代码示例来源:origin: DSRCorporation/imf-conversion

private static void doParse(File xml, XmlParsingHandler parsingHandler) throws XmlParsingException, FileNotFoundException {
  doParse(new FileInputStream(xml), null, parsingHandler);
}

代码示例来源:origin: DSRCorporation/imf-conversion

private static void doParse(InputStream xml, String[] xsds, XmlParsingHandler parsingHandler) throws XmlParsingException {
  try (InputStream xmlFile = new BufferedInputStream(xml)) {
    // 1. get schema
    Schema schema = null;
    if (xsds != null) {
      schema = getSchema(xsds);
    }
    // 2. create a SAX parser a assign the error handler
    XMLReader xr = getXmlReader(schema);
    xr.setErrorHandler(parsingHandler);
    xr.setContentHandler(parsingHandler);
    // 3. parse XML
    xr.parse(new InputSource(xmlFile));
    // 4. if there are errors during parsing - throw an exception
    if (parsingHandler.getParsingErrors().size() > 0) {
      throw new XmlParsingException(parsingHandler.getParsingErrors());
    }
  } catch (SAXException e) {
    if (parsingHandler != null && parsingHandler.getParsingErrors().size() > 0) {
      throw new XmlParsingException(e, parsingHandler.getParsingErrors());
    } else {
      throw new RuntimeException(e);
    }
  } catch (ParserConfigurationException | IOException e) {
    throw new RuntimeException(e);
  }
}

代码示例来源:origin: DSRCorporation/imf-conversion

public static Schema getSchema(String[] xsds) throws SAXException {
  List<StreamSource> xsdSchemas = new ArrayList<>();
  for (String xsd : xsds) {
    InputStream xsdSchema = ResourceHelper.getResourceInputStream(xsd);
    xsdSchemas.add(new StreamSource(xsdSchema));
  }
  SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
  ResourceResolver resolver = new ResourceResolver(getXsdsPaths(xsds));
  sf.setResourceResolver(resolver);
  return sf.newSchema(xsdSchemas.toArray(new StreamSource[]{}));
}

代码示例来源:origin: DSRCorporation/imf-conversion

private ICplContextBuilderStrategy getStrategy(File cplFile) throws FileNotFoundException, XmlParsingException {
  // 1. get the CPL namespace
  String cplNamespaceStr = XmlParser.getNamespace(cplFile);
  CplNamespace cplNamespace = CplNamespace.fromName(cplNamespaceStr);
  if (cplNamespace == null) {
    throw new ConversionException(String.format(
        "CPL '%s' has unsupported namespace '%s'. Currently we support only the following namespaces: %s",
        cplFile.getAbsolutePath(), cplNamespaceStr, CplNamespace.getSupportedNamespaces()));
  }
  // 2. call a CPL parser depending on the namespace.
  switch (cplNamespace) {
    case CPL_2013:
      return new Cpl2013ContextBuilderStrategy(contextProvider, assetMap);
    case CPL_2016:
      return new Cpl2016ContextBuilderStrategy(contextProvider, assetMap);
    default:
      throw new ConversionException(
          String.format(
              "Unsupported IMF namespace '%s'. Currently we support only '%s' and '%s'",
              cplNamespace, CplNamespace.CPL_2013.getName(), CplNamespace.CPL_2016.getName()
          ));
  }
}

代码示例来源:origin: DSRCorporation/imf-conversion

@Override
public void parse(File cplFile) throws XmlParsingException, FileNotFoundException {
  cpl2016 = XmlParser.parse(cplFile,
      new String[]{
          XMLDSIG_CORE_SCHEMA_XSD, DCML_TYPES_XSD, CPL_2016_XSD, CORE_CONSTRAINTS_2016_XSD
      },
      CPL_2016_PACKAGE + ":" + EssenceDescriptorsConstants.ESSENCE_DESCRIPTORS_PACKAGES, CompositionPlaylistType.class);
}

代码示例来源:origin: DSRCorporation/imf-conversion

/**
 * Create marshaller based on schema for iTunes specific metadata format.
 *
 * @param jaxbContext context
 * @param schemaPath  path to schema
 * @return marshaller that supports iTunes schema validation
 * @throws SAXException
 * @throws JAXBException
 */
private static Marshaller createMarshaller(JAXBContext jaxbContext, String schemaPath) throws SAXException, JAXBException {
  Schema schema = XmlParser.getSchema(new String[]{schemaPath});
  Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
  jaxbMarshaller.setSchema(schema);
  jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
  jaxbMarshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
  return jaxbMarshaller;
}

代码示例来源:origin: DSRCorporation/imf-conversion

/**
 * Gets the namespace of the root element.
 *
 * @param xml a full path tp the input XML
 * @return a namespace URI string or null if the XML doesn't contain a namespace.
 * @throws XmlParsingException, FileNotFoundException if input is not a valid XML or it doesn't pass XSD validation
 */
public static String getNamespace(File xml) throws XmlParsingException, FileNotFoundException {
  // 1. create an error and content handler
  XmlParsingNamespaceHandler contentErrorHandler = new XmlParsingNamespaceHandler(xml.getAbsolutePath());
  // 2. do parse
  doParse(xml, contentErrorHandler);
  return contentErrorHandler.getNamespace();
}

代码示例来源:origin: DSRCorporation/imf-conversion

@Override
public void parse(File cplFile) throws XmlParsingException, FileNotFoundException {
  this.cpl2013 = XmlParser.parse(cplFile,
      new String[]{
          XMLDSIG_CORE_SCHEMA_XSD, DCML_TYPES_XSD, CPL_2013_XSD, CORE_CONSTRAINTS_2013_XSD
      },
      CPL_2013_PACKAGE + ":" + EssenceDescriptorsConstants.ESSENCE_DESCRIPTORS_PACKAGES, CompositionPlaylistType.class);
}

代码示例来源:origin: DSRCorporation/imf-conversion

/**
 * Create marshaller based on schema for iTunes specific metadata format.
 *
 * @param jaxbContext context
 * @param schemaPath  path to schema
 * @return marshaller that supports iTunes schema validation
 * @throws SAXException
 * @throws JAXBException
 */
private Marshaller createMarshaller(JAXBContext jaxbContext, String schemaPath) throws SAXException, JAXBException {
  Schema schema = XmlParser.getSchema(new String[]{schemaPath});
  Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
  jaxbMarshaller.setSchema(schema);
  jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
  jaxbMarshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
  return jaxbMarshaller;
}

代码示例来源:origin: DSRCorporation/imf-conversion

doParse(xml, xsds, contentErrorHandler);

代码示例来源:origin: DSRCorporation/imf-conversion

/**
 * Parses the given config.xml file to a Java model. Performs XSD validation.
 *
 * @param configFile an input config.xml content
 * @param xmlPath    a path to the input config.xml
 * @throws XmlParsingException   if the input is not a valid XML or it doesn't pass XSD validation
 */
public ConfigXmlProvider(InputStream configFile, String xmlPath) throws XmlParsingException {
  this.config = XmlParser.parse(configFile, xmlPath, new String[]{CONFIG_XSD}, CONFIG_PACKAGE, ConfigType.class);
}

代码示例来源:origin: DSRCorporation/imf-conversion

public BbcGsiStrategy(String metadataXml) throws XmlParsingException, FileNotFoundException {
  this.metadata = XmlParser.parse(new File(metadataXml),
      new String[]{TYPES_XML_SCHEME, ISO_639_2_CODES_XML_SCHEME, METADATA_XML_SCHEME},
      METADATA_PACKAGE, DppType.class);
}

代码示例来源:origin: DSRCorporation/imf-conversion

private InputChapterList loadChapters(File chaptersFile) throws FileNotFoundException, XmlParsingException {
  if (!chaptersFile.isFile()) {
    throw new FileNotFoundException(String.format(
        "Invalid chapters.xml file: '%s' not found", chaptersFile.getAbsolutePath()));
  }
  return XmlParser.parse(chaptersFile, new String[]{CHAPTERS_XML_SCHEME}, CHAPTERS_PACKAGE, InputChapterList.class);
}

代码示例来源:origin: DSRCorporation/imf-conversion

/**
 * Parses the given XML to a Java model (JAXB unmarshalling).
 * Performs XSD validation.
 *
 * @param xml         a full path to the input XML
 * @param xsds        a full path to all XSDs corresponding to the given XML
 * @param pkg         a package containing the corresponding Java model classes.
 * @param resultClass a corresponding Java model class.
 * @param <T>         a corresponding Java model class.
 * @return a corresponding Java model instance.
 * @throws XmlParsingException, FileNotFoundException if input is not a valid XML or it doesn't pass XSD validation
 */
public static <T> T parse(File xml, String[] xsds, String pkg, Class<T> resultClass) throws XmlParsingException, FileNotFoundException {
  return parse(new FileInputStream(xml), xml.getAbsolutePath(), xsds, pkg, resultClass);
}

代码示例来源:origin: DSRCorporation/imf-conversion

private DppType loadDpp(File metadataFile) throws XmlParsingException, FileNotFoundException {
  if (!metadataFile.isFile()) {
    throw new FileNotFoundException(String.format("Invalid metadata.xml file: '%s' not found", metadataFile.getAbsolutePath()));
  }
  return XmlParser.parse(metadataFile,
      new String[]{TYPES_XML_SCHEME, ISO_639_2_CODES_XML_SCHEME, METADATA_XML_SCHEME},
      METADATA_PACKAGE, DppType.class);
}

代码示例来源:origin: DSRCorporation/imf-conversion

FfprobeType parseOutputFile(File outputFile, ContextInfo contextInfo) throws XmlParsingException, FileNotFoundException {
  if (!outputFile.isFile()) {
    throw new FileNotFoundException(String.format("Invalid media info output file: '%s' not found", outputFile.getAbsolutePath()));
  }
  // do not validate according to XSD as sometimes the output may contain not all required attributes
  return XmlParser.parse(outputFile, null, MEDIAINFO_PACKAGE, FfprobeType.class);
}

代码示例来源:origin: DSRCorporation/imf-conversion

/**
 * Parses the given config.xml file to a Java model. Performs XSD validation.
 *
 * @param configFile a full path to the input config.xml
 * @throws XmlParsingException   if the input is not a valid XML or it doesn't pass XSD validation
 * @throws FileNotFoundException if the input path doesn't define a file.
 */
public ConfigXmlProvider(File configFile) throws XmlParsingException, FileNotFoundException {
  if (!configFile.isFile()) {
    throw new FileNotFoundException(String.format("Invalid config file: '%s' not found", configFile.getAbsolutePath()));
  }
  this.config = XmlParser.parse(configFile, new String[]{CONFIG_XSD}, CONFIG_PACKAGE, ConfigType.class);
}

代码示例来源:origin: DSRCorporation/imf-conversion

/**
 * Loads and validates audiomap.xml.
 *
 * @return AudioMapType with loaded and mapped audiomap.xml
 * @throws XmlParsingException   an exception in case of audiomap.xml parsing error
 * @throws FileNotFoundException if the audioMapXml doesn't define an existing file.
 */
private AudioMapType loadAudioMapXml(File audioMapFile) throws XmlParsingException, FileNotFoundException {
  if (!audioMapFile.isFile()) {
    throw new FileNotFoundException(
        String.format("Invalid audiomap.xml file: '%s' not found", audioMapFile.getAbsolutePath()));
  }
  return XmlParser.parse(audioMapFile, new String[]{AUDIOMAP_XML_SCHEME}, AUDIOMAP_PACKAGE, AudioMapType.class);
}

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com