def load_cas_from_xmi(source: Union[IO, str], typesystem: TypeSystem = None, lenient: bool = False, trusted: bool = False) -> Cas: """ Loads a CAS from a XMI source. Args: source: The XML source. If `source` is a string, then it is assumed to be an XML string. If `source` is a file-like object, then the data is read from it. typesystem: The type system that belongs to this CAS. If `None`, an empty type system is provided. lenient: If `True`, unknown Types will be ignored. If `False`, unknown Types will cause an exception. The default is `False`. trusted: If `True`, disables checks like XML parser security restrictions. Returns: The deserialized CAS """ if typesystem is None: typesystem = TypeSystem() deserializer = CasXmiDeserializer() if isinstance(source, str): return deserializer.deserialize(BytesIO(source.encode("utf-8")), typesystem=typesystem, lenient=lenient, trusted=trusted) else: return deserializer.deserialize(source, typesystem=typesystem, lenient=lenient, trusted=trusted)
def load_cas_from_xmi( source: Union[IO, str], typesystem: TypeSystem = TypeSystem()) -> Cas: deserializer = CasXmiDeserializer() if isinstance(source, str): return deserializer.deserialize(BytesIO(source.encode('utf-8')), typesystem=typesystem) else: return deserializer.deserialize(source, typesystem=typesystem)
def __init__(self, typesystem: TypeSystem = TypeSystem()): self._typesystem = typesystem # When new attributes are added, they also need to be added in Cas::_copy. The copying # relies on the fact that all the members of the Cas are mutable references. It is not # possible right now to add not-mutable references because the view functionality heavily # relies on this functionality. self._sofas = {} self._views = {} self._xmi_id_generator = IdGenerator() self._sofa_num_generator = IdGenerator() # Every CAS comes with a an initial view called `_InitialView` self._add_view("_InitialView") self._current_view = self._views["_InitialView"] # type: View
def load_cas_from_xmi(source: Union[IO, str], typesystem: TypeSystem = TypeSystem()) -> Cas: """ Loads a CAS from a XMI source. Args: source: The XML source. If `source` is a string, then it is assumed to be an XML string. If `source` is a file-like object, then the data is read from it. typesystem: The type system that belongs to this CAS. If `None`, an empty type system is provided. Returns: The deserialized CAS """ deserializer = CasXmiDeserializer() if isinstance(source, str): return deserializer.deserialize(BytesIO(source.encode("utf-8")), typesystem=typesystem) else: return deserializer.deserialize(source, typesystem=typesystem)
def __init__(self, typesystem: TypeSystem = None): """ Creates a CAS with the specified typesystem. If no typesystem is given, then the default one is used which only contains UIMA-predefined types. Args: typesystem: The types system to use. """ self._typesystem = typesystem if typesystem else TypeSystem() # When new attributes are added, they also need to be added in Cas::_copy. The copying # relies on the fact that all the members of the Cas are mutable references. It is not # possible right now to add not-mutable references because the view functionality heavily # relies on this functionality. self._sofas = {} self._views = {} self._xmi_id_generator = IdGenerator() self._sofa_num_generator = IdGenerator() # Every CAS comes with a an initial view called `_InitialView` self._add_view("_InitialView") self._current_view = self._views["_InitialView"] # type: View