本文整理汇总了C#中Saxon.Api.Processor.SetProperty方法的典型用法代码示例。如果您正苦于以下问题:C# Processor.SetProperty方法的具体用法?C# Processor.SetProperty怎么用?C# Processor.SetProperty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Saxon.Api.Processor
的用法示例。
在下文中一共展示了Processor.SetProperty方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Transform
public static void Transform(Uri StyleSheet, String Input,Encoding Encoding,out String Output)
{
Processor processor = new Processor();
XdmNode input = processor.NewDocumentBuilder().Build(new XmlTextReader(new StringReader(Input)));
processor.SetProperty("http://saxon.sf.net/feature/preferJaxpParser", "true");
XsltCompiler compiler = processor.NewXsltCompiler();
XsltExecutable executable = compiler.Compile(StyleSheet);
XsltTransformer transformer = executable.Load();
transformer.InitialContextNode = input;
Serializer serializer = new Serializer();
MemoryStream stream = new MemoryStream();
System.IO.StreamWriter writer = new StreamWriter(stream);
serializer.SetOutputWriter(writer);
transformer.Run(serializer);
Output = Encoding.GetString(stream.ToArray());
writer.Close();
stream.Close();
}
示例2: go
//.........这里部分代码省略.........
if (testSetElement == null) {
feedback.Message("test set doc has no TestSet child: " + testSetDoc.BaseUri, true);
continue;
}
String testSetName = testSetElement.GetAttributeValue(nameAtt);
if (testSetPattern != null && !testSetName.StartsWith(testSetPattern)) {
continue;
}
if (contributor != null && contributor != testSetElement.GetAttributeValue(contributorAtt)) {
continue;
}
bool needs11 = (testSetElement.GetAttributeValue(schemaVersion) == "1.1");
IEnumerator testGroups = testSetElement.EnumerateAxis(XdmAxis.Child, testGroupNT);
while (testGroups.MoveNext()) {
XdmNode testGroup = (XdmNode)testGroups.Current;
String testGroupName = testGroup.GetAttributeValue(nameAtt);
String exception = (String)exceptions[testSetName + "#" + testGroupName];
if (testGroupPattern != null && !testGroupName.StartsWith(testGroupPattern)) {
continue;
}
Console.WriteLine("TEST SET " + testSetName + " GROUP " + testGroupName, false);
if (onwards) {
testGroupPattern = null;
testSetPattern = null;
}
Processor testConfig = new Processor(true);
if (needs11)
{
testConfig.SetProperty("http://saxon.sf.net/feature/xsd-version", "1.1");
}
SchemaManager schemaManager = testConfig.SchemaManager;
//testConfig.setHostLanguage(Configuration.XML_SCHEMA);
testConfig.SetProperty("http://saxon.sf.net/feature/validation-warnings", "true");
IEnumerator schemaTests = testGroup.EnumerateAxis(XdmAxis.Child, schemaTestNT);
bool schemaQueried = false;
String bugzillaRef = null;
while (schemaTests.MoveNext()) {
XdmNode schemaTest = (XdmNode)schemaTests.Current;
if (schemaTest == null) {
break;
}
bugzillaRef = null;
String testName = schemaTest.GetAttributeValue(nameAtt);
if (exception != null) {
results.Write("<testResult set='" + testSetName +
"' group='" + testGroupName +
"' test='" + testName +
"' validity='notKnown' saxon:outcome='notRun' saxon:comment='" + exception +
"'/>\n");
continue;
}
bool queried = false;
XdmNode statusElement = getChildElement(schemaTest, currentNT);
if (statusElement != null) {
String status = statusElement.GetAttributeValue(statusAtt);
queried = ("queried" == status);
bugzillaRef = statusElement.GetAttributeValue(bugzillaAtt);
}
示例3: run
/// <summary>
/// Run an XSLT transformation capturing run-time messages within the application
/// </summary>
public override void run(Uri samplesDir)
{
// Create a Processor instance.
Processor processor = new Processor();
// Ask for the JAXP parser to be used (or not to be used, if false)
processor.SetProperty("http://saxon.sf.net/feature/preferJaxpParser", "false");
// Load the source document
DocumentBuilder builder = processor.NewDocumentBuilder();
builder.IsLineNumbering = true;
XdmNode input = builder.Build(new Uri(samplesDir, "data/othello.xml"));
// Create the XSLT Compiler
XsltCompiler compiler = processor.NewXsltCompiler();
// Define a stylesheet that shows line numbers of source elements
String stylesheet =
"<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='2.0' xmlns:saxon='http://saxon.sf.net/'>\n" +
"<xsl:template match='/'>\n" +
"<out>\n" +
" <xsl:for-each select='//ACT'>\n" +
" <out><xsl:value-of select='saxon:line-number(.)'/></out>\n" +
" </xsl:for-each>\n" +
"</out>\n" +
"</xsl:template>\n" +
"</xsl:stylesheet>";
compiler.BaseUri = new Uri("http://localhost/stylesheet");
XsltExecutable exec = compiler.Compile(new StringReader(stylesheet));
// Create a transformer for the stylesheet.
XsltTransformer transformer = exec.Load();
// Set the root node of the source document to be the initial context node
transformer.InitialContextNode = input;
// Create a serializer
Serializer serializer = new Serializer();
serializer.SetOutputWriter(Console.Out);
// Transform the source XML to System.out.
transformer.Run(serializer);
}
示例4: run
/// <summary>
/// Show validation of an instance document against a schema
/// </summary>
public override void run(Uri samplesDir)
{
// Load a schema
Processor processor;
try
{
processor = new Processor(true);
}
catch (Exception err)
{
Console.WriteLine(err);
Console.WriteLine("Failed to load Saxon-EE (use -HE option to run Saxon-HE tests only)");
return;
}
processor.SetProperty("http://saxon.sf.net/feature/timing", "true");
processor.SetProperty("http://saxon.sf.net/feature/validation-warnings", "true");
SchemaManager manager = processor.SchemaManager;
manager.XsdVersion = "1.1";
manager.ErrorList = new ArrayList();
Uri schemaUri = new Uri(samplesDir, "data/books.xsd");
try
{
manager.Compile(schemaUri);
}
catch (Exception e)
{
Console.WriteLine(e);
Console.WriteLine("Schema compilation failed with " + manager.ErrorList.Count + " errors");
foreach (StaticError error in manager.ErrorList)
{
Console.WriteLine("At line " + error.LineNumber + ": " + error.Message);
}
return;
}
// Use this to validate an instance document
SchemaValidator validator = manager.NewSchemaValidator();
//Uri instanceUri = new Uri(samplesDir, "data/books-invalid.xml");
//validator.SetSource(instanceUri);
XmlReader xmlReader = XmlReader.Create(samplesDir + "data/books-invalid.xml");
validator.SetSource(xmlReader);
validator.ErrorList = new ArrayList();
XdmDestination psvi = new XdmDestination();
validator.SetDestination(psvi);
try
{
validator.Run();
}
catch (Exception e)
{
Console.WriteLine(e);
Console.WriteLine("Instance validation failed with " + validator.ErrorList.Count + " errors");
foreach (StaticError error in validator.ErrorList)
{
Console.WriteLine("At line " + error.LineNumber + ": " + error.Message);
}
return;
}
// Run a query on the result to check that it has type annotations
XQueryCompiler xq = processor.NewXQueryCompiler();
XQueryEvaluator xv = xq.Compile("data((//PRICE)[1]) instance of xs:decimal").Load();
xv.ContextItem = psvi.XdmNode;
Console.WriteLine("Price is decimal? " + xv.EvaluateSingle().ToString());
}