diff --git a/steps/src/main/xml/steps/cast-content-type.xml b/steps/src/main/xml/steps/cast-content-type.xml index 94f2474..0c17a77 100644 --- a/steps/src/main/xml/steps/cast-content-type.xml +++ b/steps/src/main/xml/steps/cast-content-type.xml @@ -49,17 +49,18 @@ - Casting from an XML media type to a JSON media type converts the - XML into JSON. The precise nature of the conversion from XML to JSON - is implementation-defined. - If the input document is an XML representation of JSON as defined in - , - implementations must produce the same result as - fn:parse-json(fn:xml-to-json()) - by default. If the input document has a c:param-set document element, - an instance of map(xs:QName, xs:string) - must be returned that represents the document's - c:param elements. The serialization property is removed. + Casting from an XML media type to a JSON media type converts + the XML into JSON. If the input document is an XML representation of + JSON as defined in , + implementations must produce the same result as + fn:parse-json(fn:xml-to-json()) by default. If + the input document has a c:param-set document element, an + instance of map(xs:QName, xs:string) + must be returned that represents the document's + c:param elements. It is + implementation-defined if any additional + conversions are supported. The serialization property is + removed. @@ -92,6 +93,67 @@ implementation-defined. + + + Parameter sets + + In XProc 3.1, maps are used for parameters. In XProc 1.0, no maps were + available, so an XML vocabulary was defined. It is sometimes convenient to generate + a map this way, so the vocabulary is retained. + + A c:parameter-set is a wrapper around zero or more c:param + elements. + + + + It is a dynamic error if + the parameter list contains any elements other than c:param. + + Any namespace-qualified attribute names that appear on the + c:param-set element are ignored. It is a + dynamic error for any unqualified + attribute names to appear on a c:param-set element. + + A c:param is a name/value pair with an optional namespace. + + + + The name attribute of the + c:param must have the lexical form of a QName. + + If the namespace attribute is specified, + then the expanded name of the parameter is constructed from the specified + namespace and the name value. It is a + dynamic error if the namespace attribute is + specified, the name contains a colon, and the specified namespace is not + the same as the in-scope namespace binding for the specified prefix. + + If the namespace attribute is not + specified, and the name contains a colon, then + the expanded name of the parameter is constructed using the name value and + the namespace declarations in-scope on the c:param element. + + If the namespace attribute is not + specified, and the name does not contain a + colon, then the expanded name of the parameter is in no namespace. + + If the c:param element has a value + attribute, the element must be empty. If it does not have a + value attribute, the content of the element is + the value. In either case, the type of the value may be specified with a + sequence type in the + as attribute. It is a + dynamic error if the c:param element has a + value attribute and is not empty. + It is a dynamic error if the + c:param specifies a sequence type and the value does not + satisfy that type. + + Any namespace-qualified attribute names that appear on the + c:param element are ignored. It is a + dynamic error for any unqualified attribute names + other than those specified here to appear on a c:param element. +
Casting from an HTML media type