org.apache.cocoon.util.location
Class LocationAttributes

java.lang.Object
  extended byorg.apache.cocoon.util.location.LocationAttributes

public class LocationAttributes
extends Object

A class to handle location information stored in attributes. These attributes are typically setup using LocationAttributes.Pipe which augments the SAX stream with additional attributes, e.g.:

 <root xmlns:loc="http://apache.org/cocoon/location"
       loc:src="file://path/to/file.xml"
       loc:line="1" loc:column="1">
   <foo loc:src="file://path/to/file.xml" loc:line="2" loc:column="3"/>
 </root>
 

Since:
2.1.8
Version:
$Id: LocationAttributes.html 1304280 2012-03-23 11:18:01Z ilgrosso $
See Also:
LocationAttributes.Pipe

Nested Class Summary
static class LocationAttributes.Pipe
          A SAX filter that adds the information available from the Locator as attributes.
 
Field Summary
static String COL_ATTR
          Attribute name for the column number
static String LINE_ATTR
          Attribute name for the line number
static String PREFIX
          Prefix for the location namespace
static String Q_COL_ATTR
          Attribute qualified name for the column number
static String Q_LINE_ATTR
          Attribute qualified name for the line number
static String Q_SRC_ATTR
          Attribute qualified name for the location URI
static String SRC_ATTR
          Attribute name for the location URI
static String URI
          Namespace URI for location attributes
 
Method Summary
static Attributes addLocationAttributes(Locator locator, Attributes attrs)
          Add location attributes to a set of SAX attributes.
static int getColumn(Attributes attrs)
          Returns the column number of an element (SAX flavor)
static int getColumn(Element elem)
          Returns the column number of an element (DOM flavor)
static int getLine(Attributes attrs)
          Returns the line number of an element (SAX flavor)
static int getLine(Element elem)
          Returns the line number of an element (DOM flavor)
static Location getLocation(Attributes attrs, String description)
          Returns the Location of an element (SAX flavor).
static Location getLocation(Element elem)
          Same as getLocation(elem, null).
static Location getLocation(Element elem, String description)
          Returns the Location of an element (DOM flavor).
static String getLocationString(Attributes attrs)
          Returns the location of an element (SAX flavor).
static String getLocationString(Element elem)
          Returns the location of an element that has been processed by this pipe (DOM flavor).
static String getURI(Attributes attrs)
          Returns the URI of an element (SAX flavor)
static String getURI(Element elem)
          Returns the URI of an element (DOM flavor)
static void remove(Element elem, boolean recurse)
          Remove the location attributes from a DOM element.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PREFIX

public static final String PREFIX
Prefix for the location namespace

See Also:
Constant Field Values

URI

public static final String URI
Namespace URI for location attributes

See Also:
Constant Field Values

SRC_ATTR

public static final String SRC_ATTR
Attribute name for the location URI

See Also:
Constant Field Values

LINE_ATTR

public static final String LINE_ATTR
Attribute name for the line number

See Also:
Constant Field Values

COL_ATTR

public static final String COL_ATTR
Attribute name for the column number

See Also:
Constant Field Values

Q_SRC_ATTR

public static final String Q_SRC_ATTR
Attribute qualified name for the location URI

See Also:
Constant Field Values

Q_LINE_ATTR

public static final String Q_LINE_ATTR
Attribute qualified name for the line number

See Also:
Constant Field Values

Q_COL_ATTR

public static final String Q_COL_ATTR
Attribute qualified name for the column number

See Also:
Constant Field Values
Method Detail

addLocationAttributes

public static Attributes addLocationAttributes(Locator locator,
                                               Attributes attrs)
Add location attributes to a set of SAX attributes.

Parameters:
locator - the Locator (can be null)
attrs - the Attributes where locator information should be added

getLocation

public static Location getLocation(Attributes attrs,
                                   String description)
Returns the Location of an element (SAX flavor).

Parameters:
attrs - the element's attributes that hold the location information
description - a description for the location (can be null)
Returns:
a Location object

getLocationString

public static String getLocationString(Attributes attrs)
Returns the location of an element (SAX flavor). If the location is to be kept into an object built from this element, consider using getLocation(Attributes, String) and the Locatable interface.

Parameters:
attrs - the element's attributes that hold the location information
Returns:
a location string as defined by Location#toString().

getURI

public static String getURI(Attributes attrs)
Returns the URI of an element (SAX flavor)

Parameters:
attrs - the element's attributes that hold the location information
Returns:
the element's URI or "[unknown location]" if attrs has no location information.

getLine

public static int getLine(Attributes attrs)
Returns the line number of an element (SAX flavor)

Parameters:
attrs - the element's attributes that hold the location information
Returns:
the element's line number or -1 if attrs has no location information.

getColumn

public static int getColumn(Attributes attrs)
Returns the column number of an element (SAX flavor)

Parameters:
attrs - the element's attributes that hold the location information
Returns:
the element's column number or -1 if attrs has no location information.

getLocation

public static Location getLocation(Element elem,
                                   String description)
Returns the Location of an element (DOM flavor).

Parameters:
elem - the element that holds the location information
description - a description for the location (if null, the element's name is used)
Returns:
a Location object

getLocation

public static Location getLocation(Element elem)
Same as getLocation(elem, null).


getLocationString

public static String getLocationString(Element elem)
Returns the location of an element that has been processed by this pipe (DOM flavor). If the location is to be kept into an object built from this element, consider using getLocation(Element) and the Locatable interface.

Parameters:
elem - the element that holds the location information
Returns:
a location string as defined by Location#toString().

getURI

public static String getURI(Element elem)
Returns the URI of an element (DOM flavor)

Parameters:
elem - the element that holds the location information
Returns:
the element's URI or "[unknown location]" if elem has no location information.

getLine

public static int getLine(Element elem)
Returns the line number of an element (DOM flavor)

Parameters:
elem - the element that holds the location information
Returns:
the element's line number or -1 if elem has no location information.

getColumn

public static int getColumn(Element elem)
Returns the column number of an element (DOM flavor)

Parameters:
elem - the element that holds the location information
Returns:
the element's column number or -1 if elem has no location information.

remove

public static void remove(Element elem,
                          boolean recurse)
Remove the location attributes from a DOM element.

Parameters:
elem - the element to remove the location attributes from.
recurse - if true, also remove location attributes on descendant elements.


Copyright © 1999-2008 The Apache Software Foundation. All Rights Reserved.