part iii - eecs.qmul.ac.uk · extensible stylesheet language: transformations had its origins in...
TRANSCRIPT
![Page 1: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/1.jpg)
Description Processing on the XML level
Part III:
![Page 2: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/2.jpg)
Description Transformations
XSLT
![Page 3: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/3.jpg)
Extensible Stylesheet Language: Transformations
Had its origins in stylesheets, to accompany what was eventually XSL:FOBut fairly early on it was discovered to have a life of its own
Builds heavily on the XPath (and XLink) standards
Introduction to XSLT
![Page 4: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/4.jpg)
Syntax is XMLBuild a series of templates that match elementsThe template that is applied at any one point is the most specificEssentially
a query match (XPath) followed byan action/output
XSLT Basics
![Page 5: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/5.jpg)
XPath walks a tree
A path is much like a directory structure
Nodes are enumerated amongst their siblings
XPath Basics
/yellow[1]
/yellow[1]/yellow[1]/red[2]
/yellow[1]/yellow[1]/red[1]/purple[2]
![Page 6: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/6.jpg)
<?xml version='1.0' encoding='iso-8859-1'?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001" xmlns:xml="http://www.w3.org/XML/1998/namespace" >
<xsl:output method='text' version='1.0' encoding='iso-8859-1' indent='no'/><xsl:strip-space elements="*"/>
<xsl:template match="//mpeg7:AudioSegment"><xsl:text>Audio Segment: </xsl:text><xsl:value-of select="mpeg7:TextAnnotation"/><xsl:text> Start: </xsl:text><xsl:value-of select="mpeg7:MediaTime/mpeg7:MediaTimePoint"/></xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>
Simple query: Grep for XML
![Page 7: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/7.jpg)
<Mpeg7 xmlns="urn:mpeg:mpeg7:schema:2001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mpeg7="urn:mpeg:mpeg7:schema:2001" xsi:schemaLocation="urn:mpeg:mpeg7:schema:2001 .\Mpeg7-2001.xsd">
<Description xsi:type="ContentEntityType"><MultimediaContent xsi:type="AudioType">
<Audio><MediaTime>
<MediaTimePoint>T00:00:00</MediaTimePoint><MediaDuration>PT1M30S</MediaDuration>
</MediaTime><TemporalDecomposition gap="false" overlap="false">
<AudioSegment><TextAnnotation>
<FreeTextAnnotation> Chase </FreeTextAnnotation></TextAnnotation><MediaTime>
<MediaTimePoint>T00:00:00</MediaTimePoint><MediaDuration>PT0M15S</MediaDuration>
</MediaTime></AudioSegment><AudioSegment>
<TextAnnotation><FreeTextAnnotation> Capture </FreeTextAnnotation>
</TextAnnotation><MediaTime>
<MediaTimePoint>T00:00:15</MediaTimePoint><MediaDuration>PT1M15S</MediaDuration>
</MediaTime></AudioSegment>
</TemporalDecomposition></Audio>
</MultimediaContent></Description>
</Mpeg7>
Simple query: Grep for XML
ResultAudio Segment: Chase Start: T00:00:00Audio Segment: Capture Start: T00:00:15
![Page 8: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/8.jpg)
First transform for getting down to the hierarchy to a simple XML tree
Look for inheritance keywords
Each unique element triggers search for children inheriting from that element
Parsing/transforming Schema for visualisation
<xsl:template match="//complexType[@name and not(*/*/@base or */*/*/@base)] | //simpleType[@name
and not(*/@base or */*/@base) or */*/*/@base]">
...</xsl:template>
![Page 9: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/9.jpg)
Transform tree again
result
transform generic tree again into a suitable import format for visualisation
Viewing the result<?xml version="1.0" encoding="UTF-8"?><all_elements> <Mpeg7BaseType abstract="true" inheritance="restriction" type="complexType/complexContent"> <DType abstract="true" inheritance="extension" type="complexType/complexContent"> <AudioDType abstract="true" inheritance="extension" type="complexType/complexContent"> <AudioLLDScalarType abstract="true" inheritance="extension" type="complexType/complexContent"> <AudioWaveformType abstract="" inheritance="extension" type="complexType/complexContent"/> <AudioPowerType abstract="" inheritance="extension" type="complexType/complexContent"/> <AudioSpectrumCentroidType abstract="" inheritance="extension" type="complexType/complexContent"/> <AudioSpectrumSpreadType abstract="" inheritance="extension" type="complexType/complexContent"/> <AudioFundamentalFrequencyType abstract="" inheritance="extension" type="complexType/complexContent"/> <LogAttackTimeType abstract="" inheritance="extension" type="complexType/complexContent"/> <HarmonicSpectralCentroidType abstract="" inheritance="extension" type="complexType/complexContent"/> <HarmonicSpectralDeviationType abstract="" inheritance="extension" type="complexType/complexContent"/> <HarmonicSpectralSpreadType abstract="" inheritance="extension" type="complexType/complexContent"/> <HarmonicSpectralVariationType abstract="" inheritance="extension" type="complexType/complexContent"/> <SpectralCentroidType abstract="" inheritance="extension" type="complexType/complexContent"/> <TemporalCentroidType abstract="" inheritance="extension" type="complexType/complexContent"/> </AudioLLDScalarType> <AudioLLDVectorType abstract="true" inheritance="extension" type="complexType/complexContent"> <AudioSpectrumEnvelopeType abstract="" inheritance="extension" type="complexType/complexContent"/> <AudioSpectrumFlatnessType abstract="" inheritance="extension" type="complexType/complexContent"/> <AudioSpectrumBasisType abstract="" inheritance="extension" type="complexType/complexContent"/> <AudioSpectrumProjectionType abstract="" inheritance="extension" type="complexType/complexContent"/> </AudioLLDVectorType> <AudioHarmonicityType abstract="" inheritance="extension" type="complexType/complexContent"/> <SilenceType abstract="" inheritance="extension" type="complexType/complexContent"/> <SoundModelStateHistogramType abstract="" inheritance="extension" type="complexType/complexContent"/> <MeterType abstract="" inheritance="extension" type="complexType/complexContent"/> </AudioDType> </DType> </Mpeg7BaseType></all_elements>
![Page 10: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/10.jpg)
Audio Hierarchy Visualisation
all_elements
ScalableSeriesType
SeriesOfScalarType
SeriesOfScalarBinaryType
SeriesOfVectorType
SeriesOfVectorBinaryType
anyType
Mpeg7BaseType
DType
AudioDType
AudioLLDScalarType
SpectralCentroidType
TemporalCentroidType
AudioLLDVectorType
AudioSpectrumEnvelopeType
AudioSpectrumFlatnessType
AudioSpectrumBasisType
AudioSpectrumProjectionType
AudioHarmonicityType
SilenceType SoundModelStateHistogramType
MeterType
![Page 11: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/11.jpg)
as a utility for converting general ontologies to MPEG-7 Classification SchemesPruning descriptions
Like making a description less deeply nestedSimple queriesFor transforming the underlying data
Description transformations are useful…
![Page 12: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/12.jpg)
Description Structure • Balance • Symbolic vs Numeric
Best practice with descriptions
![Page 13: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/13.jpg)
Heavily partitionedHierarchical segmentsPotentially along different axes
FlatMore commonly seen with Numeric descriptions
Scalable Series
Many possibilities in Description Structure
![Page 14: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/14.jpg)
What to do with a combination?Remember that Scalable Series (any descriptor) can be attached at any level
not just leaf, so one can attach to a segment that makes for a "sensible" arrayCan use natural boundaries or "clocked" boundaries
A Recommendation
![Page 15: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/15.jpg)
You never know what sort of parsers or assumptions go on at the other endSimpler to parse, simpler to processAs with HTML, you never know when you'll need to hand-edit thingsThe art of description building is the art of communicationIt will eventually come down to industrial conventions
Keep it straightforward for others' use
![Page 16: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/16.jpg)
On the other hand…You can know precisely the parser/processor that you holdNo sense in restricting the content structure when there's a limited lifetime outside your processor
Keep it ideal for your application
![Page 17: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/17.jpg)
give a thought as to whether you need to restrict yourself to MPEG-7 structures at all
But you may regret that if ever you do have to export
In case there's no need for interchange…
![Page 18: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/18.jpg)
The structures within MPEG-7 allow arbitrary precisionHighly nested structuresLinks and descriptors for every eventuality
Balance: Expressivity
![Page 19: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/19.jpg)
Efficient descriptions that do exactly as prescribedWell-suited to a single purpose with few distractionsFulfils clarity recommendations
Balance: Terseness
![Page 20: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/20.jpg)
It again comes down to your description needsConsider partitioning descriptions per use
Main application in one treeSupplemental information in another
Balance in descriptions
![Page 21: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/21.jpg)
Keep in mind: You get out what you put in with symbolic data
Labels, Classification schemesAnything where a search involves an exact match
Involves a lot of inference to get anything more than a precise label
Balancing symbolic with numeric
![Page 22: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/22.jpg)
You give another user the keys to the kingdom with numeric data
(but they have to build the kingdom, first)There is a lot more possible in drawing inferences from numeric data than symbolic
But one has to determine what those inferences are
Michael's work does a lot to build that bridge
Balancing symbolic with numeric (2)
![Page 23: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/23.jpg)
Dynamic/Progressive Descriptions
Systems
![Page 24: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/24.jpg)
It makes descriptions into living documents rather than dead treesStreaming
Progressively building descriptionsReal-time
Dynamically revising descriptions
Why are systems relevant?
![Page 25: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/25.jpg)
add+ location + payload
replace+ location + payload
delete + location
reset
What are the commands?
![Page 26: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/26.jpg)
XML TreeLocate places on tree using simplified XPath
(or XPath+Schema knowledge, in binary case)
A command is given in the form of Command @ location with payload
Basic Memory model
![Page 27: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/27.jpg)
MPEG-7 Systems Architecture
FU decoder
Delivery Layer
Systems Layer
Application
initialisation extractor
DecoderInit
FU DecoderParameters
description composer
Current Description Tree
Description Fragment
FU payload decoder
Context
FU context decoder
ContextUpdate Command
FU command decoder
FU component extractor
FU PayloadFU Context
FU Command
Initial Description
(concatenation of Access Units)Description
Stream
Schema
schema resolver
Schema
SchemaURIs
![Page 28: Part III - eecs.qmul.ac.uk · Extensible Stylesheet Language: Transformations Had its origins in stylesheets, to accompany what was eventually XSL:FO But fairly early on it was discovered](https://reader035.vdocuments.site/reader035/viewer/2022063008/5fbca74d6635ca06724e9014/html5/thumbnails/28.jpg)
The systems commands can also be reinterpreted as stylesheets
two-pass for each update
Generate a stylesheet from the command
Apply the generated stylesheet to the current description tree
Systems interpreted as XSLT
XSLT
XSLT
FUUMasterStylesheet
CDTModificationStylesheet
New CDT
XSLT
XSLT
FUUMasterStylesheet
CDTModificationStylesheet
New CDT