Added insertion of default data
This commit is contained in:
		
							
								
								
									
										33
									
								
								Frontend/src/assets/sampleXMLForXSD.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								Frontend/src/assets/sampleXMLForXSD.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<library>
 | 
			
		||||
    <libraryName>City library</libraryName>
 | 
			
		||||
    <libraryID>345123</libraryID>
 | 
			
		||||
    <readerList>
 | 
			
		||||
        <person>
 | 
			
		||||
            <readerID>7321</readerID>
 | 
			
		||||
            <name>Adam</name>
 | 
			
		||||
            <surname>Choke</surname>
 | 
			
		||||
        </person>
 | 
			
		||||
        <person>
 | 
			
		||||
            <readerID>5123</readerID>
 | 
			
		||||
            <name>Lauren</name>
 | 
			
		||||
            <surname>Wong</surname>
 | 
			
		||||
        </person>
 | 
			
		||||
    </readerList>
 | 
			
		||||
    <bookList>
 | 
			
		||||
        <book>
 | 
			
		||||
            <bookID>6422</bookID>
 | 
			
		||||
            <title>Harry Potter</title>
 | 
			
		||||
            <readerID>7542</readerID>
 | 
			
		||||
        </book>
 | 
			
		||||
        <book>
 | 
			
		||||
            <bookID>1234</bookID>
 | 
			
		||||
            <title>Macbeth</title>
 | 
			
		||||
            <readerID>5123</readerID>
 | 
			
		||||
        </book>
 | 
			
		||||
        <book>
 | 
			
		||||
            <bookID>9556</bookID>
 | 
			
		||||
            <title>Romeo and Juliet</title>
 | 
			
		||||
        </book>
 | 
			
		||||
    </bookList>
 | 
			
		||||
</library>
 | 
			
		||||
							
								
								
									
										7
									
								
								Frontend/src/assets/sampleXQuery.xquery
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								Frontend/src/assets/sampleXQuery.xquery
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
declare namespace p="http://www.release11.com/person";
 | 
			
		||||
declare namespace b="http://www.release11.com/book";
 | 
			
		||||
declare namespace l="http://www.release11.com/library";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
for $x in //p:person
 | 
			
		||||
return string($x/p:name)
 | 
			
		||||
							
								
								
									
										33
									
								
								Frontend/src/assets/sampleXml.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								Frontend/src/assets/sampleXml.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<l:library xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.release11.com" xmlns:l="http://www.release11.com/library" xmlns:p="http://www.release11.com/person" xmlns:b="http://www.release11.com/book">
 | 
			
		||||
    <l:libraryName>City library</l:libraryName>
 | 
			
		||||
    <l:libraryID>345123</l:libraryID>
 | 
			
		||||
    <l:readerList>
 | 
			
		||||
        <p:person>
 | 
			
		||||
            <p:readerID>7321</p:readerID>
 | 
			
		||||
            <p:name>Adam</p:name>
 | 
			
		||||
            <p:surname>Choke</p:surname>
 | 
			
		||||
        </p:person>
 | 
			
		||||
        <p:person>
 | 
			
		||||
            <p:readerID>5123</p:readerID>
 | 
			
		||||
            <p:name>Lauren</p:name>
 | 
			
		||||
            <p:surname>Wong</p:surname>
 | 
			
		||||
        </p:person>
 | 
			
		||||
    </l:readerList>
 | 
			
		||||
    <l:bookList>
 | 
			
		||||
        <b:book>
 | 
			
		||||
            <b:bookID>6422</b:bookID>
 | 
			
		||||
            <b:title>Harry Potter</b:title>
 | 
			
		||||
            <p:readerID>7542</p:readerID>
 | 
			
		||||
        </b:book>
 | 
			
		||||
        <b:book>
 | 
			
		||||
            <b:bookID>1234</b:bookID>
 | 
			
		||||
            <b:title>Macbeth</b:title>
 | 
			
		||||
            <p:readerID>5123</p:readerID>
 | 
			
		||||
        </b:book>
 | 
			
		||||
        <b:book>
 | 
			
		||||
            <b:bookID>9556</b:bookID>
 | 
			
		||||
            <b:title>Romeo and Juliet</b:title>
 | 
			
		||||
        </b:book>
 | 
			
		||||
    </l:bookList>
 | 
			
		||||
