Namespace Sdl.FileTypeSupport.Framework.NativeApi
Classes
AbstractNativeExtractionContentProcessor
Abstract base class that can be used to build native content extraction processors.
The default implementation provides a transparent "do nothing" content processor that simply forwards the calls that it receives on its INativeExtractionContentHandler implementation to the output.
Your implementation can simply override the content handler methods for the type of content that it is interested in, and rely on the default implementations for anything else.
AbstractNativeExtractionGenerationContentProcessor
Base class for components that are intended to be used as native content processors, either for extraction or generation. Implements both interfaces, and stores the output variable as an IAbstractNativeContentHandler. The strongly typed handlers can be set and accessed through the ExtractionOutput and GenerationOutput properties, which both reference the same field as the Output property.
AbstractNativeFileParser
Abstract base class that provides boilerplate implementation for native file parsers.
Deriving your file parser from this class will save you some implementation work. Provides a default implementation of the ParseNext() method. You can override the BeforeParsing(), DuringParsing() and AfterParsing() in your parser implementation in order to separate initialization and clean-up code from the core parsing code.
AbstractNativeFileTypeComponent
Convenient base class for implementing file type components.
Holds data members that are supplied by the framework during initialization.
AbstractNativeFileWriter
Abstract base class that can be used to build native file writers.
Deriving your file writer from this class takes care of some of the basics of implementing file writer interfaces.
This class possesses a default implementation of the INativeGenerationContentHandler interface, which does nothing. Simply override the methods that are useful for your implementation to process the relevant content in your derived class.
This class also implements the INativeOutputSettingsAware, and provides access to the output properties through the OutputProperties property.
AbstractNativeGenerationContentProcessor
Abstract base class that can be used to build native content generation processors.
The default implementation provides a transparent "do nothing" content processor that simply forwards the calls that it receives on its INativeGenerationContentHandler implementation to the output.
Your implementation can simply override the content handler methods for the type of content it is interested in, and rely on the default implementations for anything else.
ConflictingIdException
Exception thrown from PublishSharedObject(string, object, IdConflictResolution) if an object with the same id is already part of the collection, and the conflict resolution parameter is set to cause exceptions to be thrown.
LocationMarkerId
Unique identifier for a location in native or bilingual content; used to associated locations with messages in calls to LocationMark(LocationMarkerId) and ReportMessage(object, string, ErrorLevel, string, LocationMarkerId, LocationMarkerId).
NativeTextLocation
Reference to a location inside a plain text file, specified through line and offset numbers.
ProcessSubContentEventArgs
Event args which are used by the ProcessSubContent event
ProgressEventArgs
Progress event for progress indicators.
RevisionTypeNotSupportedException
Exception thrown when the wrong RevisionType is set on RevisionProperties or FeedbackProperties
SharedObjectPublishedEventArgs
Information passed in the SharedObjectPublished event.
SniffInfo
Information returned from Sniff(string, Language, Codepage, INativeTextLocationMessageReporter, ISettingsGroup). This class also allows you to store key/value pairs that the parser may need to read during parsing.
SourceCount
A word or character count value
Structs
FileId
Typesafe wrapper for a file identifier string.
ParagraphUnitId
Type safe wrapper around a unique identifier for paragraph units, used in IParagraphUnitProperties.
RepetitionId
Type safe wrapper around a repetition id unique identifier (GUID).
SegmentId
Type-safe wrapper around a segment identifier
TagId
Type-safe wrapper for a tag identifier string
Interfaces
IAbstractBasicTagProperties
Common interface for properties supported by all tags.
IAbstractInlineTagProperties
Common tag properties specific to inline tags, i.e. tags that can be found inside (translatable) text.
IAbstractNativeContentHandler
This is the core streaming interface that is used for input and output of content to/from native content processor components such as file parsers and file writers for native file formats. It is specialized into INativeExtractionContentHandler and INativeGenerationContentHandler for any specifics to consider during read and write operations.
IAbstractTagProperties
Common information on start tags, placeholder tags and structure tags (but not end tags).
IBasicMessageReporter
Basic mechanism for components to report non-fatal issues to the framework. (Fatal errors should yield exceptions.)
IBasicMessageReporterWithExtendedData
IBasicMessageReporterWithExtendedData interface is almost exactly the same as the IBasicMessageReporter except that the ReportMessage method includes an extended data parameter.
ICacheableSubContentParser
Interface implemented by sub-content parsers that need to reuse the parser instance for performance
ICacheableSubContentWriter
Interface implemented by sub-content writers that need to reuse the writer instance for performance
IComment
All available information on a comment: The comment text, the severity level, the author and time stamp, and for comment threads the comment version.
ICommentProperties
Thread of comments
IContextInfo
One piece of context information, with a type, purpose and description, as stored in Contexts.
IContextProperties
Context information passed through the ChangeContext(IContextProperties) method
ICustomInfoProperties
Data container for all kinds of custom information
IDependencyFileProperties
Information on a dependency file used during file conversion.
IEndTagProperties
Properties for the end tag that matches a corresponding start tag.
IFilePostTweaker
Implemented by components that modify the file that is generated after it has been written by the generator.
IFilePreTweaker
This interface should be implemented by any objects that can be used to modify the contents of a native file before being processed through an extractor or after being written by a generator.
IFileTweaker
Base interface that contains common functions for the file tweakers. Extended by IFilePreTweaker and IFilePostTweaker.
ILockedContentProperties
Information on a locked content, which is protected from modification during localization.
IMetaDataContainer
Common interface implemented by objects that have the capability to hold metadata in the form of string key/value pairs.
INativeContentCycleAware
This interface should be implemented by any native processing components that need to know when the input starts and ends.
The framework will call the methods on this interface before and after parsing the native content.
INativeContentStreamMessageReporter
Message reporting mechanism intended for native content processors. Allows explicit locations to be associated with messages. The corresponding locations should be output on the native content stream through calls to LocationMark(LocationMarkerId).
INativeExtractionContentHandler
Specialization of the IAbstractNativeContentHandler for components used during extraction (parsing).
INativeExtractionContentProcessor
Interface that is implemented by a component that processes native content during extraction (parsing) of native files. The input is received in the form of calls to the INativeExtractionContentHandler interface and the implementation outputs processed information through calls to another instance of the same interface type.
INativeExtractor
Manages the Parser used to process the native file as well as a set of INativeExtractionContentProcessor components that processes the output of the parser.
The result of the processing consists of calls to the Output.
INativeFileParser
This interface is implemented by all native file parsers. The framework uses this interface to operate the parser.
INativeFileSniffer
A file sniffer is a component that gets invoked to determine if a particular file can be processed.
If the file is supported, the file sniffer may also detect the language and the encoding of a given file, in addition to any other information that will be useful to set up the parser to correctly process it.
INativeFileTypeComponent
Native parsers and native content processor components may implement this interface to get initialized by the framework.
INativeFileVerifier
A native file verifier performs the task of checking the target file produced by the a generator for potential issues.
INativeFileWriter
Interface implemented by components that write to native file formats.
INativeGenerationContentHandler
Extension of the IAbstractNativeContentHandler with additional methods used to communicate information that is only available during generation (i.e. when writing native output files from content that originates from the bilingual content model).
INativeGenerationContentProcessor
Implemented by native content processors used during generation (i.e. writing) of native files.
INativeGenerator
Manages the Writer used to create the native file as well as a set of INativeExtractionContentProcessor components that process the input before it is passed to the writer.
The input is received on the Input content handler.
INativeLocationTracker
Provided by the framework to the INativeFileWriter in order to help generate locations for any messages that are reported through the INativeTextLocationMessageReporter interface.
INativeOutputFileProperties
This interface represents the information communicated to the file type components related to the generation of a native content output file.
INativeOutputSettingsAware
This interface needs to be implemented by any components that should be
'aware' of which settings are used when writing native files.
The SetOutputProperties(INativeOutputFileProperties) method will be invoked before the content of each native file is processed.
INativeSubContentExtractor
Manages the Parser used to process the native file as well as a set of INativeExtractionContentProcessor components that processes the output of the parser.
The result of the processing consists of calls to the Output.
INativeSubContentGenerator
Manages the Writer used to create the native file as well as a set of INativeExtractionContentProcessor components that process the input before it is passed to the writer.
The input is received on the Input content handler.
INativeTextLocationMessageReporter
Message reporter specialization that allows line and offset numbers to be associated with messages to relate to locations in plain text files.
IOutputFileInfo
Simple data class designed to hold information on the file to output, which may be required by the host application. This is used by GetProposedOutputFileInfo(IPersistentFileConversionProperties, IOutputFileInfo) to allow file type components to supply alternative information if the component is causing the output file type to differ from the default (e.g. alternative generators for previewing).
IParagraphUnitProperties
Properties of a (structure or localizable) paragraph unit
IParser
Interface implemented by parsers. Abstracting this functionality into a separate interface allows you to drive parsing for native and bilingual content in the same way.
IPersistentFileConversionProperties
File-level properties that are guaranteed to be preserved (if necessary persisted to an intermediate bilingual file format) during different stages of the content processing lifecycle; passed to native content processors, parsers and writers that implement INativeContentCycleAware.
Components can set these properties during parsing, and they will be made available when generating the translated output, or during any other operation used to process content.
Custom properties can be stored as metadata key/value pairs through the IMetaDataContainer implementation. It is recommended that keys are prefixed with a value that is likely to be unique in order to avoid conflicts with unrelated components.
IPlaceholderTagProperties
Information on a standalone inline tag, i.e. a tag that can appear inside translatable content, representing a placeholder that should be treated as part of the text and may need to be moved to a different location in the translation.
IPropertiesFactory
Interface implemented by factories for property objects.
All file type components should use this interface to create properties objects (unless they are created by calling Clone().
ISegmentPairProperties
Common properties for a source and target segment pair
ISharedObjects
Implemented by the framework to provide access to objects that have been published in order to be shared across components used for content processing. Components that are 'interested' in shared objects receive an instance of this interface by implementing ISharedObjectsAware.
ISharedObjectsAware
Implemented by any file type components (native or bilingual) that require access to shared objects used during processing. The framework will call the SetSharedObjects(ISharedObjects) method before the component is used for the first time.
IStartTagProperties
Information on an inline paired start tag.
IStructureInfo
Structural information to help define how a context should act in a structural tree.
IStructureTagProperties
Information on a tag that represents structural content, or a tag that does not appear inside localizable content.
ISubContentAware
Implemented by parent writers which must insert sub-content into their output stream
ISubContentParser
Interface implemented by sub-content parsers
ISubContentPublisher
Interface which should be implemented by parsers which need to publish sub-content
ISubContentWriter
Interface implemented by sub-content writers
ISubSegmentProperties
Sub-segments are, for example, localizable tag attributes. During conversion to bilingual format, every sub-segment will end up in its own paragraph unit.
The properties StartOffset and Length are required in order to put the translations back into the right places.
ISupportsPersistenceId
Provides access to an internal ID that can be used temporarily by implementations e.g. to persist an object graph.
ISupportsUniqueId
Provides access to an ID that can be used by implementations e.g. to keep the item in a separate structure
ITextProperties
Information on a piece of localizable text
ITranslationOrigin
Information on the origin of a translation.
Enums
AbstractNativeFileParser.Stage
Internal state of the parser
ContentRestriction
Enumeration that indicates to file type components whether the source or target should be used in the output.
ContextPurpose
Purpose for a context, originally from the XLIFF specification
DependencyFileLinkOption
Used in the PreferredLinkage property to indicate how a dependency file may be handled when writing to an intermediate bilingual file format (such as SDL XLIFF).
DependencyFileUsage
Values combined as flags for the ExpectedUsage property to indicate expected use cases for a dependency file
DetectionLevel
Indicates the level of confidence with which a property has been determined.
EncodingCategory
Used by the file sniffer (SniffInfo) to indicate a suggested type of encoding for the target language file, without knowing what the target language will be.
ErrorLevel
Severity level for messages
IdConflictResolution
Indicates how conflicting ids should be handled in calls to PublishSharedObject(string, object, IdConflictResolution).
LockTypeFlags
Enumterator that contains the available lock types
SegmentationHint
Used in TagProperties
to indicate how the tag should be handled during segmentation.
Severity
Severity level associated with a comment. A higher severity level can make the comment more prominent in the user interface.
SourceCount.CountUnit
The type of count, i.e. word or character
TextContextMatchLevel
Used with textual context matches to indicate the level of matching.
Delegates
ProgressReporter
Delegate defining the signature for progress reporting events.