net.sf.saxon.dotnet
public class DotNetPlatform extends java.lang.Object implements Platform
| Modifier and Type | Method and Description |
|---|---|
void |
addFunctionLibraries(FunctionLibraryList list,
Configuration config,
int hostLanguage)
Add the platform-specific function libraries to a function library list.
|
boolean |
canReturnCollationKeys(StringCollator collation)
Given a collation, determine whether it is capable of returning collation keys.
|
RegularExpression |
compileRegularExpression(java.lang.CharSequence regex,
int xmlVersion,
int syntax,
java.lang.CharSequence flags)
Create a compiled regular expression
|
void |
declareJavaClass(FunctionLibrary library,
java.lang.String uri,
java.lang.Class theClass)
Register a namespace-to-Java-class mapping declared using saxon:script in an XSLT stylesheet
|
cli.System.Type |
dynamicLoad(java.lang.String uri,
java.lang.String baseURI,
boolean debug)
Dynamically load a .NET class with a given name, starting with a URI that contains information
about the type and the assembly
|
java.lang.Object |
getCollationKey(NamedCollation namedCollation,
java.lang.String value)
Given a collation, get a collation key.
|
SchemaType |
getExternalObjectType(Configuration config,
java.lang.String uri,
java.lang.String localName)
Get a SchemaType representing a wrapped external (Java or .NET) object
|
static DotNetPlatform |
getInstance()
Get the singular instance of this class
|
javax.xml.transform.Source |
getParserSource(PipelineConfiguration pipe,
javax.xml.transform.stream.StreamSource input,
int validation,
boolean dtdValidation,
int stripspace)
Convert a StreamSource to either a SAXSource or a PullSource, depending on the native
parser of the selected platform
|
java.lang.String |
getPlatformSuffix()
Get a suffix letter to add to the Saxon version number to identify the platform
|
java.lang.String |
getPlatformVersion()
Get the platform version
|
static java.lang.String |
getSaxonSaFullyQualifiedClassName()
Get the fully qualified class name of the Saxon-SA Configuration class
|
void |
initialize(Configuration config)
Perform platform-specific initialization of the configuration
|
boolean |
isDotNet()
Return true if this is the .NET platform
|
boolean |
isJava()
Return true if this is the Java platform
|
java.net.URI |
makeAbsolute(java.lang.String relativeURI,
java.lang.String base)
Construct an absolute URI from a relative URI and a base URI
|
java.net.URI |
makeAbsoluteOLD(java.lang.String relativeURI,
java.lang.String base)
Construct an absolute URI from a relative URI and a base URI
|
StringCollator |
makeCollation(Configuration config,
java.util.Properties props,
java.lang.String uri)
Obtain a collation with a given set of properties.
|
void |
makeExtensionLibrary(Configuration config)
Make the default extension function factory appropriate to the platform
|
public static DotNetPlatform getInstance()
public static java.lang.String getSaxonSaFullyQualifiedClassName()
public void initialize(Configuration config)
initialize in interface Platformconfig - the Saxon Configurationpublic boolean isJava()
public boolean isDotNet()
public java.net.URI makeAbsoluteOLD(java.lang.String relativeURI,
java.lang.String base)
throws java.net.URISyntaxException
relativeURI - the relative URIbase - the base URIjava.net.URISyntaxExceptionpublic java.net.URI makeAbsolute(java.lang.String relativeURI,
java.lang.String base)
throws java.net.URISyntaxException
PlatformmakeAbsolute in interface PlatformrelativeURI - the relative URI. Null is permitted provided that the base URI is an absolute URIbase - the base URIjava.net.URISyntaxExceptionpublic java.lang.String getPlatformVersion()
getPlatformVersion in interface Platformpublic java.lang.String getPlatformSuffix()
getPlatformSuffix in interface Platformpublic javax.xml.transform.Source getParserSource(PipelineConfiguration pipe, javax.xml.transform.stream.StreamSource input, int validation, boolean dtdValidation, int stripspace)
getParserSource in interface Platformpipe - the pipeline configurationinput - the supplied StreamSourcevalidation - indicates whether schema validation is required, adn in what modedtdValidation - true if DTD validation is requiredstripspace - defines the requird whitespace handlingpublic RegularExpression compileRegularExpression(java.lang.CharSequence regex, int xmlVersion, int syntax, java.lang.CharSequence flags) throws XPathException
compileRegularExpression in interface Platformregex - the source text of the regular expression, in XML Schema or XPath syntaxxmlVersion - One of Configuration.XML10 or Configuration.XML11syntax - one of XPath, XMLSchema, or native, indicating the regular expression syntax usedflags - the flags argument as supplied to functions such as fn:matches(), in string form @throws XPathException if the syntax of the regular expression or flags is incorrect @return the compiled regular expressionXPathExceptionpublic StringCollator makeCollation(Configuration config, java.util.Properties props, java.lang.String uri) throws XPathException
makeCollation in interface Platformconfig - the configuration objectprops - the desired properties of the collationuri - the collation URIXPathException - if a fatal error occurspublic boolean canReturnCollationKeys(StringCollator collation)
canReturnCollationKeys in interface Platformcollation - the collation, provided as a Comparatorpublic java.lang.Object getCollationKey(NamedCollation namedCollation, java.lang.String value)
getCollationKey in interface PlatformnamedCollation - the collation in usevalue - the string whose collation key is requiredjava.lang.ClassCastException - if the collation is not one that is capable of supplying
collation keys (this should have been checked in advance)public void makeExtensionLibrary(Configuration config)
makeExtensionLibrary in interface Platformconfig - the Saxon Configurationpublic void addFunctionLibraries(FunctionLibraryList list, Configuration config, int hostLanguage)
Configuration.setExtensionBinder(String, net.sf.saxon.functions.FunctionLibrary)addFunctionLibraries in interface Platformlist - the function library list that is to be extendedconfig - the ConfigurationhostLanguage - the host language (XSLT, XPath, XQuery)public void declareJavaClass(FunctionLibrary library, java.lang.String uri, java.lang.Class theClass)
PlatformdeclareJavaClass in interface Platformlibrary - the library to contain the function, which must be a JavaExtensionLibraryuri - the namespace of the function nametheClass - the Java class that implements this namespacepublic cli.System.Type dynamicLoad(java.lang.String uri,
java.lang.String baseURI,
boolean debug)
throws XPathException
uri - A URI in the form
clitype:Full.Type.Name?param=value;
Query parameters in the URL may be separated by semicolons or ampersands. The recognized parameters are:
baseURI - base URI of the expression containing an extension function call (null if not known). This
is used to resolve any relative URI appearing in the "from" parameter of the query part of the namespace URIdebug - true if diagnostic tracing is enabled @return the cli.System.Type object representing the
dynamically loaded classXPathExceptionpublic SchemaType getExternalObjectType(Configuration config, java.lang.String uri, java.lang.String localName)
PlatformgetExternalObjectType in interface Platformconfig - the Saxon Configurationuri - the namespace URI of the schema typelocalName - the local name of the schema type