</l:library>
 | 
			
		||||
							
								
								
									
										42
									
								
								Frontend/src/assets/sampleXsd.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								Frontend/src/assets/sampleXsd.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
			
		||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
 | 
			
		||||
  targetNamespace="">
 | 
			
		||||
  <xsd:element name="library">
 | 
			
		||||
    <xsd:complexType mixed="true">
 | 
			
		||||
      <xsd:sequence>
 | 
			
		||||
        <xsd:element minOccurs="0" name="libraryName" type="xsd:string" />
 | 
			
		||||
        <xsd:element minOccurs="0" name="libraryID" type="xsd:int" />
 | 
			
		||||
        <xsd:element minOccurs="0" name="readerList">
 | 
			
		||||
          <xsd:complexType mixed="true">
 | 
			
		||||
            <xsd:sequence>
 | 
			
		||||
              <xsd:element maxOccurs="unbounded" name="person">
 | 
			
		||||
                <xsd:complexType mixed="true">
 | 
			
		||||
                  <xsd:sequence>
 | 
			
		||||
                    <xsd:element minOccurs="0" name="readerID" type="xsd:int" />
 | 
			
		||||
                    <xsd:element minOccurs="0" name="name" type="xsd:normalizedString" />
 | 
			
		||||
                    <xsd:element minOccurs="0" name="surname" type="xsd:normalizedString" />
 | 
			
		||||
                  </xsd:sequence>
 | 
			
		||||
                </xsd:complexType>
 | 
			
		||||
              </xsd:element>
 | 
			
		||||
            </xsd:sequence>
 | 
			
		||||
          </xsd:complexType>
 | 
			
		||||
        </xsd:element>
 | 
			
		||||
        <xsd:element minOccurs="0" name="bookList">
 | 
			
		||||
          <xsd:complexType mixed="true">
 | 
			
		||||
            <xsd:sequence>
 | 
			
		||||
              <xsd:element maxOccurs="unbounded" name="book">
 | 
			
		||||
                <xsd:complexType mixed="true">
 | 
			
		||||
                  <xsd:sequence>
 | 
			
		||||
                    <xsd:element minOccurs="0" name="bookID" type="xsd:int" />
 | 
			
		||||
                    <xsd:element minOccurs="0" name="title" type="xsd:string" />
 | 
			
		||||
                    <xsd:element minOccurs="0" name="readerID" type="xsd:int" />
 | 
			
		||||
                  </xsd:sequence>
 | 
			
		||||
                </xsd:complexType>
 | 
			
		||||
              </xsd:element>
 | 
			
		||||
            </xsd:sequence>
 | 
			
		||||
          </xsd:complexType>
 | 
			
		||||
        </xsd:element>
 | 
			
		||||
      </xsd:sequence>
 | 
			
		||||
    </xsd:complexType>
 | 
			
		||||
  </xsd:element>
 | 
			
		||||
</xsd:schema>
 | 
			
		||||
							
								
								
									
										14
									
								
								Frontend/src/assets/sampleXslt.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								Frontend/src/assets/sampleXslt.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 | 
			
		||||
    xmlns:b="http://www.release11.com/book" xmlns:p="http://www.release11.com/person"
 | 
			
		||||
    xmlns:l="http://www.release11.com/library">
 | 
			
		||||
    <xsl:template match="/">
 | 
			
		||||
        <Library>
 | 
			
		||||
            <ReaderCount>
 | 
			
		||||
                <xsl:value-of select="count(//p:person)" />
 | 
			
		||||
            </ReaderCount>
 | 
			
		||||
            <BookCount>
 | 
			
		||||
                <xsl:value-of select="count(/l:library/l:bookList/b:book)" />
 | 
			
		||||
            </BookCount>
 | 
			
		||||
        </Library>
 | 
			
		||||
    </xsl:template>
 | 
			
		||||
</xsl:stylesheet>
 | 
			
		||||
