Class DefaultXMLDialect

java.lang.Object
org.omegat.filters3.xml.DefaultXMLDialect
All Implemented Interfaces:
XMLDialect
Direct Known Subclasses:
AndroidDialect, CamtasiaWindowsDialect, DocBookDialect, FlashDialect, HelpAndManualDialect, InfixDialect, L10nmgrDialect, OpenDocDialect, OpenXMLDialect, PropertiesDialect, RelaxNGDialect, ResXDialect, SchematronDialect, ScribusDialect, SvgDialect, TXMLDialect, Typo3Dialect, VisioDialect, WiXDialect, WordpressDialect, XHTMLDialect, XLIFFDialect, XMLSpreadsheetDialect

public class DefaultXMLDialect extends Object implements XMLDialect
Helper class for describing a certain XML dialect.
  • Constructor Details

    • DefaultXMLDialect

      public DefaultXMLDialect()
  • Method Details

    • defineParagraphTag

      public void defineParagraphTag(String tag)
      Defines paragraph tag. Allows duplicates.
    • defineParagraphTags

      public void defineParagraphTags(String[] tags)
      Defines a set of paragraph tags from an array. Allows duplicates.
    • defineContentBasedTag

      public void defineContentBasedTag(String tag, Tag.Type type)
    • definePreformatTag

      public void definePreformatTag(String tag)
      Defines preformat tag. Allows duplicates.
    • definePreformatTags

      public void definePreformatTags(String[] tags)
      Defines a set of preformat tags from an array. Allows duplicates.
    • defineIntactTag

      public void defineIntactTag(String tag)
      Defines intact tag. Allows duplicates.
    • defineIntactTags

      public void defineIntactTags(String[] tags)
      Defines a set of intact tags from an array. Allows duplicates.
    • defineTranslatableTagAttribute

      public void defineTranslatableTagAttribute(String tag, String attribute)
      Defines translatable attribute of a tag.
    • defineTranslatableTagAttributes

      public void defineTranslatableTagAttributes(String tag, String[] attributes)
      Defines translatable attributes of a tag.
    • defineTranslatableTagsAttribute

      public void defineTranslatableTagsAttribute(String[] tags, String attribute)
      Defines translatable attribute of several tags.
    • defineTranslatableAttribute

      public void defineTranslatableAttribute(String attribute)
      Defines always translatable attribute (no matter what tag it belongs to).
    • defineTranslatableAttributes

      public void defineTranslatableAttributes(String[] attributes)
      Defines always translatable attributes (no matter what tag it belongs to).
    • defineOutOfTurnTag

      public void defineOutOfTurnTag(String tag)
      Defines out of turn tag. Such tag surrounds chunk of text that should be translated separately, not breaking currently collected text.
    • defineOutOfTurnTags

      public void defineOutOfTurnTags(String[] tags)
      Defines out of turn tags. Such tags surround chunks of text that should be translated separately, not breaking currently collected text.
    • defineConstraint

      public void defineConstraint(Integer constraintType, Pattern template)
      Defines a constraint to restrict supported subset of XML files. There can be only one constraint of each type.
      Parameters:
      constraintType - Type of constraint, see CONSTRAINT_... constants.
      template - Regular expression for a specified constrained string.
    • defineShortcut

      public void defineShortcut(String tag, String shortcut)
      Defines a shortcut for a tag, useful for formatting tags. Shortcut is a short form of a tag visible to translator, and stored in OmegaT's flavor of TMX files.
      Parameters:
      tag - Tag name.
      shortcut - The shortcut for a tag.
    • defineShortcuts

      public void defineShortcuts(String[] mappings)
      Defines shortcuts for formatting tags. An alternative to calling defineShortcut(String,String) multiple times.
      Parameters:
      mappings - Array of strings, where even elements (0th, 2nd, etc) are tags, and odd elements are their corresponding shortcuts.
    • getParagraphTags

      public Set<String> getParagraphTags()
      Returns the set of defined paragraph tags.

      Each entry in a set should be a String class.

      Specified by:
      getParagraphTags in interface XMLDialect
    • getContentBasedTags

      public Map<String,Tag.Type> getContentBasedTags()
      Returns the set of content based tags.
      Specified by:
      getContentBasedTags in interface XMLDialect
    • getPreformatTags

      public Set<String> getPreformatTags()
      Returns the set of tags that surround preformatted text.

      Each entry in a set should be a String class.

      Specified by:
      getPreformatTags in interface XMLDialect
    • getIntactTags

      public Set<String> getIntactTags()
      Returns the set of tags that surround intact portions of document, that should not be translated at all.

      Each entry in a set should be a String class.

      Specified by:
      getIntactTags in interface XMLDialect
    • getTranslatableTagAttributes

      public MultiMap<String,String> getTranslatableTagAttributes()
      Returns the multimap of translatable attributes of each tag.

      Each entry should map from a String to a set of Strings.

      Specified by:
      getTranslatableTagAttributes in interface XMLDialect
    • validateTranslatableTagAttribute

      public Boolean validateTranslatableTagAttribute(String tag, String attribute, @Nullable Attributes atts)
      Returns for a given attribute of a given tag if the attribute should be translated with the given other attributes present. If the tagAttribute is returned by getTranslatable(Tag)Attributes(), this function is called to further test the attribute within its context. This allows for example the XHTML filter to not translate the value attribute of an input-element, except when it is a button or submit or reset.
      Specified by:
      validateTranslatableTagAttribute in interface XMLDialect
    • validateIntactTag

      public Boolean validateIntactTag(String tag, @Nullable Attributes atts)
      For a given tag, return whether the content of this tag should be translated, depending on the content of one attribute and the presence or absence of other attributes. For instance, in the ResX filter, tags should not be translated when they contain the attribute "type", or when the attribute "name" starts with "&gt";
      Specified by:
      validateIntactTag in interface XMLDialect
      Parameters:
      tag - The tag that could be translated
      atts - The list of the tag attributes
      Returns:
      true or false
    • validateContentBasedTag

      public Boolean validateContentBasedTag(String tag, @Nullable Attributes atts)
      Description copied from interface: XMLDialect
      For a given tag, return wether the content of this tag should be translated, depending on the content of one attribute and the presence or absence of other attributes.
      Specified by:
      validateContentBasedTag in interface XMLDialect
      Parameters:
      tag - The tag that could be translated
      atts - The list of the tag attributes
      Returns:
      true or false
    • validateTranslatableTag

      public Boolean validateTranslatableTag(String tag, @Nullable Attributes atts)
      For a given tag, return whether the content of this tag should be translated, depending on the content of one attribute and the presence or absence of other attributes. For instance, in the Typo3 filter, tags should be translated when the attribute locazible="1". Contrary to validateIntactTag, this applies only to the current tag, and the tags contained in it are not affected.
      Specified by:
      validateTranslatableTag in interface XMLDialect
      Parameters:
      tag - The tag that could be translated
      atts - The list of the tag attributes
      Returns:
      true or false
    • validateParagraphTag

      public Boolean validateParagraphTag(String tag, @Nullable Attributes atts)
      For a given tag, return whether the content of this tag is a paragraph tag, depending on the content of one attribute (and/or the presence or absence of other attributes). For instance, in the XLIFF filter, the <mark> tag should start a new paragraph when the attribute "mtype" contains "seg".
      Specified by:
      validateParagraphTag in interface XMLDialect
      Parameters:
      tag - The tag that could be a paragraph tag
      atts - The list of the tag attributes
      Returns:
      true or false
    • validatePreformatTag

      public Boolean validatePreformatTag(String tag, @Nullable Attributes atts)
      For a given tag, return whether the content of this tag is a preformat tag, depending on the content of one attribute (and/or the presence or absence of other attributes). For instance, in the XLIFF filter, the <mark> tag should be a preformat tag when the attribute "mtype" contains "seg".
      Specified by:
      validatePreformatTag in interface XMLDialect
      Parameters:
      tag - The tag that could be a preformat tag
      atts - The list of the tag attributes
      Returns:
      true or false
    • getTranslatableAttributes

      public Set<String> getTranslatableAttributes()
      Returns the set of translatable attributes (no matter what tag they belong to).

      Each entry in a set should be a String class.

      Specified by:
      getTranslatableAttributes in interface XMLDialect
    • getOutOfTurnTags

      public Set<String> getOutOfTurnTags()
      Returns the set of "out-of-turn" tags. Such tags specify chunks of text that should be translated separately, not breaking currently collected text entry. For example, footnotes in OpenDocument.

      Each entry in a set should be a String class.

      Specified by:
      getOutOfTurnTags in interface XMLDialect
    • getConstraints

      public Map<Integer,Pattern> getConstraints()
      Returns defined constraints to restrict supported subset of XML files. There can be only one constraint of each type, see CONSTRAINT_... constants.

      Each entry should map an Integer to a Pattern -- regular expression for a specified constrained string.

      Specified by:
      getConstraints in interface XMLDialect
    • resolveEntity

      public @Nullable InputSource resolveEntity(@Nullable String publicId, String systemId)
      Resolves external entites if child filter needs it. Default implementation returns null.
      Specified by:
      resolveEntity in interface XMLDialect
    • getShortcuts

      public Map<String,String> getShortcuts()
      Returns the map of tags to their shortcuts.

      Each entry should map a String to a String -- a tag to its shortcut.

      Specified by:
      getShortcuts in interface XMLDialect
    • setClosingTagRequired

      public void setClosingTagRequired(boolean onOff)
      Sets closingTag to true or false
      Specified by:
      setClosingTagRequired in interface XMLDialect
      Parameters:
      onOff - The parameter setting whether closing tags should be used or not for empty tags.
    • getClosingTagRequired

      public Boolean getClosingTagRequired()
      Gives the value of closingTag
      Specified by:
      getClosingTagRequired in interface XMLDialect
    • setTagsAggregationEnabled

      public void setTagsAggregationEnabled(boolean onOff)
      Description copied from interface: XMLDialect
      Sets tagsAggregationEnabled to true or false
      Specified by:
      setTagsAggregationEnabled in interface XMLDialect
      Parameters:
      onOff - The parameter setting whether tags aggregation can be enabled in order to reduce the number of tags shown to the user.
    • getTagsAggregationEnabled

      public Boolean getTagsAggregationEnabled()
      Description copied from interface: XMLDialect
      Gives the value of tagsAggregationEnabled.
      Specified by:
      getTagsAggregationEnabled in interface XMLDialect
    • getForceSpacePreserving

      public Boolean getForceSpacePreserving()
      Description copied from interface: XMLDialect
      Gives the value of forceSpacePreserving;
      Specified by:
      getForceSpacePreserving in interface XMLDialect
      Returns:
      whether forceSpacePreserving is set.
    • setForceSpacePreserving

      public void setForceSpacePreserving(boolean onOff)
      Description copied from interface: XMLDialect
      Set forceSpacePreserving.
      Specified by:
      setForceSpacePreserving in interface XMLDialect
    • handleXMLTag

      public void handleXMLTag(XMLTag tag, boolean translated)
      Description copied from interface: XMLDialect
      Implement general purpose function to handle XML tag/attributes when necessary.
      Specified by:
      handleXMLTag in interface XMLDialect
      Parameters:
      tag - XML tag to handle.
    • constructShortcuts

      public String constructShortcuts(List<Element> elements, List<ProtectedPart> protectedParts)
      Description copied from interface: XMLDialect
      Returns shortcut string representation of the entry source. This is what the user translates. E.g. for Here's <b>bold text</b> should return Here's <b0>bold text</b0>.
      Specified by:
      constructShortcuts in interface XMLDialect