100 likes | 230 Vues
This proposal aims to replace the term "File" with "Content" in the PackageDescriptor schema, addressing potential confusion associated with the term "File" as interpreted in file systems and executable code. By aligning with definitions used in OGF-ACS, this change promotes clearer communication and understanding of the components of the PackageDescriptor. The proposal includes detailed schema revisions that will enhance accuracy and consistency in representing various types of content, improving usability for all stakeholders involved.
E N D
OASIS SDD TC FileContent Proposal Brent Miller, IBM
Problem Statement • “File” and “Files” as used in the PackageDescriptor might cause confusion • Interpreted as “resulting” files in a file system • Interpreted as executable code or program data only (but can be documentation, license agreements, etc.) • Some overlap with proposal for CML models for “files” • OGF-ACS calls these things “content” (and we have aligned our PackageDescriptor with OGF-ACS)
Proposal Overview • Change “File” to “Content” • More accurate description • Should cause less confusion • Nice symmetry with our “Content Elements” • Consistent with OGF-ACS • A simple “global replace” of “File” with “Content” in the schema works very nicely (see next slide)
Proposal Details – Schema (1) Package Descriptor <complexType name="PackageDescriptorType"> <sequence> <element name="PackageIdentity" type="sdd-pd:PackageIdentityType"/> <element name=“Contents" type="sdd-pd:ContentsType"/> <element ref="ds:Signature" minOccurs="0"/> </sequence> <attributeGroup ref="sdd-common:DescriptorInfoGroup"/> </complexType>
Proposal Details – Schema (2) Package Descriptor <complexType name=“ContentsType"> <sequence> <element name=“Content" type="sdd-pd:ContentType" maxOccurs="unbounded"/> </sequence> </complexType> <complexType name=“ContentType"> <sequence> <group ref="sdd-pd:DigestInfoGroup" minOccurs="0"/> </sequence> <attribute name="id" type="ID" use="required"/> <attribute name="pathname" type="anyURI" use="required"/> <attribute name="purpose" type="sdd-pd:ContentPurposeType" default="content" use="optional"/> <attribute name="charEncoding" type="string" use="optional"/> <attribute name="length" type="nonNegativeInteger" use="optional"/> <anyAttribute namespace="##other" processContents="lax"/> </complexType>
Proposal Details – Schema (3) Package Descriptor <simpleType name=“ContentPurposeType"> <union memberTypes="sdd-pd:SDDContentPurposeType NCName"/> </simpleType> <simpleType name="SDDContentPurposeType"> <restriction base="NCName"> <enumeration value="readMe"/> <enumeration value="endUserLicenseAgreement"/> <enumeration value="responseFile"/> <enumeration value="deploymentDescriptor"/> <enumeration value="packageDescriptor"/> <enumeration value="descriptorLanguageBundle"/> <enumeration value="content"/> </restriction> </simpleType> Unchanged
Proposal Details – Schema (4) Deployment Descriptor <complexType name="ArtifactType"> <sequence> <element name="Arguments" type="sdd-dd:ArgumentListType" minOccurs="0"/> <element name="OutputVariables" type="sdd-dd:OutputVariableListType" minOccurs="0"/> <element name="AdditionalContent" type="sdd-dd:AdditionalContentType" minOccurs="0" maxOccurs="unbounded"/> <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name=“contentRef" type="token" use="optional"/> <attribute name="resourceRef" type="IDREF" use="optional"/> <attribute name="type" type="sdd-dd:ArtifactTypeNameType" use="optional"/> <attribute name="weight" type="positiveInteger" use="optional"/> <anyAttribute namespace="##other" processContents="lax"/> </complexType> <complexType name="AdditionalContentType"> <sequence> <element name="Substitution" type="sdd-dd:SubstitutionType" minOccurs="0" maxOccurs="unbounded"/> <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name=“contentRef" type="token" use="required"/> <attribute name="type" type="sdd-dd:ArtifactTypeNameType" use="optional"/> <anyAttribute namespace="##other" processContents="lax"/> </complexType>
Proposal Details – Schema (5) Deployment Descriptor <complexType name="ReferencedPackageType"> <sequence> <element name="RequiredContentSelection" type="sdd-dd:ReferencedPackageRequiredContentSelectionType" minOccurs="0"/> <element name="Arguments" type="sdd-dd:ArgumentListType" minOccurs="0"/> <element name="OutputVariables" type="sdd-dd:ReferencedPackageOutputVariableListType" minOccurs="0"/> <element name="Requirements" type="sdd-dd:ReferencedPackageRequirementsType" minOccurs="0"/> <element name="ResultingResourceMap" type="sdd-dd:ReferencedPackageResultingResourceMapType" minOccurs="0" maxOccurs="unbounded"/> <element name="ResultingChangeMap" type="sdd-dd:ReferencedPackageResultingChangeMapType" minOccurs="0" maxOccurs="unbounded"/> <element name="RequiredResourceMap" type="sdd-dd:ResourceMapType" minOccurs="0" maxOccurs="unbounded"/> <element name="SupportedLanguages" type="sdd-dd:LanguageSetType" minOccurs="0"/> <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name="id" type="ID" use="required"/> <attribute name=“contentRef" type="token" use="required"/> <attribute name="descriptorID" type="sdd-common:UUIDType" use="optional"/> <attribute name="weight" type="positiveInteger" use="optional"/> <anyAttribute namespace="##other" processContents="lax"/> </complexType>
Proposal Details – Schema (6) Deployment Descriptor <complexType name="InternalDependencyType"> <sequence> <group ref="sdd-dd:DescriptionGroup" minOccurs="0"/> </sequence> <attribute name="type" type="sdd-dd:DependencyType" use="optional" default="pre-req"/> <attribute name="contentElementRef" type="IDREF" use="required"/> <attribute name="contentElementRefOperation" type="sdd-dd:OperationApplicabilityType" use="optional"/> <anyAttribute namespace="##other" processContents="lax"/> </complexType> … <complexType name="ContentReferenceType"> <attribute name="contentElementRef" type="IDREF" use="required"/> <attribute name="packageFeatureRef" type="NCName" use="optional"/> <anyAttribute namespace="##other" processContents="lax"/> </complexType> Side effect of changing fileRef contentRef – these already were called contentRef; change to contentElementRef to distinguish
Proposal Details – Specification • Specification updates to match these new property names should be straightforward • If adopted by the TC, this needs to be reviewed with Fukui-san for GGF-ACS