<https://docs.linkeddatahub.com/user-guide/edit-content/>
        a       <https://w3id.org/atomgraph/linkeddatahub/document-hierarchy#Item>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1>
                <https://docs.linkeddatahub.com/user-guide/edit-content/#content>;
        <http://purl.org/dc/terms/created>
                "2026-09-29T09:52:52.71Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>;
        <http://purl.org/dc/terms/creator>
                <https://admin.linkeddatahub.com/acl/agents/5ba81960-d511-4a3b-8b9a-cb5bb278dd95/#this>;
        <http://purl.org/dc/terms/description>
                "Edit XHTML documents in-place and annotate text with RDFa";
        <http://purl.org/dc/terms/title>
                "Edit content";
        <http://rdfs.org/sioc/ns#has_container>
                <https://docs.linkeddatahub.com/user-guide/>;
        <http://www.w3.org/ns/auth/acl#owner>
                <https://admin.linkeddatahub.com/acl/agents/5ba81960-d511-4a3b-8b9a-cb5bb278dd95/#this> .

<https://docs.linkeddatahub.com/user-guide/edit-content/#content>
        a       <https://w3id.org/atomgraph/linkeddatahub#XHTML>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#value>
                "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n    <p class=\"ldh-body-lg\">Edit XHTML documents in-place and annotate text with RDFa</p>\n    <p>XHTML content blocks in LinkedDataHub are living documents: authenticated users with write access can click directly into the content to edit it, apply rich-text formatting, and annotate any span of text with <a href=\"https://www.w3.org/TR/rdfa-primer/\" target=\"_blank\">RDFa</a>. Words and phrases link to terms in the Knowledge Graph without leaving the page.</p>\n    <p>Annotating the word <samp>Chai</samp> in a Northwind welcome text with the product it names produces markup like:</p>\n    <pre>&lt;p&gt;Our bestselling tea is\n    &lt;span about=\"https://localhost:4443/products/1/#this\" property=\"https://schema.org/name\"&gt;Chai&lt;/span&gt;.&lt;/p&gt;</pre>\n    <p>which, read as RDFa, yields the triple</p>\n    <pre>&lt;https://localhost:4443/products/1/#this&gt; &lt;https://schema.org/name&gt; \"Chai\" .</pre>\n    <p>The prose itself becomes part of the Knowledge Graph.</p>\n    <div>\n        <h2 id=\"entering-edit-mode\">Entering edit mode</h2>\n        <p>Click anywhere inside an <a href=\"../../reference/data-model/blocks/#xhtml-blocks\">XHTML block</a> to enter edit mode. The block gains a focus outline and the editor toolbar appears below the action bar. Clicking outside the block (including the surrounding page margins) returns the block to read mode.</p>\n        <p>Edit mode is only available to authenticated users who have write access to the document. The block remains read-only for all other visitors.</p>\n    </div>\n    <div>\n        <h2 id=\"toolbar\">Editor toolbar</h2>\n        <img alt=\"The rich-text editor toolbar above an active Northwind XHTML block\" src=\"/uploads/b19c09353d050510771af99b6b89311dabdf1cc4\"></img>\n        <p>The toolbar appears at the top of the page when an XHTML block is active. It provides standard rich-text controls grouped by function:</p>\n        <dl>\n            <dt>Block type</dt>\n            <dd>Paragraph, Heading 1–3, Preformatted</dd>\n            <dt>Inline formatting</dt>\n            <dd>Bold, Italic, Link</dd>\n            <dt>Blocks</dt>\n            <dd>Paragraph, Bullet list, Numbered list, Quote</dd>\n            <dt>Inserts</dt>\n            <dd>Figure, Table</dd>\n            <dt>Table operations</dt>\n            <dd>Add/remove row or column (active only when the caret is inside a table cell)</dd>\n            <dt>View</dt>\n            <dd>Table of contents, Subject properties, Find and replace, Source view of the XHTML markup</dd>\n        </dl>\n        <p>Toolbar buttons reflect the current caret position: the block-type selector and toggle buttons (Bold, Italic etc.) update as you move the cursor.</p>\n    </div>\n    <div>\n        <h2 id=\"rdfa-annotations\">RDFa annotations</h2>\n        <img alt=\"The annotation dialog over the selected word &quot;Chai&quot;, Property typeahead open\" src=\"/uploads/e50e7d238aa5441c7a35f7ebf6e0dec431ae80fd\"></img>\n        <p>RDFa annotations embed machine-readable RDF statements directly in the XHTML markup. A single annotation expresses a statement of the form <em>subject — property — object</em>, where subject and object are IRIs or typed literals drawn from your Knowledge Graph.</p>\n        <h3 id=\"adding-an-annotation\">Adding an annotation</h3>\n        <ol>\n            <li>Enter edit mode by clicking inside the XHTML block.</li>\n            <li>Select the text you want to annotate.</li>\n            <li>Right-click the selection to open the annotation dialog.</li>\n            <li>In the annotation dialog, fill out the fields:\n                <table>\n                    <caption class=\"ac-vh\">Annotation dialog fields</caption>\n                    <thead>\n                        <tr>\n                            <th scope=\"col\">Field</th>\n                            <th scope=\"col\">Description</th>\n                        </tr>\n                    </thead>\n                    <tbody>\n                        <tr>\n                            <th scope=\"row\"><samp>Property</samp></th>\n                            <td>Start typing to search ontology terms; select one from the typeahead dropdown</td>\n                        </tr>\n                        <tr>\n                            <th scope=\"row\"><samp>Value</samp></th>\n                            <td>Pre-filled with the selected text; change it to emit a different machine-readable value (e.g. a canonical form)</td>\n                        </tr>\n                    </tbody>\n                </table>\n                <p>Expand <samp>Type, subject &amp; object</samp> for the advanced fields:</p>\n                <table>\n                    <caption class=\"ac-vh\">Advanced annotation fields</caption>\n                    <thead>\n                        <tr>\n                            <th scope=\"col\">Field</th>\n                            <th scope=\"col\">Description</th>\n                        </tr>\n                    </thead>\n                    <tbody>\n                        <tr>\n                            <th scope=\"row\"><samp>Type (typeof)</samp></th>\n                            <td>Assign an <code>rdf:type</code> to the annotated span</td>\n                        </tr>\n                        <tr>\n                            <th scope=\"row\"><samp>Subject (about)</samp></th>\n                            <td>Override the in-scope subject IRI</td>\n                        </tr>\n                        <tr>\n                            <th scope=\"row\"><samp>Object (resource)</samp></th>\n                            <td>Make the object a resource IRI instead of a literal</td>\n                        </tr>\n                        <tr>\n                            <th scope=\"row\"><samp>Datatype</samp></th>\n                            <td>Type the literal (e.g. <code>xsd:date</code>)</td>\n                        </tr>\n                        <tr>\n                            <th scope=\"row\"><samp>Language</samp></th>\n                            <td>Tag the literal with a BCP 47 language code</td>\n                        </tr>\n                    </tbody>\n                </table>\n            </li>\n            <li>Click <span class=\"ac-btn in-primary ap-solid sz-sm\">Annotate</span>. The selected text is wrapped in a <code>span</code> carrying the appropriate RDFa attributes.</li>\n        </ol>\n        <h3 id=\"editing-an-annotation\">Editing an existing annotation</h3>\n        <p>Right-click an already-annotated span to reopen the dialog pre-populated with the current values. Change any field and click <span class=\"ac-btn in-primary ap-solid sz-sm\">Annotate</span> to update, or click <span class=\"ac-btn in-negative ap-solid sz-sm\">Remove</span> to delete the annotation while keeping the text.</p>\n        <h3 id=\"annotation-visibility\">Annotation visibility</h3>\n        <p>While a block is in edit mode, annotated spans are outlined so you can see at a glance which text carries machine-readable meaning.</p>\n    </div>\n    <div>\n        <h2 id=\"saving\">Saving changes</h2>\n        <p>Changes are saved automatically when focus leaves the editor — clicking outside the block or tabbing away serializes the current XHTML content as an <code>XMLLiteral</code> and sends a SPARQL Update <code>PATCH</code> request that replaces the stored value. There is no separate Save button.</p>\n        <p>A save only happens when the content actually changed: leaving the editor without edits restores the block as it was, without rewriting the document or adding a <a href=\"../version-history/\">version</a>.</p>\n        <p>Moving focus to the editor's own controls (the toolbar, the breadcrumb or the find bar) does not trigger a save; only leaving the editor region does.</p>\n    </div>\n    <div>\n        <h2 id=\"tab-groups\">Tab groups</h2>\n        <p>Some pages present alternative paths — such as user interface and command line instructions — as switching tab strips. In edit mode the switching is suspended: every panel is shown stacked and can be edited in place, and the markup is preserved exactly on save. The tab strip itself is editable text, so take care not to alter the tab buttons unintentionally.</p>\n        <p>Creating a new tab group is not yet supported in the editor — that markup is authored over the <a href=\"../../reference/http-api/\">HTTP API</a>, e.g. with <samp>ldh put</samp> from the <a href=\"../../reference/command-line-interface/\">command line interface</a>.</p>\n    </div>\n    <div>\n        <h2 id=\"xhtml-source\">Viewing the XHTML source</h2>\n        <p>Click the <span class=\"ac-btn in-neutral ap-outline sz-sm\">Source</span> button in the toolbar to open a read-only view of the serialized XHTML markup, including all RDFa attributes. This is useful for verifying the exact markup that will be stored or for copying fragments into other documents.</p>\n    </div>\n    <p class=\"ldh-body-lg\">Read more about <a href=\"../../reference/data-model/blocks/\">content blocks</a>, or manage them from the command line as shown in the <a href=\"../create-data/create-content/\">Create content</a> guide.</p>\n</div>"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .
