From: Lady Date: Mon, 1 Jan 2024 16:49:24 +0000 (-0500) Subject: Automatically encapsulate metadata and preserve it X-Git-Tag: 0.2.0~7 X-Git-Url: https://git.ladys.computer/Shushe/commitdiff_plain/0dbf03dfcc1a94ba1a07a0b1d7dd8c0f53824db3 Automatically encapsulate metadata and preserve it During the embedding phase, give top‐level elements and embeds `@itemscope` properties as well as a `@itemtype` which indicates which they are. Don’t remove microdata from the output, and make use of these properties when processing to ensure only document metadata is actually used. --- diff --git a/README.markdown b/README.markdown index 84c3206..2bb1bce 100644 --- a/README.markdown +++ b/README.markdown @@ -228,13 +228,13 @@ For example, the trivial `text/plain` parser is defined as follows :⁠— ```xml - + ``` @@ -287,15 +287,17 @@ Transforms are used to convert X·M·L files into their final output, - **`transforms/metadata.xslt`:** Provides basic `` metadata. - This metadata is generated from `` descendants of the - first element with an `@itemscope` attribute (recommended to just - be the root element). - Such elements can provide metadata using the following `@itemprop` - attributes :⁠— + This metadata is generated from `` elements with one o. + the following `@itemprop` attributes :⁠— - **`urn:fdc:ladys.computer:20231231:Shu1She4:title`:** Provides the title of the page. + ⛩️📰 书社 automatically encapsulates embeds so that their metadata + does not propogate up to the embedding document. + To undo this behaviour, remove the `@itemscope` and `@itemtype` + attributes from the embed during the transformation phase. + The following are recommendations on effective creation of transforms :⁠— @@ -335,17 +337,17 @@ This mechanism can be used to allow transforms to insert content ```xml - <书社:id>example:add-stylesheet-links.xslt - + <书社:id>example:add-stylesheet-links.xslt + ``` diff --git a/lib/catalog2transform.xslt b/lib/catalog2transform.xslt index e7640e8..08918b2 100644 --- a/lib/catalog2transform.xslt +++ b/lib/catalog2transform.xslt @@ -12,6 +12,7 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one xmlns:html="http://www.w3.org/1999/xhtml" xmlns:catalog="urn:oasis:names:tc:entity:xmlns:xml:catalog" xmlns:exsl="http://exslt.org/common" + xmlns:exslstr="http://exslt.org/strings" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xslt="http://www.w3.org/1999/XSL/TransformAlias" xmlns:书社="urn:fdc:ladys.computer:20231231:Shu1She4" @@ -66,11 +67,39 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one - + + + itemscope + + urn:fdc:ladys.computer:20231231:Shu1She4:document + + + + + + + + + - + + + + + + itemscope + + urn:fdc:ladys.computer:20231231:Shu1She4:embed + + + + + + + + @@ -79,7 +108,7 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one - + diff --git a/transforms/metadata.xslt b/transforms/metadata.xslt index 88877a4..b5f180f 100644 --- a/transforms/metadata.xslt +++ b/transforms/metadata.xslt @@ -7,6 +7,10 @@ This Source Code Form is subject to the terms of the Mozilla Public License, v 2.0. If a copy of the M·P·L was not distributed with this file, You can obtain one at . --> + + +]> <书社:id>urn:fdc:ladys.computer:20231231:Shu1She4:metadata.xslt -