@@ -1735,6 +1735,13 @@ export class ExampleGenerator extends AmfHelperMixin(Object) {
1735
1735
this . ns . w3 . shacl . name
1736
1736
) ) ;
1737
1737
}
1738
+ if ( serialization ) {
1739
+ if ( xmlAttribute ) {
1740
+
1741
+ this . _appendXmlAttribute ( node , range , xmlName , examples [ 0 ] ) ;
1742
+ return ;
1743
+ }
1744
+ }
1738
1745
this . _xmlFromExamples ( doc , node , examples [ 0 ] , name , { xmlPrefix } ) ;
1739
1746
return ;
1740
1747
}
@@ -1818,7 +1825,7 @@ export class ExampleGenerator extends AmfHelperMixin(Object) {
1818
1825
* @param {Object } range AMF range
1819
1826
* @param {String } xmlName Value of 'xmlName' property of AMF's object
1820
1827
*/
1821
- _appendXmlAttribute ( node , range , xmlName ) {
1828
+ _appendXmlAttribute ( node , range , xmlName , example ) {
1822
1829
let name = /** @type {string } */ xmlName ;
1823
1830
if ( ! name ) {
1824
1831
name = /** @type {string } */ ( this . _getValue (
@@ -1832,11 +1839,23 @@ export class ExampleGenerator extends AmfHelperMixin(Object) {
1832
1839
if ( name . indexOf ( '?' ) !== - 1 ) {
1833
1840
name = name . replace ( '?' , '' ) ;
1834
1841
}
1835
- let value = this . _readDataType ( range ) ;
1836
- if ( ! value ) {
1837
- value = '' ;
1842
+ let exampleValue ;
1843
+ if ( example ) {
1844
+ const sKey = this . _getAmfKey (
1845
+ this . ns . aml . vocabularies . document . structuredValue
1846
+ ) ;
1847
+ const structure = example [ sKey ] ;
1848
+ exampleValue = this . _computeStructuredExampleValue ( structure [ 0 ] ) ;
1849
+ }
1850
+ if ( exampleValue ) {
1851
+ node . setAttribute ( name , String ( exampleValue ) ) ;
1852
+ } else {
1853
+ let value = this . _readDataType ( range ) ;
1854
+ if ( ! value ) {
1855
+ value = '' ;
1856
+ }
1857
+ node . setAttribute ( name , value ) ;
1838
1858
}
1839
- node . setAttribute ( name , value ) ;
1840
1859
}
1841
1860
1842
1861
/**
0 commit comments