Package org.verapdf.xmp.impl
Class Utils
- java.lang.Object
-
- org.verapdf.xmp.impl.Utils
-
-
Field Summary
Fields Modifier and Type Field Description static int
UUID_LENGTH
length of a UUIDstatic int
UUID_SEGMENT_COUNT
segments of a UUID-
Fields inherited from interface org.verapdf.xmp.XMPConst
ARRAY_ITEM_NAME, ARRAY_LAST_ITEM, FALSESTR, NS_ADOBESTOCKPHOTO, NS_ASF, NS_BWF, NS_CAMERARAW, NS_CREATOR_ATOM, NS_DC, NS_DC_DEPRECATED, NS_DICOM, NS_DM, NS_EXIF, NS_EXIF_AUX, NS_EXIFX, NS_IPTCCORE, NS_IPTCEXT, NS_IX, NS_JP2K, NS_JPEG, NS_PDF, NS_PDFA_EXTENSION, NS_PDFA_FIELD, NS_PDFA_ID, NS_PDFA_PROPERTY, NS_PDFA_SCHEMA, NS_PDFA_TYPE, NS_PDFUA_ID, NS_PDFX, NS_PDFX_ID, NS_PHOTOSHOP, NS_PLUS, NS_PNG, NS_PSALBUM, NS_RDF, NS_RIFFINFO, NS_SCRIPT, NS_SWF, NS_TIFF, NS_TRANSIENT, NS_TXMP, NS_WAV, NS_X, NS_XML, NS_XMP, NS_XMP_BJ, NS_XMP_MM, NS_XMP_NOTE, NS_XMP_RIGHTS, RDF_TYPE, TAG_XAPMETA, TAG_XMPMETA, TRUESTR, TYPE_DIMENSIONS, TYPE_FONT, TYPE_GRAPHICS, TYPE_IDENTIFIERQUAL, TYPE_IMAGE, TYPE_MANIFESTITEM, TYPE_PAGEDFILE, TYPE_RESOURCEEVENT, TYPE_RESOURCEREF, TYPE_ST_JOB, TYPE_ST_VERSION, TYPE_TEXT, X_DEFAULT, XML_LANG, XMP_PI
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static String
escapeXML(String value, boolean forAttribute, boolean escapeWhitespaces)
Serializes the node value in XML encoding.static boolean
isXMLName(String name)
Simple check for valid XMLNames.static boolean
isXMLNameNS(String name)
Checks if the value is a legal "unqualified" XML name, as defined in the XML Namespaces proposed recommendation.static String
normalizeLangValue(String value)
Normalize an xml:lang value so that comparisons are effectively case insensitive as required by RFC 3066 (which superceeds RFC 1766).
-
-
-
Field Detail
-
UUID_SEGMENT_COUNT
public static final int UUID_SEGMENT_COUNT
segments of a UUID- See Also:
- Constant Field Values
-
UUID_LENGTH
public static final int UUID_LENGTH
length of a UUID- See Also:
- Constant Field Values
-
-
Method Detail
-
normalizeLangValue
public static String normalizeLangValue(String value)
Normalize an xml:lang value so that comparisons are effectively case insensitive as required by RFC 3066 (which superceeds RFC 1766). The normalization rules:- The primary subtag is lower case, the suggested practice of ISO 639.
- All 2 letter secondary subtags are upper case, the suggested practice of ISO 3166.
- All other subtags are lower case.
- Parameters:
value
- raw value- Returns:
- Returns the normalized value.
-
isXMLName
public static boolean isXMLName(String name)
Simple check for valid XMLNames. Within ASCII range
":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6]
are accepted, above all characters (which is not entirely correct according to the XML Spec.- Parameters:
name
- an XML Name- Returns:
- Return
true
if the name is correct.
-
isXMLNameNS
public static boolean isXMLNameNS(String name)
Checks if the value is a legal "unqualified" XML name, as defined in the XML Namespaces proposed recommendation. These are XML names, except that they must not contain a colon.- Parameters:
name
- the value to check- Returns:
- Returns true if the name is a valid "unqualified" XML name.
-
escapeXML
public static String escapeXML(String value, boolean forAttribute, boolean escapeWhitespaces)
Serializes the node value in XML encoding. Its used for tag bodies and attributes.
Note: The attribute is always limited by quotes, thats why'
is never serialized.
Note: Control chars are written unescaped, but if the user uses others than tab, LF and CR the resulting XML will become invalid.- Parameters:
value
- a stringforAttribute
- flag if string is attribute value (need to additional escape quotes)escapeWhitespaces
- Decides if LF, CR and TAB are escaped.- Returns:
- Returns the value ready for XML output.
-
-