c# httpclient download pdf : Bookmark a pdf file SDK software API wpf winforms html sharepoint cpf2-part1352

MarkLogic Server
Getting Started with a Simple CPF Application
MarkLogic 8—February, 2015
Content Processing Framework Guide—Page 21
Re-insert the document into the Samples database. The pipeline detects that the document is in the 
updated
state and calls the 
add-last-updated.xqy
action to insert a 
last-updated
node as a child 
of the 
book
node. The 
george.xml
document stored in the Samples database will look like the 
following:
<book>
<bookTitle>All About George</bookTitle>
<chapter1>
<chapterTitle>Curious George</chapterTitle>
<para>
George Washington crossed the Delaware to see what was on the 
other side.
</para>
</chapter1>
<last-updated>2009-11-10T13:28:20.144-08:00</last-updated>
</book>
4.7
View the Properties Document
Every document in MarkLogic Server is associated with a properties document. If a document has 
been processed by CPF, its properties document will hold the CPF status information for that 
document. If an error occurred while a document was being processed by CPF, the error 
information will be captured in the properties document.
For example, from Query Console, execute the following query against the 
Samples
database to 
view the properties for the 
george.xml
document:
xquery version "1.0-ml";
xdmp:document-properties("/content/george.xml") 
If there were no CPF errors, the document properties will look like:
<?xml version="1.0" encoding="UTF-8"?>
<prop:properties xmlns:prop="http://marklogic.com/xdmp/property">
<cpf:processing-status 
xmlns:cpf="http://marklogic.com/cpf">done</cpf:processing-status>
<cpf:property-hash 
xmlns:cpf="http://marklogic.com/cpf">d41d8cd98f00b204e9800998ecf8427e<
/cpf:property-hash>
<cpf:last-updated 
xmlns:cpf="http://marklogic.com/cpf">2010-12-07T15:01:44.177-08:00</cp
f:last-updated>
<cpf:state 
xmlns:cpf="http://marklogic.com/cpf">http://marklogic.com/states/done<
/cpf:state>
<prop:last-modified>2010-12-07T15:01:44-08:00</prop:last-modified>
</prop:properties>
Bookmark a pdf file - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
add bookmark pdf file; creating bookmarks in pdf documents
Bookmark a pdf file - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
how to bookmark a pdf document; adding bookmarks to pdf document
MarkLogic Server
Getting Started with a Simple CPF Application
MarkLogic 8—February, 2015
Content Processing Framework Guide—Page 22
4.8
Extend the CPF Application
A CPF pipeline often executes more than one action module to process a document. For example, 
you might want your CPF application to add both the 
copyright
and 
last-updated
nodes to 
documents when they are updated. 
The example pipeline described in this section introduces a new state, 
copyright
, which is set 
after the 
updated
state-transition node successfully executes the 
add-copyright.xqy
module. An 
additional state-transition node detects the 
copyright
state and executes the 
add-last-updated.xqy
module. 
The following figure illustrates the logical flow of the extended CPF application:
Domain
Pipeline
State:
Yes
No
Document
initial?
Root Node
Yes
‘book’?
add-copyright.xqy
No
Yes
No
Root Node
Yes
‘book’?
add-copyright.xqy
State:
updated?
No
Success?
No
done
Yes
error
Success?
No
done
Yes
error
Condition
Action Module
Final State
Yes
No
State:
copyright?
Root Node
Yes
‘book’?
add-last-updated.xqy
No
Success?
No
done
Yes
error
copyright
VB.NET PDF File Split Library: Split, seperate PDF into multiple
application. Divide PDF file into multiple files by outputting PDF file size. Split PDF document by PDF bookmark and outlines in VB.NET.
how to create bookmark in pdf automatically; how to bookmark a pdf page
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Also able to uncompress PDF file in VB.NET programs. Offer flexible and royalty-free developing library license for VB.NET programmers to compress PDF file.
export bookmarks from pdf to excel; copy pdf bookmarks to another pdf
MarkLogic Server
Getting Started with a Simple CPF Application
MarkLogic 8—February, 2015
Content Processing Framework Guide—Page 23
Copy the pipeline code below into a text editor and save as 
ex-copyright.xml
in the 
copyright
directory.
Note:  Changes to the previous pipeline example are highlighted in bold.
<pipeline xmlns="http://marklogic.com/cpf/pipelines">
<pipeline-name>Extended Copyright Pipeline</pipeline-name>
<pipeline-description>Pipeline to test CPF</pipeline-description>
<success-action>
<module>/MarkLogic/cpf/actions/success-action.xqy</module>
</success-action>
<failure-action>
<module>/MarkLogic/cpf/actions/failure-action.xqy</module>
</failure-action>
<state-transition>
<annotation>
When a document containing ‘book’ as a root element is created, 
add a ‘copyright’ statement.
</annotation>
<state>http://marklogic.com/states/initial</state>
<on-success>http://marklogic.com/states/done</on-success>
<on-failure>http://marklogic.com/states/error</on-failure>
<execute>
<condition>
<module>/MarkLogic/cpf/actions/namespace-condition.xqy</module>
<options xmlns="/MarkLogic/cpf/actions/namespace-condition.xqy">
<root-element>book</root-element>
<namespace/>
</options>
</condition>
<action>
<module>add-copyright.xqy</module>
</action>
</execute>
</state-transition>
C# PDF File Split Library: Split, seperate PDF into multiple files
defined pages. Divide PDF file into multiple files by outputting PDF file size. Split PDF document by PDF bookmark and outlines. Also
export pdf bookmarks to text; editing bookmarks in pdf
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
Professional VB.NET PDF file merging SDK support Visual Studio .NET. Merge PDF without size limitation. Append one PDF file to the end of another one in VB.NET.
create bookmarks in pdf; how to add bookmarks to a pdf
MarkLogic Server
Getting Started with a Simple CPF Application
MarkLogic 8—February, 2015
Content Processing Framework Guide—Page 24
<state-transition>
<annotation>
When a document containing ‘book’ as a root element is updated, 
add a ‘copyright’ element. When done, set the state to
‘copyright’.
</annotation>
<state>http://marklogic.com/states/updated</state>
<on-success>http://marklogic.com/states/copyright</on-success>
<on-failure>http://marklogic.com/states/error</on-failure>
<execute>
<condition>
<module>/MarkLogic/cpf/actions/namespace-condition.xqy</module>
<options xmlns="/MarkLogic/cpf/actions/namespace-condition.xqy">
<root-element>book</root-element>
<namespace/>
</options>
</condition>
<action>
<module>add-copyright.xqy</module>
</action>
</execute>
</state-transition>
<state-transition>
<annotation>
When the state is set to ‘copyright’, add a ‘last-updated’
element.
</annotation>
<state>http://marklogic.com/states/copyright</state>
<on-success>http://marklogic.com/states/done</on-success>
<on-failure>http://marklogic.com/states/error</on-failure>
<execute>
<condition>
<module>/MarkLogic/cpf/actions/namespace-condition.xqy</module>
<options xmlns="/MarkLogic/cpf/actions/namespace-condition.xqy">
<root-element>book</root-element>
<namespace/>
</options>
</condition>
<action>
<module>add-last-updated.xqy</module>
</action>
</execute>
</state-transition>
</pipeline>
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Professional C#.NET PDF SDK for merging PDF file merging in Visual Studio .NET. Append one PDF file to the end of another and save to a single PDF file.
bookmark a pdf file; how to add a bookmark in pdf
C# PDF File Compress Library: Compress reduce PDF size in C#.net
Reduce image resources: Since images are usually or large size, images size reducing can help to reduce PDF file size effectively.
convert word to pdf with bookmarks; bookmarks in pdf reader
MarkLogic Server
Getting Started with a Simple CPF Application
MarkLogic 8—February, 2015
Content Processing Framework Guide—Page 25
To see the results of this new pipeline, do the following:
1.
Load the 
ex-copyright.xml
pipeline the same way you loaded the 
copyright.xml
pipeline 
in 
Configure a Database for Content Processing
, Step 
7
.
2.
In the Default Samples domain Pipelines configuration page, un-attach the Copyright 
Pipeline and attach the Extended Copyright Pipeline, as described in 
Configure a Database 
for Content Processing
, Step 
8
.
3.
Insert and update the document as described in 
Insert and Update a Document in the 
Database
and view the results.
C# PDF Library SDK to view, edit, convert, process PDF file for C#
and quick navigation link in PDF bookmark. C#.NET: Edit PDF Metadata. PDF SDK for .NET allows you to read, add, edit, update, and delete PDF file metadata, like
create pdf with bookmarks from word; bookmarks in pdf from word
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
C#.NET PDF file & pages edit, C#.NET PDF pages extract, copy, paste, C#.NET rotate PDF pages, C#.NET search text in PDF, C#.NET edit PDF bookmark, C#.NET edit
add bookmarks to pdf file; add bookmarks to pdf
MarkLogic Server
Understanding and Using Domains
MarkLogic 8—February, 2015
Content Processing Framework Guide—Page 26
5.0   Understanding and Using Domains
30
This chapter describes domains in the MarkLogic Server Content Processing Framework, and 
includes the following sections:
• 
Overview of Domains
• 
Domain Scope and Code Evaluation Context
• 
Rules for Domains
• 
Creating and Modifying Domains
• 
Attaching and Detaching Pipelines to Domains
5.1
Overview of Domains
Applications often perform the same content processing operations on a set of documents. For 
example, you might have a set of XML documents that come from one source, and you need to 
perform the same processing on each of those documents. The MarkLogic Server Content 
Processing Framework uses domains to describe a group of documents to which the same content 
processing operations should be applied. 
You can use domains to partition sets of documents in meaningful ways, and apply the same 
content processing to all documents in a given set of documents. For example, if you have one set 
of documents that comes from Company X in a certain form, and another set of documents that 
comes from Company Y in a different form, you can define a different set of content processing 
for each set of documents. You can then create domains for each set of documents, running the 
appropriate sequence content processing operations on each type of document.
5.2
Domain Scope and Code Evaluation Context
You can view a content processing application as having two parts:
•  Documents (content) processed by the application.
•  Code that makes up the application.
Each domain includes configuration information for documents (answering the question: which 
documents will be processed by this application?) as well as configuration information for code 
(answering the question: where is the code that makes up this application?). This section 
describes both of these configurations associated with a domain and includes the following 
sections:
• 
Domain Scope
• 
Evaluation Context
• 
Domain Scope Can Encapsulate Processing Logic
MarkLogic Server
Understanding and Using Domains
MarkLogic 8—February, 2015
Content Processing Framework Guide—Page 27
5.2.1
Domain Scope
The domain scope specifies the documents to which this domain applies. The domain scope is 
defined in the Domain Configuration page of the Admin Interface. 
In the Admin Interface, the 
document scope
drop-down list specifies whether the domain applies 
to a single document, a directory, or a collection. Each domain can only have one of these 
document scopes; if you need more than one of these document scopes, you can create multiple 
domains. 
The 
uri
field specifies the URI for the document, directory, or collection specified in the 
document 
scope
.
The 
depth
drop-down list applies only if you specify a 
document scope
of 
directory
, and you 
specify either 
0
to indicate only documents in the immediate directory, or 
infinity
to indicate 
documents in any directory that is a descendant of the specified directory URI.
5.2.2
Evaluation Context
When you create a domain, the Content Processing Framework automatically creates a set of 
triggers to listen for events (create, update, delete, property changes, and database online). The 
queries that the triggers execute run in the specified evaluation context. This is important because 
any content processing code that uses this domain also ends up evaluating its modules in this 
context. 
MarkLogic Server
Understanding and Using Domains
MarkLogic 8—February, 2015
Content Processing Framework Guide—Page 28
Because the content processing code executes in the specified context, any module imports in the 
content processing code (for your condition and action modules, for example) are resolved 
relative to the specified database and URI root. 
5.2.3
Domain Scope Can Encapsulate Processing Logic
Because content processing only occurs on documents within the scope of a domain, any content 
processing code can work under the assumption that all documents it sees require processing. This 
fact simplifies the processing code, as it does not need to include complex logic to determine if a 
document needs processing. The fact that a document is in the scope of a particular domain 
provides all the logic needed to determine that it needs processing.
5.3
Rules for Domains
This section describes the following rules for domains:
• 
Do Not Overlap Domains
• 
Collection Domain Scope Notes
5.3.1
Do Not Overlap Domains
If you use multiple domains, ensure that no two domains overlap; that is, a domain should not 
include any documents that are included in another domain. If you have overlapping domains, 
then it is possible for documents to be processed twice, which can cause unexpected results. For 
example, if you have a domain defined with infinite directory scope on the directory 
/myDomain
and if you have another domain with infinite directory scope on the directory 
/myDomain/docs
then any documents under the directory 
/myDomain/docs
apply to both domains, so they would get 
processed twice. If you create an overlapping domain, the Admin Interface issues a warning. 
While it is possible to create them, MarkLogic recommends that you do not use overlapping 
domains.
Note:  If you are using collection scope in your domains, it might not always be obvious 
if your domains overlap. Documents can belong to multiple collections, and you 
can add or remove documents from a collection. Also, a new document can be 
created in a collection based on the default collections of the user who created the 
document. Be careful of unexpected overlapping domains when using collection 
scope domains.
MarkLogic Server
Understanding and Using Domains
MarkLogic 8—February, 2015
Content Processing Framework Guide—Page 29
5.3.2
Collection Domain Scope Notes
If you are using a collection-scope domain to specify which documents to convert, any new 
documents created by the conversion process must also be created as part of the collection 
specified in the domain. If they are not part of the collection, they will not be recognized by the 
domain for further processing. 
The following are some of the ways you can ensure that documents are part of one or more 
collections:
•  Set the 
inherit collections
option at the database level to 
true
and make sure the parent 
directory belongs to the collection.
•  The user who initiates content processing (that is, the user who originally creates the 
documents to be processed, whether by drag and dropping into a WebDAV folder or by 
some other means) can have the collection specified as a default collection (or have the 
default collection attached to a role to which the user is assigned). 
•  You can explicitly set the collection on a document (for example, in your XQuery module 
code or through XDBC).
Collection domain scope is appropriate for some types of applications, particularly when you 
cannot always control the URI of the document.
Note:  Because domains with a collection scope can only continue the next phase of 
processing if the new or modified document is part of that collection, you can use 
collections as a way of moving documents in and out of different sets of 
processing.
5.4
Creating and Modifying Domains
You use the Admin Interface to create and modify domains. Perform the following steps to create 
a domain:
1.
In the Admin Interface menu, click the Databases link and then click the name of the 
database to which you want to add a domain.
2.
Under the database name, click Content Processing.
3.
If content processing is already installed for your database, you will see links in the 
navigation tree for Domains and Pipelines. Click Domains.
If content processing is not installed, install it as described in “Install Content Processing 
Framework in Database” on page 48.
4.
Click the Create tab. The Domain Create page appears.
MarkLogic Server
Understanding and Using Domains
MarkLogic 8—February, 2015
Content Processing Framework Guide—Page 30
5.
Enter a 
domain name
and a 
domain description
.
6.
Specify the 
domain scope
. For details on the domain scope, see “Domain Scope” on 
page 27.
7.
Specify the 
evaluation context
. For details on the evaluation context, see “Evaluation 
Context” on page 27.
8.
Click OK.
The domain is created. To use the domain, you must attach a pipeline.
Similarly, you can use the Admin Interface to select an existing domain and modify its 
configuration information.
5.5
Attaching and Detaching Pipelines to Domains
To execute a pipeline, it must first be attached to a domain. For details about pipelines, see 
“Understanding and Using Pipelines” on page 31.
Perform the following steps to attach or detach pipelines to a domain:
1.
In the Admin Interface, select the domain to which you want to add a pipeline (for 
example, Databases > myDatabase > myDomain).
2.
Under the domain, select Pipelines. The Domain Pipeline screen appears
3.
Check all the pipelines you want to attach to the domain and uncheck all the pipelines you 
want to detach from the domain. For most domains, you should select the 
Status Change 
Handling
pipeline to attach, as well as any other pipelines you are using (including any 
custom pipelines you have created).
4.
If you want to attach multiple pipelines to the domain, click the checkbox for others.
5.
Click OK.
The attached pipelines appear at the top of the Domain Pipeline Configuration list. Note that a 
pipeline can be attached to multiple domains simultaneously.
Documents you may be interested
Documents you may be interested