@@ -21,16 +21,26 @@ function sendTransform() {
 | 
			
		||||
    emit('update:transform', query.value)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function setToDefaultXML(data: string) {
 | 
			
		||||
    xml.value = data;
 | 
			
		||||
    sendXml();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function setToDefaultQuery(data: string) {
 | 
			
		||||
    query.value = data;
 | 
			
		||||
    sendTransform();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
    <div class="flex flex-col w-full lg:w-1/2 h-full items-center gap-4">
 | 
			
		||||
        <div class="flex flex-col w-full h-1/2">
 | 
			
		||||
            <xmlInputFieldToolbarComponent prettyName="XML"></xmlInputFieldToolbarComponent>
 | 
			
		||||
            <xmlInputFieldToolbarComponent prettyName="XML" @update:defaultData="(data) => setToDefaultXML(data)"></xmlInputFieldToolbarComponent>
 | 
			
		||||
            <textarea id="xmlField" v-model="xml" @input="sendXml()" class="w-full h-full resize-none dark:text-slate-100 dark:bg-gray-600 border border-slate-400 p-2 rounded-md"></textarea>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="flex flex-col w-full h-1/2">
 | 
			
		||||
            <xmlInputFieldToolbarComponent :prettyName="$props.prettyName"></xmlInputFieldToolbarComponent>
 | 
			
		||||
            <xmlInputFieldToolbarComponent :prettyName="$props.prettyName" @update:defaultData="(data) => setToDefaultQuery(data)"></xmlInputFieldToolbarComponent>
 | 
			
		||||
            <textarea id="transformField" v-model="query" @input="sendTransform()" class="w-full h-full resize-none dark:text-slate-100 dark:bg-gray-600 border border-slate-400 p-2 rounded-md"></textarea>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,18 +1,49 @@
 | 
			
		||||
<script setup lang="ts">
 | 
			
		||||
 | 
			
		||||
import sampleXML from "@/assets/sampleXml.xml?raw"
 | 
			
		||||
import sampleXSLT from "@/assets/sampleXslt.xml?raw"
 | 
			
		||||
import sampleXSD from "@/assets/sampleXsd.xml?raw"
 | 
			
		||||
import sampleXQuery from "@/assets/sampleXQuery.xquery?raw"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const props = defineProps(
 | 
			
		||||
    {
 | 
			
		||||
        prettyName: {type: String, required: true}
 | 
			
		||||
    }
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const emit = defineEmits(['update:defaultData'])
 | 
			
		||||
 | 
			
		||||
function setDefault() {
 | 
			
		||||
    console.log(props.prettyName.toLowerCase())
 | 
			
		||||
    switch (props.prettyName.toLowerCase()) {
 | 
			
		||||
        case "xpath":
 | 
			
		||||
            emit("update:defaultData", "string(/l:library/l:libraryName)")
 | 
			
		||||
            break;
 | 
			
		||||
        case "xsd":
 | 
			
		||||
            emit("update:defaultData", sampleXSD)
 | 
			
		||||
            break;
 | 
			
		||||
        case "xslt":
 | 
			
		||||
            emit("update:defaultData", sampleXSLT)
 | 
			
		||||
            break;
 | 
			
		||||
        case "xquery":
 | 
			
		||||
            emit("update:defaultData", sampleXQuery)
 | 
			
		||||
            break;
 | 
			
		||||
        
 | 
			
		||||
        default:
 | 
			
		||||
            emit("update:defaultData", sampleXML)
 | 
			
		||||
            break;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
    <div class="flex place-content-between w-full pr-2 items-center m-2">
 | 
			
		||||
        <span class="dark:text-white">{{ prettyName }}</span>
 | 
			
		||||
        <div class="flex space-x-2">
 | 
			
		||||
            <button class="tool-button">Insert default {{ prettyName }}</button>
 | 
			
		||||
            <button class="tool-button" @click="setDefault()">Insert default {{ prettyName }}</button>
 | 
			
		||||
        </div>
 | 
			
		||||
        
 | 
			
		||||
    </div>
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,8 @@ const props = defineProps(
 | 
			
		||||
    }
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const emit = defineEmits(['update:result'])
 | 
			
		||||
 | 
			
		||||
const engine = ref('');
 | 
			
		||||
const version = ref('');
 | 
			
		||||
 | 
			
		||||
@@ -17,7 +19,6 @@ const isSaxonHidden = ref(false);
 | 
			
		||||
const isXalanHidden = ref(false);
 | 
			
		||||
const isLibXMLHidden = ref(false);
 | 
			
		||||
 | 
			
		||||
const emit = defineEmits(['update:result'])
 | 
			
		||||
 | 
			
		||||
function process() {
 | 
			
		||||
    var request:Request = prepareRequest();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user