jlibs.xml
Class ClarkName

java.lang.Object
  extended by jlibs.xml.ClarkName

public class ClarkName
extends Object

This class contains utilties to work with ClarkName.

ClarkName is string representation of QName and defined by James Clark.

 System.out.println(ClarkName.valueOf("htpp://namespace1", "elem1")); // prints "{http://namespace1}elem1"
 System.out.println(ClarkName.valueOf("", "elem2")); // prints "elem2"
 
The String returned by valueOf(String, String) is compatible with QName.toString().

To get namespace and localPart back from clarkName, use split(String):

 String clarkName = ClarkName.valueOf("htpp://namespace1", "elem1");
 String str[] = ClarkName.split(clarkName);
 System.out.println(str[0]); // prints "http://namespace1"
 System.out.println(str[2]); // prints "elem1"
 
ClarkPath:

Suppose you want to save location of particular element in xpath form.
For example:

 ns1:elem1/ns2:elem2/ns2:elem3
 where
 ns1="http://namespace1"
 ns2="http://namespace2"
 ns3="http://namespace3"
 
You can convert into raw xpath by inlining namespaces into xpath:
 {http://namespace1}elem1/{http://namespace2}elem2/{http://namespace1}elem3
 
This form will be easier to save to some file and restore it back.
ClarkName provides handy method to split such paths.
 String clarkPath = "{http://namespace1}elem1/{http://namespace2}elem2/{http://namespace1}elem3";
 Iterator clarkNames = ClarkName.iterator(clarkPath);
 

Author:
Santhosh Kumar T

Constructor Summary
ClarkName()
           
 
Method Summary
static Iterator<String> iterator(String clarkPath)
          Tokenizes given clarkPath into clarkNames.
static String[] split(String clarkName)
          Splits given clarkName to namespace and localPart
static String valueOf(String namespace, String localPart)
          Returns string representation as defined by James Clark.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClarkName

public ClarkName()
Method Detail

valueOf

public static String valueOf(String namespace,
                             String localPart)
Returns string representation as defined by James Clark.

This is same as String returned by QName.toString().

Parameters:
namespace - namespace, can be null
localPart - localpart
Returns:
clarkName

split

public static String[] split(String clarkName)
Splits given clarkName to namespace and localPart

Parameters:
clarkName - clarkName to be split
Returns:
String array of size 2. First item is namespace and second item is localPart.

iterator

public static Iterator<String> iterator(String clarkPath)
Tokenizes given clarkPath into clarkNames.

clarkPath is a sequence of clarkNames separated by /.
Example:

 {http://namespace1}elem1/{http://namespace2}elem2/{http://namespace1}elem3
 

Parameters:
clarkPath - clarkPath to be tokenized
Returns:
String Iterator containing the clarkNames


Copyright © 2015. All rights reserved.